NAME

Health::BMI - Interface to Body Mass Index.

VERSION

Version 0.02

DESCRIPTION

The body mass index (BMI), or Quetelet index, is a heuristic proxy for human body fat based on an individual's weight and height. BMI does not actually measure the percentage of body fat. It was invented between 1830 and 1850 by the Belgian polymath Adolphe Quetelet during the course of developing "social physics".

For a given height, BMI is proportional to mass. However, for a given mass, BMI is inversely proportional to the square of the height. So, if all body dimensions double, and mass scales naturally with the cube of the height, then BMI doubles instead of remaining the same. This results in taller people having a reported BMI that is uncharacteristically high compared to their actual body fat levels.

CONSTRUCTOR

It expects optionally reference to an anonymous hash with the following keys:

    +-------------+----------+---------+
    | Key         | Value    | Default |
    +-------------+----------+---------+
    | mass_unit   | kg/lb/st | kg      |
    | height_unit | m /in/ft | m       |
    +-------------+----------+---------+

    use strict; use warnings;
    use Health::BMI;

    my $bmi_1 = Health::BMI->new({ mass_unit => 'st', height_unit => 'ft' });

    # or simply

    my $bmi_2 = Health::BMI->new();

METHODS

get_bmi(mass, height)

Return Body Mass Index for the given mass and height.

    use strict; use warnings;
    use Health::BMI;

    my $bmi = Health::BMI->new({ mass_unit => 'st', height_unit => 'ft' });
    print $bmi->get_bmi(6, 5) . "\n";

get_bmi_prime(mass, height)

BMI Prime, a simple modification of the BMI system, is the ratio of actual BMI to upper limit BMI (currently defined at BMI 25). Since it is the ratio of two separate BMI values, BMI Prime is a dimensionless number, without associated units.

    use strict; use warnings;
    use Health::BMI;

    my $bmi = Health::BMI->new({ mass_unit => 'st', height_unit => 'ft' });
    print $bmi->get_bmi(6, 5)   . "\n";
    print $bmi->get_bmi_prime() . "\n";

get_category()

A frequent use of the BMI is to assess how much an individual's body weight departs from what is normal or desirable for a person of his or her height. The WHO regard a BMI of less than 18.5 as underweight and may indicate malnutrition, an eating disorder, or other health problems, while a BMI greater than 25 is considered overweight and above 30 is considered obese. These ranges of BMI values are valid only as statistical categories when applied to adults, and do not predict health.

    +----------------------+-------------------+--------------+
    | Category             | BMI range [kg/m2] | BMI Prime    |
    -----------------------+-------------------+--------------+
    | Severely underweight | < 16.0            | < 0.66       |
    | Underweight          | 16.0 to 18.5      | 0.66 to 0.73 |
    | Normal               | 18.5 to 25        | 0.74 to 0.99 |
    | Overweight           | 25 to 30          | 1.0 to 1.19  |
    | Obese Class I        | 30 to 35          | 1.2 to 1.39  |
    | Obese Class II       | 35 to 40          | 1.4 to 1.59  |
    | Obese Class III      | > 40              | > 1.6        |
    +----------------------+-------------------+--------------+

    use strict; use warnings;
    use Health::BMI;

    my $bmi = Health::BMI->new({ mass_unit => 'kg', height_unit => 'm' });
    print $bmi->get_bmi(90, 4) . "\n";
    print $bmi->get_category() . "\n";

AUTHOR

Mohammad S Anwar, <mohammad.anwar at yahoo.com>

BUGS

Please report any bugs or feature requests to bug-health-bmi at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Health-BMI. I will be notified & you will automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Health::BMI

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2011 Mohammad S Anwar.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

DISCLAIMER

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.