Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

child-growth-eval

baiyamao37MIT1.0.5TypeScript support: included

儿童生长发育评估工具包,支持 Z 分数计算、百分位查询、生长状况判断等。

child, growth, evaluation, zscore, percentile, who, 儿童, 生长发育, 儿童健康, Z分数

readme

# who-growth-eval

> 👶 儿童生长发育评价工具包,基于 WHO 标准曲线数据,使用 TypeScript 编写,支持身高、体重、BMI、身高别体重的 Z-score 计算与营养状态评估。

## ✨ 功能特色

- 支持 0–60 月龄婴幼儿身高/身长发育水平评估
- 支持体重、BMI、身高别体重(weight-for-height/length)评价
- 自动选择 WHO 男/女性标准,依据年龄和身高类型匹配参考值
- 支持中文营养状态输出(如:低体重、消瘦、超重等)
- TypeScript 编写,结构清晰,可扩展性强

## 📦 安装

```bash
npm install who-growth-eval

或使用 yarn:

yarn add who-growth-eval

🧪 使用示例

import { evaluateGrowth } from '../src';

const result = evaluateGrowth({
    gender: 'girl',
    ageInMonths: 23,
    height: 90,
    weight: 32,
    heightType: 'length'// 'length' 代表身长(小于24个月时用)
});

console.log(result);

输出示例:

{
    heightEvaluation: '中上',
        weightEvaluation: '上上',
        heightWeightEvaluation: '上上',
        bmi: 39.51,
        bmiEvaluation: '上上',
        nutrition: { heightWeight: '重度肥胖', bmi: '重度肥胖' },
    standard: {
        id: 24,
            age_month: 23,
            height_minus_3sd: 76,
            height_minus_2sd: 79.2,
            height_minus_1sd: 82.3,
            height_0sd: 85.5,
            height_plus_1sd: 88.7,
            height_plus_2sd: 91.9,
            height_plus_3sd: 95,
            weight_minus_3sd: 7.9,
            weight_minus_2sd: 8.9,
            weight_minus_1sd: 10,
            weight_0sd: 11.3,
            weight_plus_1sd: 12.8,
            weight_plus_2sd: 14.6,
            weight_plus_3sd: 16.7,
            head_circumference_minus_3sd: 42.9,
            head_circumference_minus_2sd: 44.3,
            head_circumference_minus_1sd: 45.6,
            head_circumference_0sd: 47,
            head_circumference_plus_1sd: 48.4,
            head_circumference_plus_2sd: 49.8,
            head_circumference_plus_3sd: 51.2,
            bmi_minus_3sd: 12.2,
            bmi_minus_2sd: 13.1,
            bmi_minus_1sd: 14.2,
            bmi_0sd: 15.4,
            bmi_plus_1sd: 16.9,
            bmi_plus_2sd: 18.5,
            bmi_plus_3sd: 20.4
    },
    heightWeightStandard: {
        id: 91,
            height: 90,
            weight_minus_3sd: 9.7,
            weight_minus_2sd: 10.5,
            weight_minus_1sd: 11.4,
            weight_0sd: 12.5,
            weight_plus_1sd: 13.7,
            weight_plus_2sd: 15,
            weight_plus_3sd: 16.5
    }
}

💡 如果身高/体重等值落在-2SD以下,nutrition 字段将输出例如“低体重”“重度消瘦”等中文评价结果。

📚 接口说明

type GrowthInput = {
  gender: 'boy' | 'girl';
  ageInMonths: number;
  height: number;
  weight: number;
  heightType: 'height' | 'length'; // 24个月以下用 length,24个月及以上用 height
};

返回类型:

type GrowthEvaluationResult = {
  heightEvaluation: ZRangeLabel;
  weightEvaluation: ZRangeLabel | null;
  heightWeightEvaluation: ZRangeLabel | null;
  bmi: number;
  bmiEvaluation: ZRangeLabel | null;
  nutrition: {
    height?: string;
    weight?: string;
    heightWeight?: string;
    bmi?: string;
  };
};

🧠 评价标准范围

ZRangeLabel 为:

代码 含义
下下 < -3SD
-3SD ~ -2SD
中下 -2SD ~ -1SD
中- -1SD ~ 0SD
中+ 0SD ~ +1SD
中上 +1SD ~ +2SD
+2SD ~ +3SD
上上 > +3SD

营养状态文字(nutrition 字段)将根据上表映射为:

  • 低体重、重度低体重
  • 生长迟缓、重度生长迟缓
  • 消瘦、重度消瘦
  • 肥胖、重度肥胖、超重

🧩 适用人群

  • 儿科医生
  • 基层保健工作者
  • 早教/托育机构
  • 家长工具包

🛠 开发与测试

npm install
npx ts-node use.ts

或运行打包:

npm run build

📜 License

MIT License