ifct2017 2.0.14 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -21
- package/README.md +1019 -71
- package/abbreviations/index.csv +78 -0
- package/abbreviations/index.d.ts +39 -0
- package/abbreviations/index.js +103 -0
- package/abbreviations/index.txt +12 -0
- package/about/build.ts +31 -0
- package/about/index.d.ts +47 -0
- package/about/index.js +110 -0
- package/about/index.txt +174 -0
- package/build.ts +115 -0
- package/carbohydrates/index.csv +8 -0
- package/carbohydrates/index.d.ts +42 -0
- package/carbohydrates/index.js +112 -0
- package/carbohydrates/index.txt +14 -0
- package/codes/index.csv +2904 -0
- package/codes/index.d.ts +36 -0
- package/codes/index.js +102 -0
- package/codes/index.txt +12 -0
- package/columndescriptions/build.ts +22 -0
- package/columndescriptions/index.csv +215 -0
- package/columndescriptions/index.d.ts +44 -0
- package/columndescriptions/index.js +119 -0
- package/columns/build.ts +23 -0
- package/columns/index.csv +215 -0
- package/columns/index.d.ts +39 -0
- package/columns/index.js +111 -0
- package/columns/index.txt +71 -0
- package/compositingcentres/index.csv +7 -0
- package/compositingcentres/index.d.ts +35 -0
- package/compositingcentres/index.js +103 -0
- package/compositingcentres/index.txt +13 -0
- package/compositions/build.ts +212 -0
- package/compositions/index.csv +543 -0
- package/compositions/index.d.ts +254 -0
- package/compositions/index.js +204 -0
- package/compositionstats/build.ts +103 -0
- package/compositionstats/index.csv +4 -0
- package/compositionstats/index.d.ts +31 -0
- package/compositionstats/index.js +97 -0
- package/contents/index.csv +21 -0
- package/contents/index.d.ts +39 -0
- package/contents/index.js +102 -0
- package/contents/index.txt +13 -0
- package/deno.lock +67 -0
- package/descriptions/index.csv +543 -0
- package/descriptions/index.d.ts +45 -0
- package/descriptions/index.js +124 -0
- package/descriptions/index.txt +15 -0
- package/energies/index.csv +6 -0
- package/energies/index.d.ts +34 -0
- package/energies/index.js +101 -0
- package/energies/index.txt +13 -0
- package/frequencydistribution/index.csv +10 -0
- package/frequencydistribution/index.d.ts +36 -0
- package/frequencydistribution/index.js +90 -0
- package/frequencydistribution/index.txt +14 -0
- package/groups/index.csv +21 -0
- package/groups/index.d.ts +46 -0
- package/groups/index.js +118 -0
- package/groups/index.txt +14 -0
- package/hierarchy/asset.csv +215 -0
- package/hierarchy/asset.txt +70 -0
- package/hierarchy/build.ts +73 -0
- package/hierarchy/index.csv +215 -0
- package/hierarchy/index.d.ts +39 -0
- package/hierarchy/index.js +100 -0
- package/hierarchy/index.txt +14 -0
- package/index.d.ts +24 -28
- package/index.js +28 -39
- package/index.test.ts +717 -0
- package/intakes/build.ts +28 -0
- package/intakes/index.csv +42 -0
- package/intakes/index.d.ts +66 -0
- package/intakes/index.js +113 -0
- package/intakes/index.txt +20 -0
- package/jonesfactors/index.csv +15 -0
- package/jonesfactors/index.d.ts +35 -0
- package/jonesfactors/index.js +105 -0
- package/jonesfactors/index.txt +12 -0
- package/languages/index.csv +22 -0
- package/languages/index.d.ts +39 -0
- package/languages/index.js +103 -0
- package/languages/index.txt +12 -0
- package/methods/build.ts +101 -0
- package/methods/index.csv +37 -0
- package/methods/index.d.ts +39 -0
- package/methods/index.js +196 -0
- package/methods/index.txt +13 -0
- package/package.json +15 -63
- package/regions/index.csv +7 -0
- package/regions/index.d.ts +36 -0
- package/regions/index.js +100 -0
- package/regions/index.txt +12 -0
- package/representations/build.ts +133 -0
- package/representations/index.csv +215 -0
- package/representations/index.d.ts +36 -0
- package/representations/index.js +91 -0
- package/retentionfactors/groups.csv +21 -0
- package/retentionfactors/index.csv +215 -0
- package/samplingunits/index.csv +36 -0
- package/samplingunits/index.d.ts +39 -0
- package/samplingunits/index.js +110 -0
- package/samplingunits/index.txt +14 -0
- package/yieldfactors/index.csv +543 -0
- package/yieldfactors/index.d.ts +57 -0
- package/yieldfactors/index.js +158 -0
- package/yieldfactors/index.txt +294 -0
- package/corpus.js +0 -6
- package/corpus.min.js +0 -1
- package/pictures.d.ts +0 -41
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
abbr,full
|
|
2
|
+
"1,25-DHCC","1,25-dihydroxy cholecalciferol"
|
|
3
|
+
AAS,Atomic Absorption Spectroscopy
|
|
4
|
+
AOAC,Association of Official Analytical Chemists
|
|
5
|
+
APCI,Atmospheric Pressure Chemical Ionization
|
|
6
|
+
BMR,Basal metabolic rate
|
|
7
|
+
BOAA,Oxalyldiaminopropionic acid
|
|
8
|
+
BV,Biological Value
|
|
9
|
+
Cal,Calories
|
|
10
|
+
CBC,Cation binding capacity
|
|
11
|
+
CF,Crude fibre
|
|
12
|
+
CFTRI,Central Food Technological Research Institute
|
|
13
|
+
CHD,Coronary heart disease
|
|
14
|
+
CHO,Carbohydrate
|
|
15
|
+
CRM,Certified Reference Material
|
|
16
|
+
CU,Consumption units
|
|
17
|
+
DF,Dietary fibre
|
|
18
|
+
DNA,Deoxyribonucleic acid
|
|
19
|
+
DRI,Dietary reference intake
|
|
20
|
+
EAA,Essential Amino Acids
|
|
21
|
+
EFA,Essential fatty acids
|
|
22
|
+
ESI,Electro Spray Ionization
|
|
23
|
+
FAO,Food and Agriculture Organization of the United Nations
|
|
24
|
+
FAOSTAT,Food and Agriculture Organization Statistics
|
|
25
|
+
FCT,Food Composition Tables
|
|
26
|
+
GC,Gas Chromatography
|
|
27
|
+
GI,Gastrointestinal
|
|
28
|
+
GLV,Green Leafy Vegetables
|
|
29
|
+
HPLC,High Performance Liquid Chromatography
|
|
30
|
+
ICDS,Integrated Child Development Services
|
|
31
|
+
ICMR,Indian Council of Medical Research
|
|
32
|
+
ICP-MS,Inductively Coupled Plasma Mass Spectrometry
|
|
33
|
+
IDA,Iron Deficiency Anemia
|
|
34
|
+
IDD,Iodine deficiency disorders
|
|
35
|
+
IDF,International Diabetes Federation
|
|
36
|
+
IDF,Insoluble Dietary Fibre
|
|
37
|
+
IFCT,Indian Food Composition Tables
|
|
38
|
+
INFOODS,International Network of Food Data Systems
|
|
39
|
+
IP-6,Inositol hexaphosphate
|
|
40
|
+
IRFA,Indian Research Fund Association
|
|
41
|
+
IU,International Units
|
|
42
|
+
Kcal,Kilo calories
|
|
43
|
+
kJ,kilo Joule
|
|
44
|
+
N,Normality
|
|
45
|
+
NAC,Nutritional Advisory Committee
|
|
46
|
+
NDO,Non-digestible oligosaccharides
|
|
47
|
+
NFHS,National Family Health Survey
|
|
48
|
+
NIDDM,Non-insulin dependent diabetes mellitus
|
|
49
|
+
NIN,National Institute of Nutrition
|
|
50
|
+
NNMB,National Nutrition Monitoring Bureau
|
|
51
|
+
NPU,Net protein utilized
|
|
52
|
+
NRFA,Nutrition Research Funds Association
|
|
53
|
+
NRL,Nutrition Research Laboratories
|
|
54
|
+
NVIF,Nutritive Value of Indian Foods
|
|
55
|
+
PEM,Protein Energy Malnutrition
|
|
56
|
+
PER,Protein Efficiency Ratio
|
|
57
|
+
PSU,Primary Sampling Units
|
|
58
|
+
PUFA,Polyunsaturated Fatty Acids
|
|
59
|
+
QAQC,Quality assurance and quality control
|
|
60
|
+
RAE,Retinol equivalent activity
|
|
61
|
+
RDA,Recommended dietary allowances
|
|
62
|
+
RDI,Recommended dietary intakes
|
|
63
|
+
RID,Refractive index detector
|
|
64
|
+
RP,Reversed phase
|
|
65
|
+
RPO,Red palm oil
|
|
66
|
+
RPV,Relative protein value
|
|
67
|
+
SCFA,Short chain fatty acids
|
|
68
|
+
SD,Standard deviation
|
|
69
|
+
SDF,Soluble Dietary Fibre
|
|
70
|
+
SSU,Secondary sampling units
|
|
71
|
+
TDF,Total Dietary Fibre
|
|
72
|
+
USA,United States of America
|
|
73
|
+
UNU,United Nations University
|
|
74
|
+
UT,Union territory
|
|
75
|
+
UV,Ultra violet
|
|
76
|
+
VAD,Vitamin A deficiency
|
|
77
|
+
WHC,Water holding capacity
|
|
78
|
+
WHO,World Health Organization
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type SetupTableOptions } from "@nodef/extra-sql";
|
|
2
|
+
/** Full form of abbreviation used in the original book. */ export interface Abbreviation {
|
|
3
|
+
/** Abbreviation, e.g., BRM. */ abbr: string;
|
|
4
|
+
/** Full form of the abbreviation, e.g., "Basal metabolic rate". */ full: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Load the abbreviations corpus from the file.
|
|
8
|
+
* @returns abbreviations corpus {key ⇒ {abbr, full}}
|
|
9
|
+
*/ export declare function loadAbbreviations(): Promise<Map<string, Abbreviation>>;
|
|
10
|
+
/**
|
|
11
|
+
* Get the path to the abbreviations CSV file.
|
|
12
|
+
* @returns CSV file URL
|
|
13
|
+
*/ export declare function abbreviationsCsv(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Obtain SQL command to create and populate the abbreviations table.
|
|
16
|
+
* @param tab table name
|
|
17
|
+
* @param opt options for the table
|
|
18
|
+
* @returns CREATE TABLE, INSERT, CREATE VIEW, CREATE INDEX statements
|
|
19
|
+
*/ export declare function abbreviationsSql(tab?: string, opt?: SetupTableOptions): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Find matching full form of an abbreviation query.
|
|
22
|
+
* @param txt abbreviation query
|
|
23
|
+
* @returns `{abbr, full}` if found, null otherwise
|
|
24
|
+
* @example
|
|
25
|
+
* ```javascript
|
|
26
|
+
* abbreviations('GLV');
|
|
27
|
+
* abbreviations('g l v');
|
|
28
|
+
* // { abbr: 'GLV', full: 'Green Leafy Vegetables' }
|
|
29
|
+
*
|
|
30
|
+
* abbreviations('what is D.R.I.');
|
|
31
|
+
* abbreviations('d. r. i. stands for?');
|
|
32
|
+
* // { abbr: 'DRI', full: 'Dietary reference intake' }
|
|
33
|
+
*
|
|
34
|
+
*
|
|
35
|
+
* // Note:
|
|
36
|
+
* // for single character abbreviations, full stop is mandatory
|
|
37
|
+
* // full stops must immediately follow character, if present
|
|
38
|
+
* ```
|
|
39
|
+
*/ export declare function abbreviations(txt: string): Abbreviation | null;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// Copyright (C) 2025-26 Subhajit Sahu
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// See LICENSE for full terms
|
|
4
|
+
import * as csv from "@std/csv";
|
|
5
|
+
import { setupTable } from "@nodef/extra-sql";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region GLOBALS
|
|
8
|
+
let corpus = null;
|
|
9
|
+
let match = null;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region FUNCTIONS
|
|
12
|
+
/**
|
|
13
|
+
* Create a regex to match the abbreviations in the corpus.
|
|
14
|
+
* @param lst list of abbreviations to match
|
|
15
|
+
* @returns a regex to match the abbreviations
|
|
16
|
+
*/ function createRegex(lst) {
|
|
17
|
+
let a = '\\b(';
|
|
18
|
+
for (const v of lst)a += v.length > 1 ? `${v}|` : `${v}\\.|`;
|
|
19
|
+
a = a.substring(0, a.length - 1);
|
|
20
|
+
a += `)\\b`;
|
|
21
|
+
return new RegExp(a, 'i');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Load the abbreviations corpus from CSV file.
|
|
25
|
+
* @param file CSV file path
|
|
26
|
+
* @returns abbreviations corpus
|
|
27
|
+
*/ async function loadFromCsv(file) {
|
|
28
|
+
const map = new Map();
|
|
29
|
+
const data = await (await fetch(file)).text();
|
|
30
|
+
const records = csv.parse(data, {
|
|
31
|
+
skipFirstRow: true,
|
|
32
|
+
comment: "#"
|
|
33
|
+
});
|
|
34
|
+
for (const r of records){
|
|
35
|
+
const abbr = (r.abbr || "").toLowerCase().replace(/\W/g, "");
|
|
36
|
+
map.set(abbr, r);
|
|
37
|
+
}
|
|
38
|
+
return map;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load the abbreviations corpus from the file.
|
|
42
|
+
* @returns abbreviations corpus {key ⇒ {abbr, full}}
|
|
43
|
+
*/ export async function loadAbbreviations() {
|
|
44
|
+
if (corpus) return corpus;
|
|
45
|
+
corpus = await loadFromCsv(abbreviationsCsv());
|
|
46
|
+
match = createRegex(corpus.keys());
|
|
47
|
+
return corpus;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the path to the abbreviations CSV file.
|
|
51
|
+
* @returns CSV file URL
|
|
52
|
+
*/ export function abbreviationsCsv() {
|
|
53
|
+
return import.meta.resolve('./index.csv');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Obtain SQL command to create and populate the abbreviations table.
|
|
57
|
+
* @param tab table name
|
|
58
|
+
* @param opt options for the table
|
|
59
|
+
* @returns CREATE TABLE, INSERT, CREATE VIEW, CREATE INDEX statements
|
|
60
|
+
*/ export async function abbreviationsSql(tab = "abbreviations", opt = {}) {
|
|
61
|
+
return setupTable(tab, {
|
|
62
|
+
abbr: "TEXT",
|
|
63
|
+
full: "TEXT"
|
|
64
|
+
}, (await loadAbbreviations()).values(), Object.assign({
|
|
65
|
+
pk: "abbr",
|
|
66
|
+
index: true,
|
|
67
|
+
tsvector: {
|
|
68
|
+
abbr: "A",
|
|
69
|
+
full: "B"
|
|
70
|
+
}
|
|
71
|
+
}, opt));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Find matching full form of an abbreviation query.
|
|
75
|
+
* @param txt abbreviation query
|
|
76
|
+
* @returns `{abbr, full}` if found, null otherwise
|
|
77
|
+
* @example
|
|
78
|
+
* ```javascript
|
|
79
|
+
* abbreviations('GLV');
|
|
80
|
+
* abbreviations('g l v');
|
|
81
|
+
* // { abbr: 'GLV', full: 'Green Leafy Vegetables' }
|
|
82
|
+
*
|
|
83
|
+
* abbreviations('what is D.R.I.');
|
|
84
|
+
* abbreviations('d. r. i. stands for?');
|
|
85
|
+
* // { abbr: 'DRI', full: 'Dietary reference intake' }
|
|
86
|
+
*
|
|
87
|
+
*
|
|
88
|
+
* // Note:
|
|
89
|
+
* // for single character abbreviations, full stop is mandatory
|
|
90
|
+
* // full stops must immediately follow character, if present
|
|
91
|
+
* ```
|
|
92
|
+
*/ export function abbreviations(txt) {
|
|
93
|
+
const re = /((\w\s+|\w\.\s*|\w\-\s*|\w$)+)|\w+/g;
|
|
94
|
+
if (match == null) return null;
|
|
95
|
+
txt = txt.replace(re, (m)=>{
|
|
96
|
+
const v = m.replace(/\W/g, '');
|
|
97
|
+
return v.length === 1 ? `${m.trim()} ` : `${v} `;
|
|
98
|
+
}).toLowerCase();
|
|
99
|
+
const m = txt.match(match) || txt.replace(/\b(\w+)s\b/g, '$1').match(match);
|
|
100
|
+
if (m == null) return null;
|
|
101
|
+
return corpus?.get(m[1].replace('.', '')) || null;
|
|
102
|
+
} //#endregion
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9pZmN0MjAxNy9pZmN0MjAxNy9hYmJyZXZpYXRpb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoQykgMjAyNS0yNiBTdWJoYWppdCBTYWh1XG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb3ItbGF0ZXJcbi8vIFNlZSBMSUNFTlNFIGZvciBmdWxsIHRlcm1zXG5pbXBvcnQgKiBhcyBjc3YgIGZyb20gXCJAc3RkL2NzdlwiO1xuaW1wb3J0IHt0eXBlIFJvd0RhdGEsIHR5cGUgU2V0dXBUYWJsZU9wdGlvbnMsIHNldHVwVGFibGV9IGZyb20gXCJAbm9kZWYvZXh0cmEtc3FsXCI7XG5cblxuXG5cbi8vI3JlZ2lvbiBUWVBFU1xuLyoqIEZ1bGwgZm9ybSBvZiBhYmJyZXZpYXRpb24gdXNlZCBpbiB0aGUgb3JpZ2luYWwgYm9vay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWJicmV2aWF0aW9uIHtcbiAgLyoqIEFiYnJldmlhdGlvbiwgZS5nLiwgQlJNLiAqL1xuICBhYmJyOiBzdHJpbmc7XG4gIC8qKiBGdWxsIGZvcm0gb2YgdGhlIGFiYnJldmlhdGlvbiwgZS5nLiwgXCJCYXNhbCBtZXRhYm9saWMgcmF0ZVwiLiAqL1xuICBmdWxsOiBzdHJpbmc7XG59O1xuLy8jZW5kcmVnaW9uXG5cblxuXG5cbi8vI3JlZ2lvbiBHTE9CQUxTXG5sZXQgY29ycHVzOiBNYXA8c3RyaW5nLCBBYmJyZXZpYXRpb24+IHwgbnVsbCA9IG51bGw7XG5sZXQgbWF0Y2g6IFJlZ0V4cCB8IG51bGwgPSBudWxsO1xuLy8jZW5kcmVnaW9uXG5cblxuXG5cbi8vI3JlZ2lvbiBGVU5DVElPTlNcbi8qKlxuICogQ3JlYXRlIGEgcmVnZXggdG8gbWF0Y2ggdGhlIGFiYnJldmlhdGlvbnMgaW4gdGhlIGNvcnB1cy5cbiAqIEBwYXJhbSBsc3QgbGlzdCBvZiBhYmJyZXZpYXRpb25zIHRvIG1hdGNoXG4gKiBAcmV0dXJucyBhIHJlZ2V4IHRvIG1hdGNoIHRoZSBhYmJyZXZpYXRpb25zXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJlZ2V4KGxzdDogSXRlcmFibGU8c3RyaW5nPik6IFJlZ0V4cCB7XG4gIGxldCBhID0gJ1xcXFxiKCc7XG4gIGZvciAoY29uc3QgdiBvZiBsc3QpXG4gICAgYSArPSB2Lmxlbmd0aD4xPyBgJHt2fXxgIDogYCR7dn1cXFxcLnxgO1xuICBhID0gYS5zdWJzdHJpbmcoMCwgYS5sZW5ndGgtMSk7XG4gIGEgKz0gYClcXFxcYmA7XG4gIHJldHVybiBuZXcgUmVnRXhwKGEsICdpJyk7XG59XG5cblxuLyoqXG4gKiBMb2FkIHRoZSBhYmJyZXZpYXRpb25zIGNvcnB1cyBmcm9tIENTViBmaWxlLlxuICogQHBhcmFtIGZpbGUgQ1NWIGZpbGUgcGF0aFxuICogQHJldHVybnMgYWJicmV2aWF0aW9ucyBjb3JwdXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9hZEZyb21Dc3YoZmlsZTogc3RyaW5nKTogUHJvbWlzZTxNYXA8c3RyaW5nLCBBYmJyZXZpYXRpb24+PiB7XG4gIGNvbnN0IG1hcCAgPSBuZXcgTWFwPHN0cmluZywgQWJicmV2aWF0aW9uPigpO1xuICBjb25zdCBkYXRhID0gYXdhaXQgKGF3YWl0IGZldGNoKGZpbGUpKS50ZXh0KCk7XG4gIGNvbnN0IHJlY29yZHMgPSBjc3YucGFyc2UoZGF0YSwge3NraXBGaXJzdFJvdzogdHJ1ZSwgY29tbWVudDogXCIjXCJ9KTtcbiAgZm9yIChjb25zdCByIG9mIHJlY29yZHMpIHtcbiAgICBjb25zdCBhYmJyID0gKHIuYWJiciB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcVy9nLCBcIlwiKTtcbiAgICBtYXAuc2V0KGFiYnIsIHIgYXMgdW5rbm93biBhcyBBYmJyZXZpYXRpb24pO1xuICB9XG4gIHJldHVybiBtYXA7XG59XG5cblxuLyoqXG4gKiBMb2FkIHRoZSBhYmJyZXZpYXRpb25zIGNvcnB1cyBmcm9tIHRoZSBmaWxlLlxuICogQHJldHVybnMgYWJicmV2aWF0aW9ucyBjb3JwdXMge2tleSDih5Ige2FiYnIsIGZ1bGx9fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEFiYnJldmlhdGlvbnMoKTogUHJvbWlzZTxNYXA8c3RyaW5nLCBBYmJyZXZpYXRpb24+PiB7XG4gIGlmIChjb3JwdXMpIHJldHVybiBjb3JwdXM7XG4gIGNvcnB1cyA9IGF3YWl0IGxvYWRGcm9tQ3N2KGFiYnJldmlhdGlvbnNDc3YoKSk7XG4gIG1hdGNoICA9IGNyZWF0ZVJlZ2V4KGNvcnB1cy5rZXlzKCkpO1xuICByZXR1cm4gY29ycHVzO1xufVxuXG5cbi8qKlxuICogR2V0IHRoZSBwYXRoIHRvIHRoZSBhYmJyZXZpYXRpb25zIENTViBmaWxlLlxuICogQHJldHVybnMgQ1NWIGZpbGUgVVJMXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYmJyZXZpYXRpb25zQ3N2KCk6IHN0cmluZyB7XG4gIHJldHVybiBpbXBvcnQubWV0YS5yZXNvbHZlKCcuL2luZGV4LmNzdicpO1xufVxuXG5cbi8qKlxuICogT2J0YWluIFNRTCBjb21tYW5kIHRvIGNyZWF0ZSBhbmQgcG9wdWxhdGUgdGhlIGFiYnJldmlhdGlvbnMgdGFibGUuXG4gKiBAcGFyYW0gdGFiIHRhYmxlIG5hbWVcbiAqIEBwYXJhbSBvcHQgb3B0aW9ucyBmb3IgdGhlIHRhYmxlXG4gKiBAcmV0dXJucyBDUkVBVEUgVEFCTEUsIElOU0VSVCwgQ1JFQVRFIFZJRVcsIENSRUFURSBJTkRFWCBzdGF0ZW1lbnRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhYmJyZXZpYXRpb25zU3FsKHRhYjogc3RyaW5nPVwiYWJicmV2aWF0aW9uc1wiLCBvcHQ6IFNldHVwVGFibGVPcHRpb25zPXt9KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIHNldHVwVGFibGUodGFiLCB7YWJicjogXCJURVhUXCIsIGZ1bGw6IFwiVEVYVFwifSwgKGF3YWl0IGxvYWRBYmJyZXZpYXRpb25zKCkpLnZhbHVlcygpIGFzIEl0ZXJhYmxlPFJvd0RhdGE+LFxuICAgIE9iamVjdC5hc3NpZ24oe3BrOiBcImFiYnJcIiwgaW5kZXg6IHRydWUsIHRzdmVjdG9yOiB7YWJicjogXCJBXCIsIGZ1bGw6IFwiQlwifX0sIG9wdCkpO1xufVxuXG5cbi8qKlxuICogRmluZCBtYXRjaGluZyBmdWxsIGZvcm0gb2YgYW4gYWJicmV2aWF0aW9uIHF1ZXJ5LlxuICogQHBhcmFtIHR4dCBhYmJyZXZpYXRpb24gcXVlcnlcbiAqIEByZXR1cm5zIGB7YWJiciwgZnVsbH1gIGlmIGZvdW5kLCBudWxsIG90aGVyd2lzZVxuICogQGV4YW1wbGVcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGFiYnJldmlhdGlvbnMoJ0dMVicpO1xuICogYWJicmV2aWF0aW9ucygnZyBsIHYnKTtcbiAqIC8vIHsgYWJicjogJ0dMVicsIGZ1bGw6ICdHcmVlbiBMZWFmeSBWZWdldGFibGVzJyB9XG4gKlxuICogYWJicmV2aWF0aW9ucygnd2hhdCBpcyBELlIuSS4nKTtcbiAqIGFiYnJldmlhdGlvbnMoJ2QuIHIuIGkuIHN0YW5kcyBmb3I/Jyk7XG4gKiAvLyB7IGFiYnI6ICdEUkknLCBmdWxsOiAnRGlldGFyeSByZWZlcmVuY2UgaW50YWtlJyB9XG4gKlxuICpcbiAqIC8vIE5vdGU6XG4gKiAvLyBmb3Igc2luZ2xlIGNoYXJhY3RlciBhYmJyZXZpYXRpb25zLCBmdWxsIHN0b3AgaXMgbWFuZGF0b3J5XG4gKiAvLyBmdWxsIHN0b3BzIG11c3QgaW1tZWRpYXRlbHkgZm9sbG93IGNoYXJhY3RlciwgaWYgcHJlc2VudFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYmJyZXZpYXRpb25zKHR4dDogc3RyaW5nKTogQWJicmV2aWF0aW9uIHwgbnVsbCB7XG4gIGNvbnN0IHJlID0gLygoXFx3XFxzK3xcXHdcXC5cXHMqfFxcd1xcLVxccyp8XFx3JCkrKXxcXHcrL2c7XG4gIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgdHh0ID0gdHh0LnJlcGxhY2UocmUsIChtKSA9PiB7XG4gICAgY29uc3QgdiA9IG0ucmVwbGFjZSgvXFxXL2csICcnKTtcbiAgICByZXR1cm4gdi5sZW5ndGggPT09IDE/IGAke20udHJpbSgpfSBgIDogYCR7dn0gYFxuICB9KS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBtID0gdHh0Lm1hdGNoKG1hdGNoKSB8fCB0eHQucmVwbGFjZSgvXFxiKFxcdyspc1xcYi9nLCAnJDEnKS5tYXRjaChtYXRjaCk7XG4gIGlmIChtID09IG51bGwpIHJldHVybiBudWxsO1xuICByZXR1cm4gY29ycHVzPy5nZXQobVsxXS5yZXBsYWNlKCcuJywgJycpKSB8fCBudWxsO1xufVxuLy8jZW5kcmVnaW9uXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLDZDQUE2QztBQUM3Qyw2QkFBNkI7QUFDN0IsWUFBWSxTQUFVLFdBQVc7QUFDakMsU0FBOEMsVUFBVSxRQUFPLG1CQUFtQjtBQWFsRixZQUFZO0FBS1osaUJBQWlCO0FBQ2pCLElBQUksU0FBMkM7QUFDL0MsSUFBSSxRQUF1QjtBQUMzQixZQUFZO0FBS1osbUJBQW1CO0FBQ25COzs7O0NBSUMsR0FDRCxTQUFTLFlBQVksR0FBcUI7RUFDeEMsSUFBSSxJQUFJO0VBQ1IsS0FBSyxNQUFNLEtBQUssSUFDZCxLQUFLLEVBQUUsTUFBTSxHQUFDLElBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7RUFDdkMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFDO0VBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUM7RUFDWCxPQUFPLElBQUksT0FBTyxHQUFHO0FBQ3ZCO0FBR0E7Ozs7Q0FJQyxHQUNELGVBQWUsWUFBWSxJQUFZO0VBQ3JDLE1BQU0sTUFBTyxJQUFJO0VBQ2pCLE1BQU0sT0FBTyxNQUFNLENBQUMsTUFBTSxNQUFNLEtBQUssRUFBRSxJQUFJO0VBQzNDLE1BQU0sVUFBVSxJQUFJLEtBQUssQ0FBQyxNQUFNO0lBQUMsY0FBYztJQUFNLFNBQVM7RUFBRztFQUNqRSxLQUFLLE1BQU0sS0FBSyxRQUFTO0lBQ3ZCLE1BQU0sT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU87SUFDekQsSUFBSSxHQUFHLENBQUMsTUFBTTtFQUNoQjtFQUNBLE9BQU87QUFDVDtBQUdBOzs7Q0FHQyxHQUNELE9BQU8sZUFBZTtFQUNwQixJQUFJLFFBQVEsT0FBTztFQUNuQixTQUFTLE1BQU0sWUFBWTtFQUMzQixRQUFTLFlBQVksT0FBTyxJQUFJO0VBQ2hDLE9BQU87QUFDVDtBQUdBOzs7Q0FHQyxHQUNELE9BQU8sU0FBUztFQUNkLE9BQU8sWUFBWSxPQUFPLENBQUM7QUFDN0I7QUFHQTs7Ozs7Q0FLQyxHQUNELE9BQU8sZUFBZSxpQkFBaUIsTUFBWSxlQUFlLEVBQUUsTUFBdUIsQ0FBQyxDQUFDO0VBQzNGLE9BQU8sV0FBVyxLQUFLO0lBQUMsTUFBTTtJQUFRLE1BQU07RUFBTSxHQUFHLENBQUMsTUFBTSxtQkFBbUIsRUFBRSxNQUFNLElBQ3JGLE9BQU8sTUFBTSxDQUFDO0lBQUMsSUFBSTtJQUFRLE9BQU87SUFBTSxVQUFVO01BQUMsTUFBTTtNQUFLLE1BQU07SUFBRztFQUFDLEdBQUc7QUFDL0U7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUNELE9BQU8sU0FBUyxjQUFjLEdBQVc7RUFDdkMsTUFBTSxLQUFLO0VBQ1gsSUFBSSxTQUFTLE1BQU0sT0FBTztFQUMxQixNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztJQUNyQixNQUFNLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTztJQUMzQixPQUFPLEVBQUUsTUFBTSxLQUFLLElBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0VBQ2pELEdBQUcsV0FBVztFQUNkLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLGVBQWUsTUFBTSxLQUFLLENBQUM7RUFDckUsSUFBSSxLQUFLLE1BQU0sT0FBTztFQUN0QixPQUFPLFFBQVEsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDL0MsRUFDQSxZQUFZIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Indian Food Composition Tables 2017
|
|
2
|
+
T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
3
|
+
|
|
4
|
+
Copyright © 2017 by National Institute of Nutrition
|
|
5
|
+
Indian Council of Medical Research
|
|
6
|
+
Department of Health Research Ministry of Health and Family Welfare, Government of India
|
|
7
|
+
Jamai Osmania (PO), Hyderabad – 500 007
|
|
8
|
+
Telangana, India Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
9
|
+
|
|
10
|
+
ABBREVIATIONS
|
|
11
|
+
- Abbreviation
|
|
12
|
+
- Full form
|
package/about/build.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright (C) 2025-26 Subhajit Sahu
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// See LICENSE for full terms
|
|
4
|
+
import * as path from "@std/path";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
async function readTextFiles(dir: string) {
|
|
8
|
+
const a = new Map<string, string>();
|
|
9
|
+
for (const f of Deno.readDirSync(dir)) {
|
|
10
|
+
if (!f.isFile || !f.name.endsWith('.txt')) continue;
|
|
11
|
+
const name = f.name.replace('.txt', '');
|
|
12
|
+
const content = await Deno.readTextFile(path.join(dir, f.name));
|
|
13
|
+
a.set(name, content);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
async function writeIndex(file: string, data: Map<string, string>) {
|
|
20
|
+
let a = '';
|
|
21
|
+
for (const [k, v] of data)
|
|
22
|
+
a += `[[${k}]]\n${v}\n\n`;
|
|
23
|
+
await Deno.writeTextFile(file, a.trim() + '\n');
|
|
24
|
+
console.log(`Wrote ${data.size} entries to ${file}`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
export async function build() {
|
|
29
|
+
const data = await readTextFiles(path.join(import.meta.dirname || '', 'assets'));
|
|
30
|
+
await writeIndex(path.join(import.meta.dirname || '', 'index.txt'), data);
|
|
31
|
+
}
|
package/about/index.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load the about corpus from file.
|
|
3
|
+
* @returns about corpus
|
|
4
|
+
*/ export declare function loadAbout(): Promise<Map<string, string>>;
|
|
5
|
+
/**
|
|
6
|
+
* Find matching description of an about query.
|
|
7
|
+
* @param txt about query
|
|
8
|
+
* @returns if found, returns the description, else null
|
|
9
|
+
* @example
|
|
10
|
+
* ```javascript
|
|
11
|
+
* about('who is you publisher');
|
|
12
|
+
* about('which organization issued you');
|
|
13
|
+
* // → Indian Food Composition Tables 2017 was published by:
|
|
14
|
+
* // → T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
15
|
+
* // → National Institute of Nutrition
|
|
16
|
+
* // → Indian Council of Medical Research
|
|
17
|
+
* // → Department of Health Research
|
|
18
|
+
* // → Ministry of Health and Family Welfare, Government of India
|
|
19
|
+
* // → Jamai Osmania (PO), Hyderabad – 500 007
|
|
20
|
+
* // → Telangana, India
|
|
21
|
+
* // → Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
22
|
+
*
|
|
23
|
+
* about('can i know the food groups');
|
|
24
|
+
* about('i want to know what types of food are there');
|
|
25
|
+
* // → There are 20 food groups:
|
|
26
|
+
* // → - A: Cereals and Millets. 24 foods.
|
|
27
|
+
* // → - B: Grain Legumes. 25 foods.
|
|
28
|
+
* // → - C: Green Leafy Vegetables. 34 foods.
|
|
29
|
+
* // → - D: Other Vegetables. 78 foods.
|
|
30
|
+
* // → - E: Fruits. 68 foods.
|
|
31
|
+
* // → - F: Roots and Tubers. 19 foods.
|
|
32
|
+
* // → - G: Condiments and Spices. 33 foods.
|
|
33
|
+
* // → - H: Nuts and Oil Seeds. 21 foods.
|
|
34
|
+
* // → - I: Sugars. 2 foods.
|
|
35
|
+
* // → - J: Mushrooms. 4 foods.
|
|
36
|
+
* // → - K: Miscellaneous Foods. 2 foods.
|
|
37
|
+
* // → - L: Milk and Milk Products. 4 foods.
|
|
38
|
+
* // → - M: Egg and Egg Products. 15 foods.
|
|
39
|
+
* // → - N: Poultry. 19 foods.
|
|
40
|
+
* // → - O: Animal Meat. 63 foods.
|
|
41
|
+
* // → - P: Marine Fish. 92 foods.
|
|
42
|
+
* // → - Q; Marine Shellfish. 8 foods.
|
|
43
|
+
* // → - R: Marine Mollusks. 7 foods.
|
|
44
|
+
* // → - S: Fresh Water Fish and Shellfish. 10 foods.
|
|
45
|
+
* // → - T: Edible Oils and Fats. 9 foods.
|
|
46
|
+
* ```
|
|
47
|
+
*/ export declare function about(txt: string): string | null;
|
package/about/index.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// Copyright (C) 2025-26 Subhajit Sahu
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// See LICENSE for full terms
|
|
4
|
+
//#region CONSTANTS
|
|
5
|
+
const REGEX = {
|
|
6
|
+
'1937': /193\d|194\d/i,
|
|
7
|
+
'1951': /195\d/i,
|
|
8
|
+
'1963': /196\d/i,
|
|
9
|
+
'1971': /197\d/i,
|
|
10
|
+
'1989': /198\d|199\d/i,
|
|
11
|
+
'2017': /200\d|201\d/i,
|
|
12
|
+
father: /(father)/i,
|
|
13
|
+
challenge: /challeng|difficult|inconsistent|fragment|exhaust/i,
|
|
14
|
+
interest: /interest|bioactive|first/i,
|
|
15
|
+
limitation: /limitation|exact/i,
|
|
16
|
+
learn: /learn|underst|more/i,
|
|
17
|
+
funder: /fund|financ|money|contribut|donat|pay|paid/i,
|
|
18
|
+
when: /when|date|day|month|year|last/i,
|
|
19
|
+
why: /why|cause|reason/i,
|
|
20
|
+
publisher: /publish|issu|creat|wr(i|o)t|ma(k|de)|develop|produc|print|announc|report|declar|distribut|spread|disseminat|circulat/i,
|
|
21
|
+
credit: /credit|acknowledg/i,
|
|
22
|
+
supporter: /support|back|help/i,
|
|
23
|
+
source: /source|from|origin|take|derive|borrow|obtain/i,
|
|
24
|
+
data: /data|info/i,
|
|
25
|
+
form: /form|shape|appear|configur|structure|dispos/i,
|
|
26
|
+
group: /type|group|category|class|sort|kind|variety|collection|cluster/i,
|
|
27
|
+
column: /column|component|part|piece|bit|constituent|element|ingredient|unit|module|item|section|portion/i,
|
|
28
|
+
what: /what|about/i
|
|
29
|
+
};
|
|
30
|
+
const USER = /user|utilizer|applier/i;
|
|
31
|
+
const USE = /use|using|utiliz|employ|appl/i;
|
|
32
|
+
const WHO = /who|person|people|member/i;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region GLOBALS
|
|
35
|
+
let corpus = null;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region FUNCTIONS
|
|
38
|
+
/**
|
|
39
|
+
* Read the index file and return the about details.
|
|
40
|
+
* @returns about corpus
|
|
41
|
+
*/ async function readIndex() {
|
|
42
|
+
const map = new Map();
|
|
43
|
+
const file = import.meta.resolve('./index.txt');
|
|
44
|
+
const data = await (await fetch(file)).text();
|
|
45
|
+
let m = null;
|
|
46
|
+
const re = /\[\[(\w+)\]\]\n([\w\W]*?)\n\n\n/g;
|
|
47
|
+
while((m = re.exec(data)) != null){
|
|
48
|
+
const k = m[1], v = m[2].trim();
|
|
49
|
+
map.set(k, v);
|
|
50
|
+
}
|
|
51
|
+
return map;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Load the about corpus from file.
|
|
55
|
+
* @returns about corpus
|
|
56
|
+
*/ export async function loadAbout() {
|
|
57
|
+
if (corpus) return corpus;
|
|
58
|
+
corpus = await readIndex();
|
|
59
|
+
return corpus;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Find matching description of an about query.
|
|
63
|
+
* @param txt about query
|
|
64
|
+
* @returns if found, returns the description, else null
|
|
65
|
+
* @example
|
|
66
|
+
* ```javascript
|
|
67
|
+
* about('who is you publisher');
|
|
68
|
+
* about('which organization issued you');
|
|
69
|
+
* // → Indian Food Composition Tables 2017 was published by:
|
|
70
|
+
* // → T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
71
|
+
* // → National Institute of Nutrition
|
|
72
|
+
* // → Indian Council of Medical Research
|
|
73
|
+
* // → Department of Health Research
|
|
74
|
+
* // → Ministry of Health and Family Welfare, Government of India
|
|
75
|
+
* // → Jamai Osmania (PO), Hyderabad – 500 007
|
|
76
|
+
* // → Telangana, India
|
|
77
|
+
* // → Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
78
|
+
*
|
|
79
|
+
* about('can i know the food groups');
|
|
80
|
+
* about('i want to know what types of food are there');
|
|
81
|
+
* // → There are 20 food groups:
|
|
82
|
+
* // → - A: Cereals and Millets. 24 foods.
|
|
83
|
+
* // → - B: Grain Legumes. 25 foods.
|
|
84
|
+
* // → - C: Green Leafy Vegetables. 34 foods.
|
|
85
|
+
* // → - D: Other Vegetables. 78 foods.
|
|
86
|
+
* // → - E: Fruits. 68 foods.
|
|
87
|
+
* // → - F: Roots and Tubers. 19 foods.
|
|
88
|
+
* // → - G: Condiments and Spices. 33 foods.
|
|
89
|
+
* // → - H: Nuts and Oil Seeds. 21 foods.
|
|
90
|
+
* // → - I: Sugars. 2 foods.
|
|
91
|
+
* // → - J: Mushrooms. 4 foods.
|
|
92
|
+
* // → - K: Miscellaneous Foods. 2 foods.
|
|
93
|
+
* // → - L: Milk and Milk Products. 4 foods.
|
|
94
|
+
* // → - M: Egg and Egg Products. 15 foods.
|
|
95
|
+
* // → - N: Poultry. 19 foods.
|
|
96
|
+
* // → - O: Animal Meat. 63 foods.
|
|
97
|
+
* // → - P: Marine Fish. 92 foods.
|
|
98
|
+
* // → - Q; Marine Shellfish. 8 foods.
|
|
99
|
+
* // → - R: Marine Mollusks. 7 foods.
|
|
100
|
+
* // → - S: Fresh Water Fish and Shellfish. 10 foods.
|
|
101
|
+
* // → - T: Edible Oils and Fats. 9 foods.
|
|
102
|
+
* ```
|
|
103
|
+
*/ export function about(txt) {
|
|
104
|
+
const re = REGEX;
|
|
105
|
+
if (USER.test(txt) || USE.test(txt) && WHO.test(txt)) return corpus?.get('user');
|
|
106
|
+
if (USE.test(txt)) return corpus?.get('use');
|
|
107
|
+
for(const k in re)if (re[k].test(txt)) return corpus?.get(k);
|
|
108
|
+
return null;
|
|
109
|
+
} //#endregion
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9pZmN0MjAxNy9pZmN0MjAxNy9hYm91dC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKEMpIDIwMjUtMjYgU3ViaGFqaXQgU2FodVxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9yLWxhdGVyXG4vLyBTZWUgTElDRU5TRSBmb3IgZnVsbCB0ZXJtc1xuLy8jcmVnaW9uIENPTlNUQU5UU1xuY29uc3QgUkVHRVg6IHtbdG9waWM6IHN0cmluZ106IFJlZ0V4cH0gPSB7XG4gICcxOTM3JzogLzE5M1xcZHwxOTRcXGQvaSxcbiAgJzE5NTEnOiAvMTk1XFxkL2ksXG4gICcxOTYzJzogLzE5NlxcZC9pLFxuICAnMTk3MSc6IC8xOTdcXGQvaSxcbiAgJzE5ODknOiAvMTk4XFxkfDE5OVxcZC9pLFxuICAnMjAxNyc6IC8yMDBcXGR8MjAxXFxkL2ksXG4gIGZhdGhlcjogICAgIC8oZmF0aGVyKS9pLFxuICBjaGFsbGVuZ2U6ICAvY2hhbGxlbmd8ZGlmZmljdWx0fGluY29uc2lzdGVudHxmcmFnbWVudHxleGhhdXN0L2ksXG4gIGludGVyZXN0OiAgIC9pbnRlcmVzdHxiaW9hY3RpdmV8Zmlyc3QvaSxcbiAgbGltaXRhdGlvbjogL2xpbWl0YXRpb258ZXhhY3QvaSxcbiAgbGVhcm46ICAvbGVhcm58dW5kZXJzdHxtb3JlL2ksXG4gIGZ1bmRlcjogL2Z1bmR8ZmluYW5jfG1vbmV5fGNvbnRyaWJ1dHxkb25hdHxwYXl8cGFpZC9pLFxuICB3aGVuOiAgIC93aGVufGRhdGV8ZGF5fG1vbnRofHllYXJ8bGFzdC9pLFxuICB3aHk6ICAgIC93aHl8Y2F1c2V8cmVhc29uL2ksXG4gIHB1Ymxpc2hlcjogL3B1Ymxpc2h8aXNzdXxjcmVhdHx3cihpfG8pdHxtYShrfGRlKXxkZXZlbG9wfHByb2R1Y3xwcmludHxhbm5vdW5jfHJlcG9ydHxkZWNsYXJ8ZGlzdHJpYnV0fHNwcmVhZHxkaXNzZW1pbmF0fGNpcmN1bGF0L2ksXG4gIGNyZWRpdDogICAgL2NyZWRpdHxhY2tub3dsZWRnL2ksXG4gIHN1cHBvcnRlcjogL3N1cHBvcnR8YmFja3xoZWxwL2ksXG4gIHNvdXJjZTogICAgL3NvdXJjZXxmcm9tfG9yaWdpbnx0YWtlfGRlcml2ZXxib3Jyb3d8b2J0YWluL2ksXG4gIGRhdGE6ICAgL2RhdGF8aW5mby9pLFxuICBmb3JtOiAgIC9mb3JtfHNoYXBlfGFwcGVhcnxjb25maWd1cnxzdHJ1Y3R1cmV8ZGlzcG9zL2ksXG4gIGdyb3VwOiAgL3R5cGV8Z3JvdXB8Y2F0ZWdvcnl8Y2xhc3N8c29ydHxraW5kfHZhcmlldHl8Y29sbGVjdGlvbnxjbHVzdGVyL2ksXG4gIGNvbHVtbjogL2NvbHVtbnxjb21wb25lbnR8cGFydHxwaWVjZXxiaXR8Y29uc3RpdHVlbnR8ZWxlbWVudHxpbmdyZWRpZW50fHVuaXR8bW9kdWxlfGl0ZW18c2VjdGlvbnxwb3J0aW9uL2ksXG4gIHdoYXQ6ICAgL3doYXR8YWJvdXQvaSxcbn07XG5jb25zdCBVU0VSID0gL3VzZXJ8dXRpbGl6ZXJ8YXBwbGllci9pO1xuY29uc3QgVVNFICA9IC91c2V8dXNpbmd8dXRpbGl6fGVtcGxveXxhcHBsL2k7XG5jb25zdCBXSE8gID0gL3dob3xwZXJzb258cGVvcGxlfG1lbWJlci9pO1xuLy8jZW5kcmVnaW9uXG5cblxuXG5cbi8vI3JlZ2lvbiBHTE9CQUxTXG5sZXQgY29ycHVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG4vLyNlbmRyZWdpb25cblxuXG5cblxuLy8jcmVnaW9uIEZVTkNUSU9OU1xuLyoqXG4gKiBSZWFkIHRoZSBpbmRleCBmaWxlIGFuZCByZXR1cm4gdGhlIGFib3V0IGRldGFpbHMuXG4gKiBAcmV0dXJucyBhYm91dCBjb3JwdXNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVhZEluZGV4KCkge1xuICBjb25zdCBtYXAgID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3QgZmlsZSA9IGltcG9ydC5tZXRhLnJlc29sdmUoJy4vaW5kZXgudHh0Jyk7XG4gIGNvbnN0IGRhdGEgPSBhd2FpdCAoYXdhaXQgZmV0Y2goZmlsZSkpLnRleHQoKTsgbGV0IG0gPSBudWxsO1xuICBjb25zdCByZSA9IC9cXFtcXFsoXFx3KylcXF1cXF1cXG4oW1xcd1xcV10qPylcXG5cXG5cXG4vZztcbiAgd2hpbGUgKChtID0gcmUuZXhlYyhkYXRhKSkgIT0gbnVsbCkge1xuICAgIGNvbnN0IGsgPSBtWzFdLCB2ID0gbVsyXS50cmltKCk7XG4gICAgbWFwLnNldChrLCB2KTtcbiAgfVxuICByZXR1cm4gbWFwO1xufVxuXG5cbi8qKlxuICogTG9hZCB0aGUgYWJvdXQgY29ycHVzIGZyb20gZmlsZS5cbiAqIEByZXR1cm5zIGFib3V0IGNvcnB1c1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEFib3V0KCk6IFByb21pc2U8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICBpZiAoY29ycHVzKSByZXR1cm4gY29ycHVzO1xuICBjb3JwdXMgPSBhd2FpdCByZWFkSW5kZXgoKTtcbiAgcmV0dXJuIGNvcnB1cztcbn1cblxuXG4vKipcbiAqIEZpbmQgbWF0Y2hpbmcgZGVzY3JpcHRpb24gb2YgYW4gYWJvdXQgcXVlcnkuXG4gKiBAcGFyYW0gdHh0IGFib3V0IHF1ZXJ5XG4gKiBAcmV0dXJucyBpZiBmb3VuZCwgcmV0dXJucyB0aGUgZGVzY3JpcHRpb24sIGVsc2UgbnVsbFxuICogQGV4YW1wbGVcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGFib3V0KCd3aG8gaXMgeW91IHB1Ymxpc2hlcicpO1xuICogYWJvdXQoJ3doaWNoIG9yZ2FuaXphdGlvbiBpc3N1ZWQgeW91Jyk7XG4gKiAvLyDihpIgSW5kaWFuIEZvb2QgQ29tcG9zaXRpb24gVGFibGVzIDIwMTcgd2FzIHB1Ymxpc2hlZCBieTpcbiAqIC8vIOKGkiBULiBMb25ndmFoLCBSLiBBbmFudGhhbiwgSy4gQmhhc2thcmFjaGFyeSBhbmQgSy4gVmVua2FpYWhcbiAqIC8vIOKGkiBOYXRpb25hbCBJbnN0aXR1dGUgb2YgTnV0cml0aW9uXG4gKiAvLyDihpIgSW5kaWFuIENvdW5jaWwgb2YgTWVkaWNhbCBSZXNlYXJjaFxuICogLy8g4oaSIERlcGFydG1lbnQgb2YgSGVhbHRoIFJlc2VhcmNoXG4gKiAvLyDihpIgTWluaXN0cnkgb2YgSGVhbHRoIGFuZCBGYW1pbHkgV2VsZmFyZSwgR292ZXJubWVudCBvZiBJbmRpYVxuICogLy8g4oaSIEphbWFpIE9zbWFuaWEgKFBPKSwgSHlkZXJhYmFkIOKAkyA1MDAgMDA3XG4gKiAvLyDihpIgVGVsYW5nYW5hLCBJbmRpYVxuICogLy8g4oaSIFBob25lOiArOTEgNDAgMjcxOTczMzQsIEZheDogKzkxIDQwIDI3MDAwMzM5LCBFbWFpbDogbmluQGFwLm5pYy5pblxuICpcbiAqIGFib3V0KCdjYW4gaSBrbm93IHRoZSBmb29kIGdyb3VwcycpO1xuICogYWJvdXQoJ2kgd2FudCB0byBrbm93IHdoYXQgdHlwZXMgb2YgZm9vZCBhcmUgdGhlcmUnKTtcbiAqIC8vIOKGkiBUaGVyZSBhcmUgMjAgZm9vZCBncm91cHM6XG4gKiAvLyDihpIgLSBBOiBDZXJlYWxzIGFuZCBNaWxsZXRzLiAyNCBmb29kcy5cbiAqIC8vIOKGkiAtIEI6IEdyYWluIExlZ3VtZXMuIDI1IGZvb2RzLlxuICogLy8g4oaSIC0gQzogR3JlZW4gTGVhZnkgVmVnZXRhYmxlcy4gMzQgZm9vZHMuXG4gKiAvLyDihpIgLSBEOiBPdGhlciBWZWdldGFibGVzLiA3OCBmb29kcy5cbiAqIC8vIOKGkiAtIEU6IEZydWl0cy4gNjggZm9vZHMuXG4gKiAvLyDihpIgLSBGOiBSb290cyBhbmQgVHViZXJzLiAxOSBmb29kcy5cbiAqIC8vIOKGkiAtIEc6IENvbmRpbWVudHMgYW5kIFNwaWNlcy4gMzMgZm9vZHMuXG4gKiAvLyDihpIgLSBIOiBOdXRzIGFuZCBPaWwgU2VlZHMuIDIxIGZvb2RzLlxuICogLy8g4oaSIC0gSTogU3VnYXJzLiAyIGZvb2RzLlxuICogLy8g4oaSIC0gSjogTXVzaHJvb21zLiA0IGZvb2RzLlxuICogLy8g4oaSIC0gSzogTWlzY2VsbGFuZW91cyBGb29kcy4gMiBmb29kcy5cbiAqIC8vIOKGkiAtIEw6IE1pbGsgYW5kIE1pbGsgUHJvZHVjdHMuIDQgZm9vZHMuXG4gKiAvLyDihpIgLSBNOiBFZ2cgYW5kIEVnZyBQcm9kdWN0cy4gMTUgZm9vZHMuXG4gKiAvLyDihpIgLSBOOiBQb3VsdHJ5LiAxOSBmb29kcy5cbiAqIC8vIOKGkiAtIE86IEFuaW1hbCBNZWF0LiA2MyBmb29kcy5cbiAqIC8vIOKGkiAtIFA6IE1hcmluZSBGaXNoLiA5MiBmb29kcy5cbiAqIC8vIOKGkiAtIFE7IE1hcmluZSBTaGVsbGZpc2guIDggZm9vZHMuXG4gKiAvLyDihpIgLSBSOiBNYXJpbmUgTW9sbHVza3MuIDcgZm9vZHMuXG4gKiAvLyDihpIgLSBTOiBGcmVzaCBXYXRlciBGaXNoIGFuZCBTaGVsbGZpc2guIDEwIGZvb2RzLlxuICogLy8g4oaSIC0gVDogRWRpYmxlIE9pbHMgYW5kIEZhdHMuIDkgZm9vZHMuXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3V0KHR4dDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHJlID0gUkVHRVg7XG4gIGlmIChVU0VSLnRlc3QodHh0KSB8fCAoVVNFLnRlc3QodHh0KSAmJiBXSE8udGVzdCh0eHQpKSkgcmV0dXJuIGNvcnB1cz8uZ2V0KCd1c2VyJykgYXMgc3RyaW5nO1xuICBpZiAoVVNFLnRlc3QodHh0KSkgcmV0dXJuIGNvcnB1cz8uZ2V0KCd1c2UnKSBhcyBzdHJpbmc7XG4gIGZvciAoY29uc3QgayBpbiByZSlcbiAgICBpZiAocmVba10udGVzdCh0eHQpKSByZXR1cm4gY29ycHVzPy5nZXQoaykgYXMgc3RyaW5nO1xuICByZXR1cm4gbnVsbDtcbn1cbi8vI2VuZHJlZ2lvblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0Qyw2Q0FBNkM7QUFDN0MsNkJBQTZCO0FBQzdCLG1CQUFtQjtBQUNuQixNQUFNLFFBQW1DO0VBQ3ZDLFFBQVE7RUFDUixRQUFRO0VBQ1IsUUFBUTtFQUNSLFFBQVE7RUFDUixRQUFRO0VBQ1IsUUFBUTtFQUNSLFFBQVk7RUFDWixXQUFZO0VBQ1osVUFBWTtFQUNaLFlBQVk7RUFDWixPQUFRO0VBQ1IsUUFBUTtFQUNSLE1BQVE7RUFDUixLQUFRO0VBQ1IsV0FBVztFQUNYLFFBQVc7RUFDWCxXQUFXO0VBQ1gsUUFBVztFQUNYLE1BQVE7RUFDUixNQUFRO0VBQ1IsT0FBUTtFQUNSLFFBQVE7RUFDUixNQUFRO0FBQ1Y7QUFDQSxNQUFNLE9BQU87QUFDYixNQUFNLE1BQU87QUFDYixNQUFNLE1BQU87QUFDYixZQUFZO0FBS1osaUJBQWlCO0FBQ2pCLElBQUksU0FBcUM7QUFDekMsWUFBWTtBQUtaLG1CQUFtQjtBQUNuQjs7O0NBR0MsR0FDRCxlQUFlO0VBQ2IsTUFBTSxNQUFPLElBQUk7RUFDakIsTUFBTSxPQUFPLFlBQVksT0FBTyxDQUFDO0VBQ2pDLE1BQU0sT0FBTyxNQUFNLENBQUMsTUFBTSxNQUFNLEtBQUssRUFBRSxJQUFJO0VBQUksSUFBSSxJQUFJO0VBQ3ZELE1BQU0sS0FBSztFQUNYLE1BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFNO0lBQ2xDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0lBQzdCLElBQUksR0FBRyxDQUFDLEdBQUc7RUFDYjtFQUNBLE9BQU87QUFDVDtBQUdBOzs7Q0FHQyxHQUNELE9BQU8sZUFBZTtFQUNwQixJQUFJLFFBQVEsT0FBTztFQUNuQixTQUFTLE1BQU07RUFDZixPQUFPO0FBQ1Q7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMENDLEdBQ0QsT0FBTyxTQUFTLE1BQU0sR0FBVztFQUMvQixNQUFNLEtBQUs7RUFDWCxJQUFJLEtBQUssSUFBSSxDQUFDLFFBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFPLE9BQU8sUUFBUSxJQUFJO0VBQzNFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxPQUFPLFFBQVEsSUFBSTtFQUN0QyxJQUFLLE1BQU0sS0FBSyxHQUNkLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxPQUFPLFFBQVEsSUFBSTtFQUMxQyxPQUFPO0FBQ1QsRUFDQSxZQUFZIn0=
|
package/about/index.txt
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
[[2017]]
|
|
2
|
+
Economic liberalization and globalization changed the food and nutrition scenario in India. Between 1990 and 2010, the daily per capita supply of energy, protein and fat increased by 11, 12 and 30%, respectively. Consumption of fruits, starchy roots, vegetables increased by 91, 52 and 46%, respectively (Food and Agriculture Organization Statistics, FAOSTAT, 2013), though a steady increase in the food price was also observed. A change in dietary pattern was observed as the conventional diet of the Indian populations shifted largely due to the modified food supply systems. Reduction in incidence of kwashiorkor from 0.2 to 0% and bitot’s spot from 0.7 to 0.2%, respectively among pre-school children (NNMB, 2012) was noticed. However, new public health issues emerged. The risk factors of overweight increased to 11.8 and 15.5% in men and women, respectively (NNMB, 2012). Prevalence of child malnourishment at 45.9% (National Family Health Survey NFHS-3, 2006), any anemia at 79% among 6-35 month children (NFHS-3, 2007), underweight among women at 35.6% women (NFHS-3, 2007), anemia at 55.3% among women of 15 to 49 years of age (NFHS-3, 2006), diabetes at 8.63% (International Diabetes Federation IDF, 2014), hypertension at 22.2% in men and 21.6% in women (NNMB, 2012) came to be matters of new public health concern.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
[[use]]
|
|
6
|
+
Compositional values of foods are useful in manifold ways; in nutritional surveillance, consumer nutrition appraisal, nutrition labeling, etiology of disease prevalence, setting school menu standards-meal planning, issue of dietary guidelines- recommendations and even to estimate intake of toxic and non-nutritive components as well as to assess environmental impact of foods. Thus, compilation of food composition data is an important activity the utility of which spans across various sectors and disciplines.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
[[1951]]
|
|
10
|
+
Between 1938 and 1951, there was a notable transition in the Indian nutrition scenario. Among tropical regions, India contributed substantially in the field of nutrition (Nicholls, 1945). The incidence of pellagra was noticed and the role of niacin in its cure was successfully demonstrated in India (Raman, 1940; Aykroyd & Swaminathan, 1940). The agricultural practices in India also underwent modifications with concomitant increase in the crop yields. However, the basic diet of individuals remained inadequate, devoid of animal fats and proteins, due to poor economic conditions (Day, 1944). The translation of nutrition research into sustained public health was hindered by obstacles of weak economy, ignorance and poverty (Aykroyd, 1941). Other deficiency diseases such as maternal anaemia, infant beriberi and osteomalacia continued to be rampant. Sustained nutritional issues prompted the revision of Indian FCT resulting in the publication of fourth edition of the Health Bulletin No. 23 by Aykroyd, Patwardhan, and Ranganathan (1951).
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
[[funder]]
|
|
14
|
+
IFCT2017 is funded by Indian Council of Medical Research (ICMR), New Delhi.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
[[why]]
|
|
18
|
+
Nutritional disorders were prominent public health concern in India during the early 20th century (Barry, 1900; Annual report of Government of India, 1905; Scott, 1916; Ernest, 1917). A general inclination was to pursue research that would elucidate the facts responsible for the prevalence of malnutrition in order to issue guidelines and deliver solutions for its prevention and control. In the year 1918, an enquiry headed by Sir Robert McCarrison was launched to investigate the prevalence of beriberi under the auspices of Indian Research Fund Association (IRFA), now Indian Council of Medical Research (ICMR). Subsequently, the research broadened to a ‘deficiency disease enquiry’ and ultimately transformed into a fully functional research organization named Nutrition Research Laboratories (NRL) housed at the Pasteur Institute, Coonor, Nilgiri, India (Narasinga Rao, 2005a).
|
|
19
|
+
|
|
20
|
+
One of the major public health concerns that NRL, Coonor started looking into was the protein energy malnutrition (PEM). Incipient reports on nutrient evaluations in India, suggested an emphasis on protein content and quality of Indian foods and diets (Lewis, 1880; McNamara, 1906; McCay, 1910; McCay, 1911; McCay, 1912; Passmore, 1948). Prevalence of iron deficiency anemia (IDA) among infants and children of India was also widely recognized. However, comprehensive and conclusive epidemiological studies on nutritional deficiencies in India were scarce. Aykroyd and Rajagopal (1936) reported that the weight for height of Indian children was below that of American children and almost 14% of them showed signs of deficiency diseases. Nutrient deficiency diseases such as beriberi, keratomalacia, night blindness, rickets, osteomalacia, dental caries, pellagra, pregnancy anaemia and lathyrism were of the major concern (McCarrison, 1932). In addition, incidence of goiter due to iodine deficiency was also an issue of concern affecting the Indian population in many regions of the country.
|
|
21
|
+
|
|
22
|
+
Insufficient consumption of milk, eggs and meat was found to be the cause of inadequate supply of protein, minerals such as calcium and fat soluble vitamin A among certain sections of Indian populations (McCarrison, 1925). Prevalence of malnutrition due to inadequate nutrient intake was observed throughout the country.The cause of beriberi in India was found to be low dietary supply of vitamin B either from rice or other food grains (McCarrison & Norris, 1924). Aykroyd (1932) found that milled parboiled rice contained considerably higher amount of vitamin B1 as compared to raw milled rice. Meanwhile, McCarrison (1936) established that populations who preferred consuming raw milled rice over parboiled milled rice were more prone to beriberi.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
[[source]]
|
|
26
|
+
No data in this book has been borrowed or derived from other data sources and represents accurate nutritional information of foods that are consumed across the country. The data are of reasonable representation of year round nationwide means and fit for assessment of nutrient intakes and their impact on health of the population.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
[[credit]]
|
|
30
|
+
Several individuals and organizations have been involved in the development of the ‘Indian Food Composition Tables, 2017’ right from conception of the programme, infrastructure establishment, capacity building and execution. This herculean task could not have been possible without the immense support from all corners.
|
|
31
|
+
|
|
32
|
+
Particular acknowledgement is due to Dr. V. M. Katoch, Former Secretary, Department of Health Research & Director General, Indian Council of Medical Research (ICMR) who recognized the importance and the need for new Indian Food Composition Database and provided the required financial grant for implementing the programme. Special thanks to Dr. Soumya Swaminathan, Secretary, Department of Health Research & Director General, Indian Council of Medical Research for her constant support and encouragement in accomplishing the task.
|
|
33
|
+
|
|
34
|
+
Sincere thanks to Dr. B. Sesikeran, Former Director, National Institute of Nutrition (NIN) and Dr. G. S. Toteja, Scientist-G & Head, Nutrition, ICMR for facilitating the smooth operation of the project without which the project would not have seen the light of the day. Particular thanks to Late Dr. B. S. Narasinga Rao, former Director of NIN and Dr. Padam Singh former Adll. Director General, ICMR and all the Expert Committee Members for their invaluable scientific inputs which strengthened the programme.
|
|
35
|
+
|
|
36
|
+
The constant support and encouragement provided by Dr. Ute Ruth Charrondiere, INFOODS Coordinator, FAO, Rome is gratefully acknowledged. Special appreciation and thanks to Dr. Kailash Chandra, Director, ZSI., Dr. Rajkumar Rajan, Officer-in-charge, Mr. A. Anand Kumar and Mr. Shrini Vaasu from Marine Biological Regional Centre, Chennai for their tireless effort in taxonomical identification of all varieties of fish, shellfish and mollusc analyzed.
|
|
37
|
+
|
|
38
|
+
To the project scientists Dr. P. Ravindra Naik, Dr. Charles Dorni, Dr. Hyma Pardipur, Dr. B. Sreedhar, Dr. S. Muthuswami, Dr. V. S. S. Prasad, Dr. Smitha Mathews and all the project Technical and Supporting staff, who worked tirelessly with so much passion, a special acknowledgment of gratitude. The invaluable contribution of Mr. V. Satish Babu, Instrumentation Officer who kept all the big and small instruments in excellent condition, Technical Officers Mr. K. Mangthya, Mr. K. Subhash & Mrs. P. S. Prashanti, is gratefully acknowledged for their technical support.
|
|
39
|
+
|
|
40
|
+
The extraordinary support received from various quarters of the National Institute of Nutrition - Administration, Stores, Purchase, Accounts, Leave Section, Electrical, Plumbing and Supporting Staff, Scientific and Technical colleagues cannot be forgotten and it will go down into history as the new book ‘Indian Food Composition Tables, 2017’ is released.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
[[limitation]]
|
|
44
|
+
Food being a biological matter exhibits variations in chemical composition due to multiple factors. This is particularly true for labile nutrients like vitamins and variations are imminent due to food processing. These limitations of the FCT need to be understood by the users.
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
[[1937]]
|
|
48
|
+
Nutritional disorders were prominent public health concern in India during the early 20th century (Barry, 1900; Annual report of Government of India, 1905; Scott, 1916; Ernest, 1917). A general inclination was to pursue research that would elucidate the facts responsible for the prevalence of malnutrition in order to issue guidelines and deliver solutions for its prevention and control. In the year 1918, an enquiry headed by Sir Robert McCarrison was launched to investigate the prevalence of beriberi under the auspices of Indian Research Fund Association (IRFA), now Indian Council of Medical Research (ICMR). Subsequently, the research broadened to a ‘deficiency disease enquiry’ and ultimately transformed into a fully functional research organization named Nutrition Research Laboratories (NRL) housed at the Pasteur Institute, Coonor, Nilgiri, India (Narasinga Rao, 2005a).
|
|
49
|
+
|
|
50
|
+
One of the major public health concerns that NRL, Coonor started looking into was the protein energy malnutrition (PEM). Incipient reports on nutrient evaluations in India, suggested an emphasis on protein content and quality of Indian foods and diets (Lewis, 1880; McNamara, 1906; McCay, 1910; McCay, 1911; McCay, 1912; Passmore, 1948). Prevalence of iron deficiency anemia (IDA) among infants and children of India was also widely recognized. However, comprehensive and conclusive epidemiological studies on nutritional deficiencies in India were scarce. Aykroyd and Rajagopal (1936) reported that the weight for height of Indian children was below that of American children and almost 14% of them showed signs of deficiency diseases. Nutrient deficiency diseases such as beriberi, keratomalacia, night blindness, rickets, osteomalacia, dental caries, pellagra, pregnancy anaemia and lathyrism were of the major concern (McCarrison, 1932). In addition, incidence of goiter due to iodine deficiency was also an issue of concern affecting the Indian population in many regions of the country.
|
|
51
|
+
|
|
52
|
+
Insufficient consumption of milk, eggs and meat was found to be the cause of inadequate supply of protein, minerals such as calcium and fat soluble vitamin A among certain sections of Indian populations (McCarrison, 1925). Prevalence of malnutrition due to inadequate nutrient intake was observed throughout the country.The cause of beriberi in India was found to be low dietary supply of vitamin B either from rice or other food grains (McCarrison & Norris, 1924). Aykroyd (1932) found that milled parboiled rice contained considerably higher amount of vitamin B1 as compared to raw milled rice. Meanwhile, McCarrison (1936) established that populations who preferred consuming raw milled rice over parboiled milled rice were more prone to beriberi.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
[[user]]
|
|
56
|
+
The users of the FCT will vary greatly and the data is expected to essentially benefit every national activity touching on human nutrition research, policy and education in India.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
[[group]]
|
|
60
|
+
There are 20 food groups:
|
|
61
|
+
- A: Cereals and Millets. 24 foods.
|
|
62
|
+
- B: Grain Legumes. 25 foods.
|
|
63
|
+
- C: Green Leafy Vegetables. 34 foods.
|
|
64
|
+
- D: Other Vegetables. 78 foods.
|
|
65
|
+
- E: Fruits. 68 foods.
|
|
66
|
+
- F: Roots and Tubers. 19 foods.
|
|
67
|
+
- G: Condiments and Spices. 33 foods.
|
|
68
|
+
- H: Nuts and Oil Seeds. 21 foods.
|
|
69
|
+
- I: Sugars. 2 foods.
|
|
70
|
+
- J: Mushrooms. 4 foods.
|
|
71
|
+
- K: Miscellaneous Foods. 2 foods.
|
|
72
|
+
- L: Milk and Milk Products. 4 foods.
|
|
73
|
+
- M: Egg and Egg Products. 15 foods.
|
|
74
|
+
- N: Poultry. 19 foods.
|
|
75
|
+
- O: Animal Meat. 63 foods.
|
|
76
|
+
- P: Marine Fish. 92 foods.
|
|
77
|
+
- Q; Marine Shellfish. 8 foods.
|
|
78
|
+
- R: Marine Mollusks. 7 foods.
|
|
79
|
+
- S: Fresh Water Fish and Shellfish. 10 foods.
|
|
80
|
+
- T: Edible Oils and Fats. 9 foods.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
[[supporter]]
|
|
84
|
+
International support is necessary and the International Network of Food Data Systems (INFOODS) at the Food and Agriculture Organization of the United Nations (FAO), Rome continues to provide assistance in terms of standards development and capacity building to strengthen national food composition activities across the world. Generating high quality food composition data is an expensive proposition but essential for elevating the nutrition scenario of the country. Therefore, sustained funding from the government through policy environment is required to sustain this cardinal activity.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
[[what]]
|
|
88
|
+
Ever since the pioneering Indian FCT was brought out in the year 1937, the National Institute of Nutrition (ICMR), Hyderabad, has been constantly updating the compositional database of Indian foods. The new ‘Indian Food Composition Tables, 2017’, provides nutritional information on 151 discrete food components for 542 key foods. All data presented in this book originate from regional composite samples averaged for six geographical regions of the country. The voluminous food composition data of unprecedented analytical quality is statistically representative of both the national food supply and consumption pattern. The standard deviation of each component data point represents the overall variability within. No data in this book has been borrowed or derived from other data sources and represents accurate nutritional information of foods that are consumed across the country. The data are of reasonable representation of year round nationwide means and fit for assessment of nutrient intakes and their impact on health of the population. Except for eggs, all other food component data are for foods in the raw form. Food being a biological matter exhibits variations in chemical composition due to multiple factors. This is particularly true for labile nutrients like vitamins and variations are imminent due to food processing. These limitations of the FCT need to be understood by the users.
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
[[father]]
|
|
92
|
+
The father of nutrition in India is:
|
|
93
|
+
C. Gopalan
|
|
94
|
+
MD., Ph.D., D.Sc. (London), D.Sc. (Hon.), F.R.S., F.R.C.P. (Edin.), F.R.C.P. (London)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
[[data]]
|
|
98
|
+
The new ‘Indian Food Composition Tables, 2017’, provides nutritional information on 151 discrete food components for 542 key foods. All data presented in this book originate from regional composite samples averaged for six geographical regions of the country. The voluminous food composition data of unprecedented analytical quality is statistically representative of both the national food supply and consumption pattern. The standard deviation of each component data point represents the overall variability within.
|
|
99
|
+
|
|
100
|
+
No data in this book has been borrowed or derived from other data sources and represents accurate nutritional information of foods that are consumed across the country. The data are of reasonable representation of year round nationwide means and fit for assessment of nutrient intakes and their impact on health of the population.
|
|
101
|
+
|
|
102
|
+
Except for eggs, all other food component data are for foods in the raw form. Food being a biological matter exhibits variations in chemical composition due to multiple factors. This is particularly true for labile nutrients like vitamins and variations are imminent due to food processing. These limitations of the FCT need to be understood by the users.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
[[1963]]
|
|
106
|
+
In the subsequent years between 1952 and 1962, growth in nutrition oriented research in India took place even while deficiency disorders continued to be widespread. The diets predominantly comprised of cereals, small quantities of pulses, green vegetables and lesser proportion of milk, meat and eggs. Protein malnutrition was of considerable magnitude particularly among the poor communities (Rao, Swaminathan, Swarup, & Patwardhan,1959). Incidence of kwashiorkor and marasmus were observed across India (Gopalan & Ramalingaswami, 1955). Scientific articles around this time elucidated the role of amino acids in regulation of human health. Pellagra was reportedly instigated by amino acid imbalance of the sorghum diet, due to relatively excess leucine intake (Gopalan, 1961). Additionally, it was reported that the BV of proteins may not be limited by single amino acid but could be due to combined effects of partial amino acid deficiencies (Patwardhan, 1956). Among micronutrient deficiencies, iron deficiency anemia (IDA) was observed more among rural sections of populations while kwashiorkor occurred throughout India (Patwardhan, 1961). It was found that the prevalence of IDA was greater in India when compared to Europe due to excessive phosphorus and phytic acid with concomitant low calcium levels in the diet. About 16% of population had less than 8 g/100 dl mean blood haemoglobin level while the daily intake of iron among Indian populations ranged from 12 to 40 mg (Foy & Kondi, 1957). The occurrence of IDA was therefore observed to be not exclusively limited to the low iron intake from the diets but was also attributed to poor gastrointestinal absorption, inhibition of iron uptake by other dietary components or even the loss of absorbed iron.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
[[column]]
|
|
110
|
+
The food components (nutrients) listed are:
|
|
111
|
+
- Proximate Principles and Dietary Fiber
|
|
112
|
+
- Water Soluble Vitamins
|
|
113
|
+
- Fat Soluble Vitamins
|
|
114
|
+
- Carotenoids
|
|
115
|
+
- Minerals and Trace Elements
|
|
116
|
+
- Starch and Individual Sugars
|
|
117
|
+
- Fatty Acid Profile
|
|
118
|
+
- Amino Acid Profile
|
|
119
|
+
- Organic Acids
|
|
120
|
+
- Polyphenols
|
|
121
|
+
- Oligosaccharides, Phytosterols, Saponins and Phytates
|
|
122
|
+
- Fatty Acid Profile of Edible Oils and Fats
|
|
123
|
+
|
|
124
|
+
For a detailed list of all food components, please check:
|
|
125
|
+
https://ifct2017.github.io/docs/columns
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
[[1989]]
|
|
129
|
+
The green revolution ushered in food security and there was a substantial decrease in the levels of poverty in India. After 1971, the status of nutritional deficiencies was observed to have improved with the reduction in the prevalence of IDA, vitamin A deficiency (VAD) and child malnutrition except the incidence of goitre which had escalated. Between 1971 and 1974, the prevalence of corneal disease (vitamin A deficiency) accounted for about 2% of the cases of blindness in India (Reddy, Shekar, Rao, & Gillespie, 1992). Between 1975 and 1990, there was a decline in clinical deficiency signs of VAD among children of 1 to 5 years in rural areas (National Nutrition Monitoring Bureau, NNMB Report, 1991). The prevalence of marasmus and kwashiorkor also decreased from 1.3 to 0.6% and 0.4 to 0.1%, respectively. However, chronic diseases such as diabetes and cardiovascular health became matters of public health concern.
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
[[form]]
|
|
133
|
+
Except for eggs, all other food component data are for foods in the raw form.
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
[[learn]]
|
|
137
|
+
You can learn more about food and nutrition here:
|
|
138
|
+
- NIN, Hyderabad: http://www.ninindia.org/
|
|
139
|
+
- Food composition data: http://ifct2017.com/
|
|
140
|
+
- Nutrition education: http://vikaspedia.in/health/nutrition
|
|
141
|
+
- Nutrition Atlas: http://218.248.6.39/nutritionatlas/home.php
|
|
142
|
+
- Count what you eat: http://218.248.6.43:8080/CountWhatYouEat/Home.do
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
[[publisher]]
|
|
146
|
+
Indian Food Composition Tables 2017 was published by:
|
|
147
|
+
T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
148
|
+
National Institute of Nutrition
|
|
149
|
+
Indian Council of Medical Research
|
|
150
|
+
Department of Health Research
|
|
151
|
+
Ministry of Health and Family Welfare, Government of India
|
|
152
|
+
Jamai Osmania (PO), Hyderabad – 500 007
|
|
153
|
+
Telangana, India
|
|
154
|
+
Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
[[challenge]]
|
|
158
|
+
Keeping food composition data up-to-date is a continuous challenge and ‘Indian Food Composition Tables, 2017’ does not contain a exhaustive list of all foods consumed in India. The multi-cultural nature of the Indian population can be observed in the diverse ethnic foods used across the regions for which compositional database is still inconsistent and fragmentary. Food composition tables are never complete due to the constant introduction of new foods into food supply, discovery of food components that are associated with health and disease, and continuous improvements in analytical methods and techniques.
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
[[interest]]
|
|
162
|
+
Recent studies of the relationship between diet and health have led to increased interest in the range of biologically active constituents present in foods that accompany the nutrients. This book not only provides data of regular nutrients in foods complete in all respect but also on a whole range of bioactive substances. Vitamin D2 content in plant foods is presented here for the first time in the world. The tables contain data on oligosaccharides, phytosterols, organic acids and individual polyphenols. This book also embodies an exhaustive database on amino acid and fatty acid profiles of various foods.
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
[[when]]
|
|
166
|
+
In India, nutrient profiling of foods began almost a century ago which manifested in four main published FCT editions in the year 1937, 1951, 1971 and 1989.
|
|
167
|
+
|
|
168
|
+
The latest FCT was published on 2017.
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
[[1971]]
|
|
172
|
+
In a relatively short duration between 1964 and 1970 there was very little probability for the alteration in the nutritive value of Indian foods. The dietary pattern remained similar despite economic growth, probably due to concomitant population expansion, low income and inadequate food supply (Rao, 1967). A slight upward trend was noted in the consumption of foods from animal sources, fats, sugars while a slight decline was noticed in the intakes of vegetables and food grains. Yet, diets were found to be inadequate in protein, vitamin A, calcium, iron, energy, ascorbic acid, thiamine and riboflavin according to Nutritional Advisory Committee (NAC) of the ICMR (Devadas et al., 1965). The Indian population continued to thrive on subsistence vegetarian diets with little or no milk. These dietetic and nutritional factors were considered while revising the FCT. Subsequently, a consolidated FCT entitled ‘Nutritive Value of Indian Foods’ was released by Gopalan, Ramasastri, and Balasubramanian (1971). The phrase ‘Planning of Satisfactory Diets’ was excluded from the title probably due to increase in consumer options triggered by economic growth.
|
|
173
|
+
|
|
174
|
+
Apart from inadequate dietary iron intake, the incidence of IDA was additionally ascribed to impair iron absorption leading to metabolic deficit due to preference for cereal rather than iron rich foods (Venkatachalam, 1968). Protein energy malnutrition (PEM) in the forms of Kwashiorkor (protein and calorie deficiency) and marasmus (calorie deficiency) were evident among children and were regarded as the most prevalent and widespread nutritional problems in India during those days (Gopalan, 1970). Nutritional hypertension observed among Indian population was at that time ascribed to the differential proportion of long chain versus short chain fatty acids in the fats and oils consumed (Malhotra, 1970).
|