Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hole Peg Test task #373

Merged
merged 42 commits into from Sep 30, 2015
Merged

Hole Peg Test task #373

merged 42 commits into from Sep 30, 2015

Conversation

julientherier
Copy link
Contributor

This pull-request adds a new active task: HPT (Hole Peg Test).

Pegboard tests of hand dexterity are commonly used in clinical settings to assess upper extremity function in various populations.

This task is well documented in the scientific literature to mesure the MSFC score in Multiple Sclerosis or Parkinson Disease for instance Earhart et al., 2011.

It is one of the three tasks needed to assess the MSFC score:
T25FW
PASAT.
• 9-Hole Peg Test (this PR).

Practically speaking, this task generates a two step test where participant must put a variable number of peg in a hole, and then remove them. This task tests both hands.

You can test this new task directly with the ORKCatalog application.

Please feel free to comment code and scientific aspect of this HPT task.

Task in action:

img_0025

img_0026

img_0027

@YuanZhu-apple
Copy link
Member

@julientherier Can you send an email to researchkit@apple.com? So I can send you a copy of our contribution agreement before merging your two other pending requests.

@julientherier
Copy link
Contributor Author

@YuanZhu-apple thanks. You should have received the email with accepted terms.

@YuanZhu-apple
Copy link
Member

For the instruction animation, to let the user better understand how to move the peg, can we add two 'pinch gesture fingers' around the peg? Normally user is get used to use one finger to move an object on iPhone or iPad.


- (instancetype)initWithOrientation:(ORKSide)orientation rotated:(BOOL)rotated NS_DESIGNATED_INITIALIZER;

@property (nonatomic, assign) ORKSide orientation;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does orientation mean 'from left to right' / 'from right to left' ? If so, do you think rename it to ORKSide movingDirection can make it less confusing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you're right. I'll rename this property.

@julientherier
Copy link
Contributor Author

@rsanchezsaez thanks for this feedback.

I don't think people need to understand that they'll remove the previously placed pegs. In fact, it is more a physical constraint in a real 9-Hole Peg Test I believe.
I've validated this approach with a medicine doctor treating Multiple Sclerosis, and it sounds good for now.

If I can, I'll try to add more "flamboyance", it'd be fun.

Oh, and thanks again for the great graphics!

@rsanchezsaez
Copy link
Contributor

@julientherier: Cool, good to know! No problem.

@YuanZhu-apple
Copy link
Member

@julientherier Sorry, I just get back to this one.

Everything looks very good.
Can you use a slightly bigger horizontal margin on iPad for the peg view? You might want to try ORKStandardHorizontalMarginForView().

screen shot 2015-09-22 at 4 38 00 pm

/**
Body side constants.
*/
typedef NS_ENUM(NSInteger, ORKSide) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kind of like ORKBodySagittalLeft and ORKBodySagittalRight from @DanKeen, what do you think?

@julientherier
Copy link
Contributor Author

@YuanZhu-apple I think it should do the job. It's the first time I've upgraded a branch from an upstream, hope I did manage merging well. I did a thorough review of the code then, but sorry if I've missed something.

Have you seen the @rsanchezsaez comment?

Are the always-on spoken instructions needed for this task? I'd think that only tasks with a non-visible screen (e.g., the phone is in your pocket) would need them.

Should I need to remove the spoken instructions?

@YuanZhu-apple
Copy link
Member

Thanks for the code update!
I agree with @rsanchezsaez, this task doesn't need always on spoken instructions.

@julientherier
Copy link
Contributor Author

@YuanZhu-apple @rsanchezsaez thanks for all your advices.
I think we're closed to the expected behavior.

@"Tower Of Hanoi Task",
@"Two Finger Tapping Task",
@"PSAT Task",
@"Timed Walk Task",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@julientherier Can you take a look at ORKTest again? I didn't see Hole Peg Test in the list.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@YuanZhu-apple you're right, my bad. I added the Hole Peg Test task and also fixed an issue with the method name.

@YuanZhu-apple
Copy link
Member

Thanks @julientherier !

YuanZhu-apple added a commit that referenced this pull request Sep 30, 2015
@YuanZhu-apple YuanZhu-apple merged commit a796e6c into ResearchKit:master Sep 30, 2015
@rsanchezsaez
Copy link
Contributor

@julientherier @YuanZhu-apple: Sorry to comment after this has been merged. We are trying to keep the Active Tasks alphabetically sorted within ORKTest.

@rsanchezsaez
Copy link
Contributor

I'll submit a PR reordering it, and I'll create a new ORKTest section for the passcode-related items.

@YuanZhu-apple
Copy link
Member

@rsanchezsaez Sure!

@YuanZhu-apple YuanZhu-apple added this to the Next Release milestone Jan 5, 2016
@vtourraine vtourraine deleted the 9hpt-task branch January 6, 2016 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants