private static FmsMovementClassificationResult ClassifyMovement(FmsMovementData movementSet)
 {
     return(new FmsMovementClassificationResult(
                MovementClassification.CalculateFlag(movementSet),
                MovementClassification.RecommendedAction(movementSet)
                ));
 }
 internal FunctionalMovementScreen(
     FmsMovementData deepSquat,
     FmsMovementSet hurdleStep,
     FmsMovementSet inlineLunge,
     FmsMovementSet shoulderMobility,
     FmsMovementSet activeStraightLegRaise,
     FmsMovementData trunkStabilityPushup,
     FmsMovementSet rotaryStability)
 {
     DeepSquat              = deepSquat;
     HurdleStep             = hurdleStep;
     InlineLunge            = inlineLunge;
     ShoulderMobility       = shoulderMobility;
     ActiveStraightLegRaise = activeStraightLegRaise;
     TrunkStabilityPushup   = trunkStabilityPushup;
     RotaryStability        = rotaryStability;
 }
            public static FmsRecommendedAction RecommendedAction(FmsMovementData movement)
            {
                var flag = CalculateFlag(movement);

                if (flag == FmsScoreFlag.L0R0)
                {
                    return(FmsRecommendedAction.MedicalAttention);
                }
                if (flag == FmsScoreFlag.L1R1)
                {
                    return(FmsRecommendedAction.Restricted);
                }
                if (flag == FmsScoreFlag.L2R2 || flag == FmsScoreFlag.L3R3)
                {
                    return(FmsRecommendedAction.Unrestricted);
                }
                throw new InvalidEnumArgumentException(nameof(flag));
            }
            public static FmsScoreFlag CalculateFlag(FmsMovementData movement)
            {
                var score = movement.Score;

                if (score == 0)
                {
                    return(FmsScoreFlag.L0R0);
                }
                if (score == 1)
                {
                    return(FmsScoreFlag.L1R1);
                }
                if (score == 2)
                {
                    return(FmsScoreFlag.L2R2);
                }
                if (score == 3)
                {
                    return(FmsScoreFlag.L3R3);
                }
                throw new ArgumentOutOfRangeException(nameof(score));
            }
Example #5
0
 public FmsMovementSet()
 {
     Left  = new FmsMovementData();
     Right = new FmsMovementData();
 }
Example #6
0
 public FmsMovementSet Build(FmsMovementData left, FmsMovementData right)
 {
     return(new FmsMovementSet(left, right));
 }
Example #7
0
 internal FmsMovementSet(FmsMovementData left, FmsMovementData right)
 {
     Left  = left;
     Right = right;
 }