---
title: "map_hand"
description: "A patient-reported assessment tool for evaluating hand activity performance (MAP-Hand)."
---

A patient-reported assessment tool for evaluating hand activity performance (MAP-Hand).

**Purpose.** To record the results of the MAP-Hand tool.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.map_hand.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. | — |
| `_1_buttoning_buttons`<br />`_1_buttoning_buttons_code`<br />`_1_buttoning_buttons_system`<br />`_1_buttoning_buttons_numeric`<br />`_1_buttoning_buttons_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 1. Buttoning buttons | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]` |
| `_2_putting_on_socks_or_tights`<br />`_2_putting_on_socks_or_tights_code`<br />`_2_putting_on_socks_or_tights_system`<br />`_2_putting_on_socks_or_tights_numeric`<br />`_2_putting_on_socks_or_tights_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 2. Putting on socks or tights | `/data[at0001]/events[at0002]/data[at0003]/items[at0004]` |
| `_3_tying_shoelaces`<br />`_3_tying_shoelaces_code`<br />`_3_tying_shoelaces_system`<br />`_3_tying_shoelaces_numeric`<br />`_3_tying_shoelaces_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 3. Tying shoelaces | `/data[at0001]/events[at0002]/data[at0003]/items[at0014]` |
| `_4_squeezing_out_of_tubes_e_g_toothpaste`<br />`_4_squeezing_out_of_tubes_e_g_toothpaste_code`<br />`_4_squeezing_out_of_tubes_e_g_toothpaste_system`<br />`_4_squeezing_out_of_tubes_e_g_toothpaste_numeric`<br />`_4_squeezing_out_of_tubes_e_g_toothpaste_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 4. Squeezing out of tubes (e.g. toothpaste) | `/data[at0001]/events[at0002]/data[at0003]/items[at0019]` |
| `_5_brushing_teeth`<br />`_5_brushing_teeth_code`<br />`_5_brushing_teeth_system`<br />`_5_brushing_teeth_numeric`<br />`_5_brushing_teeth_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 5. Brushing teeth | `/data[at0001]/events[at0002]/data[at0003]/items[at0024]` |
| `_6_wiping_yourself_after_using_the_toilet`<br />`_6_wiping_yourself_after_using_the_toilet_code`<br />`_6_wiping_yourself_after_using_the_toilet_system`<br />`_6_wiping_yourself_after_using_the_toilet_numeric`<br />`_6_wiping_yourself_after_using_the_toilet_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 6. Wiping yourself after using the toilet | `/data[at0001]/events[at0002]/data[at0003]/items[at0029]` |
| `_7_opening_bottle_screw_tops`<br />`_7_opening_bottle_screw_tops_code`<br />`_7_opening_bottle_screw_tops_system`<br />`_7_opening_bottle_screw_tops_numeric`<br />`_7_opening_bottle_screw_tops_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 7. Opening bottle screw tops | `/data[at0001]/events[at0002]/data[at0003]/items[at0030]` |
| `_8_opening_hermetic_cans`<br />`_8_opening_hermetic_cans_code`<br />`_8_opening_hermetic_cans_system`<br />`_8_opening_hermetic_cans_numeric`<br />`_8_opening_hermetic_cans_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 8. Opening hermetic cans | `/data[at0001]/events[at0002]/data[at0003]/items[at0031]` |
| `_9_opening_jam_jars`<br />`_9_opening_jam_jars_code`<br />`_9_opening_jam_jars_system`<br />`_9_opening_jam_jars_numeric`<br />`_9_opening_jam_jars_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 9. Opening jam jars | `/data[at0001]/events[at0002]/data[at0003]/items[at0032]` |
| `_10_slicing_bread_using_a_knife`<br />`_10_slicing_bread_using_a_knife_code`<br />`_10_slicing_bread_using_a_knife_system`<br />`_10_slicing_bread_using_a_knife_numeric`<br />`_10_slicing_bread_using_a_knife_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 10. Slicing bread using a knife | `/data[at0001]/events[at0002]/data[at0003]/items[at0033]` |
| `_11_peeling_raw_vegetables`<br />`_11_peeling_raw_vegetables_code`<br />`_11_peeling_raw_vegetables_system`<br />`_11_peeling_raw_vegetables_numeric`<br />`_11_peeling_raw_vegetables_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 11. Peeling raw vegetables | `/data[at0001]/events[at0002]/data[at0003]/items[at0034]` |
| `_12_stirring_food_in_a_pan`<br />`_12_stirring_food_in_a_pan_code`<br />`_12_stirring_food_in_a_pan_system`<br />`_12_stirring_food_in_a_pan_numeric`<br />`_12_stirring_food_in_a_pan_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 12. Stirring food in a pan | `/data[at0001]/events[at0002]/data[at0003]/items[at0035]` |
| `_13_wringing_out_cloths`<br />`_13_wringing_out_cloths_code`<br />`_13_wringing_out_cloths_system`<br />`_13_wringing_out_cloths_numeric`<br />`_13_wringing_out_cloths_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 13. Wringing out cloths | `/data[at0001]/events[at0002]/data[at0003]/items[at0036]` |
| `_14_carrying_shopping_bags`<br />`_14_carrying_shopping_bags_code`<br />`_14_carrying_shopping_bags_system`<br />`_14_carrying_shopping_bags_numeric`<br />`_14_carrying_shopping_bags_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 14. Carrying shopping bags | `/data[at0001]/events[at0002]/data[at0003]/items[at0037]` |
| `_15_writing_by_hand`<br />`_15_writing_by_hand_code`<br />`_15_writing_by_hand_system`<br />`_15_writing_by_hand_numeric`<br />`_15_writing_by_hand_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 15. Writing by hand | `/data[at0001]/events[at0002]/data[at0003]/items[at0038]` |
| `_16_typing_on_a_computer`<br />`_16_typing_on_a_computer_code`<br />`_16_typing_on_a_computer_system`<br />`_16_typing_on_a_computer_numeric`<br />`_16_typing_on_a_computer_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 16. Typing on a computer | `/data[at0001]/events[at0002]/data[at0003]/items[at0039]` |
| `_17_pushing_with_hands_when_getting_up_from_a_chair`<br />`_17_pushing_with_hands_when_getting_up_from_a_chair_code`<br />`_17_pushing_with_hands_when_getting_up_from_a_chair_system`<br />`_17_pushing_with_hands_when_getting_up_from_a_chair_numeric`<br />`_17_pushing_with_hands_when_getting_up_from_a_chair_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 17. Pushing with hands when getting up from a chair | `/data[at0001]/events[at0002]/data[at0003]/items[at0040]` |
| `_18_carrying_heavy_objects_like_suitcases_an_18726a`<br />`_18_carrying_heavy_objects_like_suitcases_an_18726a_code`<br />`_18_carrying_heavy_objects_like_suitcases_an_18726a_system`<br />`_18_carrying_heavy_objects_like_suitcases_an_18726a_numeric`<br />`_18_carrying_heavy_objects_like_suitcases_an_18726a_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | 18. Carrying heavy objects like suitcases and bags (over 5 kg/10lbs) | `/data[at0001]/events[at0002]/data[at0003]/items[at0041]` |
| `mean_score_of_predefined_activities_magnitude`<br />`mean_score_of_predefined_activities_units` | quantity<br />`numeric`, `text` | yes | Mean score of predefined activities | `/data[at0001]/events[at0002]/data[at0003]/items[at0179]` |
| `mean_score_of_self_defined_activites_magnitude`<br />`mean_score_of_self_defined_activites_units` | quantity<br />`numeric`, `text` | yes | Mean score of self-defined activites | `/data[at0001]/events[at0002]/data[at0003]/items[at0180]` |

## Constraints

```sql
check ((_1_buttoning_buttons_code is null and _1_buttoning_buttons_system is null and _1_buttoning_buttons_numeric is null and _1_buttoning_buttons is null) or (_1_buttoning_buttons_valueset_id is not null and _1_buttoning_buttons_code is not null and _1_buttoning_buttons_system is not null and _1_buttoning_buttons_numeric is not null and _1_buttoning_buttons is not null))
check ((_2_putting_on_socks_or_tights_code is null and _2_putting_on_socks_or_tights_system is null and _2_putting_on_socks_or_tights_numeric is null and _2_putting_on_socks_or_tights is null) or (_2_putting_on_socks_or_tights_valueset_id is not null and _2_putting_on_socks_or_tights_code is not null and _2_putting_on_socks_or_tights_system is not null and _2_putting_on_socks_or_tights_numeric is not null and _2_putting_on_socks_or_tights is not null))
check ((_3_tying_shoelaces_code is null and _3_tying_shoelaces_system is null and _3_tying_shoelaces_numeric is null and _3_tying_shoelaces is null) or (_3_tying_shoelaces_valueset_id is not null and _3_tying_shoelaces_code is not null and _3_tying_shoelaces_system is not null and _3_tying_shoelaces_numeric is not null and _3_tying_shoelaces is not null))
check ((_4_squeezing_out_of_tubes_e_g_toothpaste_code is null and _4_squeezing_out_of_tubes_e_g_toothpaste_system is null and _4_squeezing_out_of_tubes_e_g_toothpaste_numeric is null and _4_squeezing_out_of_tubes_e_g_toothpaste is null) or (_4_squeezing_out_of_tubes_e_g_toothpaste_valueset_id is not null and _4_squeezing_out_of_tubes_e_g_toothpaste_code is not null and _4_squeezing_out_of_tubes_e_g_toothpaste_system is not null and _4_squeezing_out_of_tubes_e_g_toothpaste_numeric is not null and _4_squeezing_out_of_tubes_e_g_toothpaste is not null))
check ((_5_brushing_teeth_code is null and _5_brushing_teeth_system is null and _5_brushing_teeth_numeric is null and _5_brushing_teeth is null) or (_5_brushing_teeth_valueset_id is not null and _5_brushing_teeth_code is not null and _5_brushing_teeth_system is not null and _5_brushing_teeth_numeric is not null and _5_brushing_teeth is not null))
check ((_6_wiping_yourself_after_using_the_toilet_code is null and _6_wiping_yourself_after_using_the_toilet_system is null and _6_wiping_yourself_after_using_the_toilet_numeric is null and _6_wiping_yourself_after_using_the_toilet is null) or (_6_wiping_yourself_after_using_the_toilet_valueset_id is not null and _6_wiping_yourself_after_using_the_toilet_code is not null and _6_wiping_yourself_after_using_the_toilet_system is not null and _6_wiping_yourself_after_using_the_toilet_numeric is not null and _6_wiping_yourself_after_using_the_toilet is not null))
check ((_7_opening_bottle_screw_tops_code is null and _7_opening_bottle_screw_tops_system is null and _7_opening_bottle_screw_tops_numeric is null and _7_opening_bottle_screw_tops is null) or (_7_opening_bottle_screw_tops_valueset_id is not null and _7_opening_bottle_screw_tops_code is not null and _7_opening_bottle_screw_tops_system is not null and _7_opening_bottle_screw_tops_numeric is not null and _7_opening_bottle_screw_tops is not null))
check ((_8_opening_hermetic_cans_code is null and _8_opening_hermetic_cans_system is null and _8_opening_hermetic_cans_numeric is null and _8_opening_hermetic_cans is null) or (_8_opening_hermetic_cans_valueset_id is not null and _8_opening_hermetic_cans_code is not null and _8_opening_hermetic_cans_system is not null and _8_opening_hermetic_cans_numeric is not null and _8_opening_hermetic_cans is not null))
check ((_9_opening_jam_jars_code is null and _9_opening_jam_jars_system is null and _9_opening_jam_jars_numeric is null and _9_opening_jam_jars is null) or (_9_opening_jam_jars_valueset_id is not null and _9_opening_jam_jars_code is not null and _9_opening_jam_jars_system is not null and _9_opening_jam_jars_numeric is not null and _9_opening_jam_jars is not null))
check ((_10_slicing_bread_using_a_knife_code is null and _10_slicing_bread_using_a_knife_system is null and _10_slicing_bread_using_a_knife_numeric is null and _10_slicing_bread_using_a_knife is null) or (_10_slicing_bread_using_a_knife_valueset_id is not null and _10_slicing_bread_using_a_knife_code is not null and _10_slicing_bread_using_a_knife_system is not null and _10_slicing_bread_using_a_knife_numeric is not null and _10_slicing_bread_using_a_knife is not null))
check ((_11_peeling_raw_vegetables_code is null and _11_peeling_raw_vegetables_system is null and _11_peeling_raw_vegetables_numeric is null and _11_peeling_raw_vegetables is null) or (_11_peeling_raw_vegetables_valueset_id is not null and _11_peeling_raw_vegetables_code is not null and _11_peeling_raw_vegetables_system is not null and _11_peeling_raw_vegetables_numeric is not null and _11_peeling_raw_vegetables is not null))
check ((_12_stirring_food_in_a_pan_code is null and _12_stirring_food_in_a_pan_system is null and _12_stirring_food_in_a_pan_numeric is null and _12_stirring_food_in_a_pan is null) or (_12_stirring_food_in_a_pan_valueset_id is not null and _12_stirring_food_in_a_pan_code is not null and _12_stirring_food_in_a_pan_system is not null and _12_stirring_food_in_a_pan_numeric is not null and _12_stirring_food_in_a_pan is not null))
check ((_13_wringing_out_cloths_code is null and _13_wringing_out_cloths_system is null and _13_wringing_out_cloths_numeric is null and _13_wringing_out_cloths is null) or (_13_wringing_out_cloths_valueset_id is not null and _13_wringing_out_cloths_code is not null and _13_wringing_out_cloths_system is not null and _13_wringing_out_cloths_numeric is not null and _13_wringing_out_cloths is not null))
check ((_14_carrying_shopping_bags_code is null and _14_carrying_shopping_bags_system is null and _14_carrying_shopping_bags_numeric is null and _14_carrying_shopping_bags is null) or (_14_carrying_shopping_bags_valueset_id is not null and _14_carrying_shopping_bags_code is not null and _14_carrying_shopping_bags_system is not null and _14_carrying_shopping_bags_numeric is not null and _14_carrying_shopping_bags is not null))
check ((_15_writing_by_hand_code is null and _15_writing_by_hand_system is null and _15_writing_by_hand_numeric is null and _15_writing_by_hand is null) or (_15_writing_by_hand_valueset_id is not null and _15_writing_by_hand_code is not null and _15_writing_by_hand_system is not null and _15_writing_by_hand_numeric is not null and _15_writing_by_hand is not null))
check ((_16_typing_on_a_computer_code is null and _16_typing_on_a_computer_system is null and _16_typing_on_a_computer_numeric is null and _16_typing_on_a_computer is null) or (_16_typing_on_a_computer_valueset_id is not null and _16_typing_on_a_computer_code is not null and _16_typing_on_a_computer_system is not null and _16_typing_on_a_computer_numeric is not null and _16_typing_on_a_computer is not null))
check ((_17_pushing_with_hands_when_getting_up_from_a_chair_code is null and _17_pushing_with_hands_when_getting_up_from_a_chair_system is null and _17_pushing_with_hands_when_getting_up_from_a_chair_numeric is null and _17_pushing_with_hands_when_getting_up_from_a_chair is null) or (_17_pushing_with_hands_when_getting_up_from_a_chair_valueset_id is not null and _17_pushing_with_hands_when_getting_up_from_a_chair_code is not null and _17_pushing_with_hands_when_getting_up_from_a_chair_system is not null and _17_pushing_with_hands_when_getting_up_from_a_chair_numeric is not null and _17_pushing_with_hands_when_getting_up_from_a_chair is not null))
check ((_18_carrying_heavy_objects_like_suitcases_an_18726a_code is null and _18_carrying_heavy_objects_like_suitcases_an_18726a_system is null and _18_carrying_heavy_objects_like_suitcases_an_18726a_numeric is null and _18_carrying_heavy_objects_like_suitcases_an_18726a is null) or (_18_carrying_heavy_objects_like_suitcases_an_18726a_valueset_id is not null and _18_carrying_heavy_objects_like_suitcases_an_18726a_code is not null and _18_carrying_heavy_objects_like_suitcases_an_18726a_system is not null and _18_carrying_heavy_objects_like_suitcases_an_18726a_numeric is not null and _18_carrying_heavy_objects_like_suitcases_an_18726a is not null))
check ((mean_score_of_predefined_activities_magnitude is null and mean_score_of_predefined_activities_units is null) or (mean_score_of_predefined_activities_magnitude is not null and mean_score_of_predefined_activities_units is not null))
check (mean_score_of_predefined_activities_magnitude is null or (mean_score_of_predefined_activities_units = '1' and mean_score_of_predefined_activities_magnitude between 1 and 4))
check ((mean_score_of_self_defined_activites_magnitude is null and mean_score_of_self_defined_activites_units is null) or (mean_score_of_self_defined_activites_magnitude is not null and mean_score_of_self_defined_activites_units is not null))
check (mean_score_of_self_defined_activites_magnitude is null or (mean_score_of_self_defined_activites_units = '1' and mean_score_of_self_defined_activites_magnitude between 1 and 4))
```

## 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 |
| `_1_buttoning_buttons_valueset_id, _1_buttoning_buttons_code, _1_buttoning_buttons_system, _1_buttoning_buttons, _1_buttoning_buttons_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_2_putting_on_socks_or_tights_valueset_id, _2_putting_on_socks_or_tights_code, _2_putting_on_socks_or_tights_system, _2_putting_on_socks_or_tights, _2_putting_on_socks_or_tights_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_3_tying_shoelaces_valueset_id, _3_tying_shoelaces_code, _3_tying_shoelaces_system, _3_tying_shoelaces, _3_tying_shoelaces_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_4_squeezing_out_of_tubes_e_g_toothpaste_valueset_id, _4_squeezing_out_of_tubes_e_g_toothpaste_code, _4_squeezing_out_of_tubes_e_g_toothpaste_system, _4_squeezing_out_of_tubes_e_g_toothpaste, _4_squeezing_out_of_tubes_e_g_toothpaste_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_5_brushing_teeth_valueset_id, _5_brushing_teeth_code, _5_brushing_teeth_system, _5_brushing_teeth, _5_brushing_teeth_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_6_wiping_yourself_after_using_the_toilet_valueset_id, _6_wiping_yourself_after_using_the_toilet_code, _6_wiping_yourself_after_using_the_toilet_system, _6_wiping_yourself_after_using_the_toilet, _6_wiping_yourself_after_using_the_toilet_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_7_opening_bottle_screw_tops_valueset_id, _7_opening_bottle_screw_tops_code, _7_opening_bottle_screw_tops_system, _7_opening_bottle_screw_tops, _7_opening_bottle_screw_tops_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_8_opening_hermetic_cans_valueset_id, _8_opening_hermetic_cans_code, _8_opening_hermetic_cans_system, _8_opening_hermetic_cans, _8_opening_hermetic_cans_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_9_opening_jam_jars_valueset_id, _9_opening_jam_jars_code, _9_opening_jam_jars_system, _9_opening_jam_jars, _9_opening_jam_jars_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_10_slicing_bread_using_a_knife_valueset_id, _10_slicing_bread_using_a_knife_code, _10_slicing_bread_using_a_knife_system, _10_slicing_bread_using_a_knife, _10_slicing_bread_using_a_knife_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_11_peeling_raw_vegetables_valueset_id, _11_peeling_raw_vegetables_code, _11_peeling_raw_vegetables_system, _11_peeling_raw_vegetables, _11_peeling_raw_vegetables_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_12_stirring_food_in_a_pan_valueset_id, _12_stirring_food_in_a_pan_code, _12_stirring_food_in_a_pan_system, _12_stirring_food_in_a_pan, _12_stirring_food_in_a_pan_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_13_wringing_out_cloths_valueset_id, _13_wringing_out_cloths_code, _13_wringing_out_cloths_system, _13_wringing_out_cloths, _13_wringing_out_cloths_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_14_carrying_shopping_bags_valueset_id, _14_carrying_shopping_bags_code, _14_carrying_shopping_bags_system, _14_carrying_shopping_bags, _14_carrying_shopping_bags_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_15_writing_by_hand_valueset_id, _15_writing_by_hand_code, _15_writing_by_hand_system, _15_writing_by_hand, _15_writing_by_hand_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_16_typing_on_a_computer_valueset_id, _16_typing_on_a_computer_code, _16_typing_on_a_computer_system, _16_typing_on_a_computer, _16_typing_on_a_computer_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_17_pushing_with_hands_when_getting_up_from_a_chair_valueset_id, _17_pushing_with_hands_when_getting_up_from_a_chair_code, _17_pushing_with_hands_when_getting_up_from_a_chair_system, _17_pushing_with_hands_when_getting_up_from_a_chair, _17_pushing_with_hands_when_getting_up_from_a_chair_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `_18_carrying_heavy_objects_like_suitcases_an_18726a_valueset_id, _18_carrying_heavy_objects_like_suitcases_an_18726a_code, _18_carrying_heavy_objects_like_suitcases_an_18726a_system, _18_carrying_heavy_objects_like_suitcases_an_18726a, _18_carrying_heavy_objects_like_suitcases_an_18726a_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Referenced by

- [`map_hand_self_defined_activities`](/docs/tables/map_hand_self_defined_activities) via `map_hand_id`

## Indexes

- `map_hand_form_id_idx` on `form_id`

## Child tables

1 table hang off `map_hand`, one row per repetition.

### `map_hand_self_defined_activities`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `map_hand_id` | `uuid` → [`map_hand`](/docs/tables/map_hand) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `activity` | `text` | yes | Activity | `/data[at0001]/events[at0002]/data[at0003]/items[at0097]/items[at0094]` |
| `grading`<br />`grading_code`<br />`grading_system`<br />`grading_numeric`<br />`grading_valueset_id` | coded text<br />`text`, `text`, `text`, `numeric`, `text` | yes | Grading | `/data[at0001]/events[at0002]/data[at0003]/items[at0097]/items[at0096]` |

#### Constraints

```sql
check ((grading_code is null and grading_system is null and grading_numeric is null and grading is null) or (grading_valueset_id is not null and grading_code is not null and grading_system is not null and grading_numeric is not null and grading is not null))
```

#### Unique

- `map_hand_id, position`

#### References

| Columns | Target | On delete |
|---|---|---|
| `map_hand_id` | [`map_hand`](/docs/tables/map_hand) | cascade |
| `grading_valueset_id, grading_code, grading_system, grading, grading_numeric` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Value sets

| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_10_slicing_bread_using_a_knife` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_11_peeling_raw_vegetables` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_12_stirring_food_in_a_pan` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_13_wringing_out_cloths` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_14_carrying_shopping_bags` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_15_writing_by_hand` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_16_typing_on_a_computer` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_17_pushing_with_hands_when_getting_up_from_a_chair` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_18_carrying_heavy_objects_like_suitcases_and_bags_over_5_kg_10lbs` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_1_buttoning_buttons` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_2_putting_on_socks_or_tights` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_3_tying_shoelaces` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_4_squeezing_out_of_tubes_e_g_toothpaste` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_5_brushing_teeth` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_6_wiping_yourself_after_using_the_toilet` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_7_opening_bottle_screw_tops` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_8_opening_hermetic_cans` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/_9_opening_jam_jars` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.map_hand.v1/grading` | 4 |

