---
title: "nine_hole_peg_test"
description: "The Nine Hole Peg Test is a quantitative measure of upper extremity function, and used for rapid assessment of finger dexterity of a subject."
---

The Nine Hole Peg Test is a quantitative measure of upper extremity function, and used for rapid assessment of finger dexterity of a subject. It is the second component of the Multiple Sclerosis Functional Composite (MSFC), a series of three tests to document the course of Multiple Sclerosis. It is also known as NHTP, as 9-Hole Peg Test, or 9-HPT.

**Purpose.** To record the measurements recorded during a Nine Hole Peg Test, normally as part of the Multiple Sclerosis Functional Composite suite of tests.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.nine_hole_peg_test.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. | — |
| `event_type` | `text` | yes | null represents any_event | — |
| `interim_time` | `interval` | yes | Interim Time | `/data[at0001]/events[at0074]/data[at0003]/items[at0035]` |
| `total_time` | `interval` | yes | Total Time | `/data[at0001]/events[at0074]/data[at0003]/items[at0017]` |
| `number_of_pegs_placed` | `integer` | yes | Number Of Pegs Placed | `/data[at0001]/events[at0074]/data[at0003]/items[at0050]` |
| `number_of_pegs_returned` | `integer` | yes | Number Of Pegs Returned | `/data[at0001]/events[at0074]/data[at0003]/items[at0051]` |
| `trial_not_completed` | `boolean` | yes | Trial Not Completed? | `/data[at0001]/events[at0074]/data[at0003]/items[at0080]` |
| `reason_for_non_completion` | `text` | yes | Reason For Non-completion | `/data[at0001]/events[at0074]/data[at0003]/items[at0081]` |
| `confounding_factors` | `text` | yes | Confounding Factors | `/data[at0001]/events[at0074]/state[at0004]/items[at0064]` |
| `dominant_hand`<br />`dominant_hand_code`<br />`dominant_hand_system`<br />`dominant_hand_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Dominant Hand | `/protocol[at0008]/items[at0083]` |
| `practice_trial_for_dominant_hand` | `boolean` | yes | Practice Trial For Dominant Hand? | `/protocol[at0008]/items[at0013]` |
| `practice_trial_for_non_dominant_hand` | `boolean` | yes | Practice Trial For Non-dominant Hand? | `/protocol[at0008]/items[at0082]` |
| `more_than_two_attempts` | `boolean` | yes | More Than Two Attempts? | `/protocol[at0008]/items[at0087]` |
| `reason_for_more_than_two_attempts` | `text` | yes | Reason For More Than Two Attempts | `/protocol[at0008]/items[at0088]` |
| `pegs_placed_but_not_returned` | `boolean` | yes | Pegs Placed But Not Returned | `/protocol[at0008]/items[at0084]` |

## Constraints

```sql
check (number_of_pegs_placed is null or number_of_pegs_placed between 0 and 9)
check (number_of_pegs_returned is null or number_of_pegs_returned between 0 and 9)
check ((dominant_hand_code is null and dominant_hand_system is null and dominant_hand_valueset_id is null and dominant_hand is null) or (dominant_hand is not null and dominant_hand_code is not null and dominant_hand_system is not null and dominant_hand_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 |
| `dominant_hand_valueset_id, dominant_hand_code, dominant_hand_system, dominant_hand` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Indexes

- `nine_hole_peg_test_form_id_idx` on `form_id`

## Value sets

| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-OBSERVATION.nine_hole_peg_test.v1/dominant_hand` | 2 |

