The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

akg - Get one or more values from Indonesian Ministry of Health's RDA (shorter alias for kemenkes-get-rda)

VERSION

This document describes version 0.003 of akg (from Perl distribution App-KemenkesUtils-RDA), released on 2024-06-28.

SYNOPSIS

akg --help (or -h, -?)

akg --version (or -v)

akg [--action=str|-g|--list-groups|--list-nutrients|-n] [--debug|--log-level=level|--quiet|--trace|--verbose] [--detail|-l|--no-detail|--nodetail] [--format=name|--json] [--(no)naked-res] [--page-result[=program]|--view-result[=program]] -- [nutrient] [group] [value]

See examples in the "EXAMPLES" section.

OPTIONS

* marks required options.

Main options

--action=s

Default value:

"list_refs"

Valid values:

["list_refs","list_nutrients","list_groups"]
--detail, -l

(No description)

--group=s

Valid values:

["0to5mo","1to3y","4to6y","6to11mo","7to9y","add_breastfeeding_0to6m","add_breastfeeding_6to12m","add_pregnant_trimst1","add_pregnant_trimst2","add_pregnant_trimst3","female_10to12y","female_13to15y","female_16to18y","female_19to29y","female_30to49y","female_50to64y","female_65to80y","female_80y_plus","male_10to12y","male_13to15y","male_16to18y","male_19to29y","male_30to49y","male_50to64y","male_65to80y","male_80y_plus"]

Can also be specified as the 2nd command-line argument.

--list-groups

Shortcut for --action=list_groups.

See --action.

--list-nutrients

Shortcut for --action=list_nutrients.

See --action.

--nutrient=s

(No description)

Can also be specified as the 1st command-line argument.

--value=s

(No description)

Can also be specified as the 3rd command-line argument.

-g

Shortcut for --action=list_groups.

See --action.

-n

Shortcut for --action=list_nutrients.

See --action.

Logging options

--debug

Shortcut for --log-level=debug.

--log-level=s

Set log level.

By default, these log levels are available (in order of increasing level of importance, from least important to most): trace, debug, info, warn/warning, error, fatal. By default, the level is usually set to warn, which means that log statements with level info and less important levels will not be shown. To increase verbosity, choose info, debug, or trace.

For more details on log level and logging, as well as how new logging levels can be defined or existing ones modified, see Log::ger.

--quiet

Shortcut for --log-level=error.

--trace

Shortcut for --log-level=trace.

--verbose

Shortcut for --log-level=info.

Output options

--format=s

Choose output format, e.g. json, text.

Default value:

undef

Output can be displayed in multiple formats, and a suitable default format is chosen depending on the application and/or whether output destination is interactive terminal (i.e. whether output is piped). This option specifically chooses an output format.

--json

Set output format to json.

--naked-res

When outputing as JSON, strip result envelope.

Default value:

0

By default, when outputing as JSON, the full enveloped result is returned, e.g.:

[200,"OK",[1,2,3],{"func.extra"=>4}]

The reason is so you can get the status (1st element), status message (2nd element) as well as result metadata/extra result (4th element) instead of just the result (3rd element). However, sometimes you want just the result, e.g. when you want to pipe the result for more post-processing. In this case you can use --naked-res so you just get:

[1,2,3]
--page-result

Filter output through a pager.

This option will pipe the output to a specified pager program. If pager program is not specified, a suitable default e.g. less is chosen.

--view-result

View output using a viewer.

This option will first save the output to a temporary file, then open a viewer program to view the temporary file. If a viewer program is not chosen, a suitable default, e.g. the browser, is chosen.

Other options

--help, -h, -?

Display help message and exit.

--version, -v

Display program's version and exit.

COMPLETION

This script has shell tab completion capability with support for several shells.

bash

To activate bash completion for this script, put:

complete -C akg akg

in your bash startup (e.g. ~/.bashrc). Your next shell session will then recognize tab completion for the command. Or, you can also directly execute the line above in your shell to activate immediately.

It is recommended, however, that you install modules using cpanm-shcompgen which can activate shell completion for scripts immediately.

tcsh

To activate tcsh completion for this script, put:

complete akg 'p/*/`akg`/'

in your tcsh startup (e.g. ~/.tcshrc). Your next shell session will then recognize tab completion for the command. Or, you can also directly execute the line above in your shell to activate immediately.

It is also recommended to install shcompgen (see above).

other shells

For fish and zsh, install shcompgen as described above.

EXAMPLES

List all nutrient (symbols)

% akg --list-nutrients
Ca
Cl
Cr
Cu
... 29 more lines ...
VK
Water
Zn

List all groups (symbols)

% akg --list-groups
0to5mo
1to3y
4to6y
6to11mo
7to9y
add_breastfeeding_0to6m
add_breastfeeding_6to12m
add_pregnant_trimst1
add_pregnant_trimst2
add_pregnant_trimst3
female_10to12y
female_13to15y
female_16to18y
female_19to29y
female_30to49y
female_50to64y
female_65to80y
female_80y_plus
male_10to12y
male_13to15y
male_16to18y
male_19to29y
male_30to49y
male_50to64y
male_65to80y
male_80y_plus

List all AKG values

% akg
+--------------------+--------------------------+--------+--------+------+
| symbol             | group                    | height | weight | ref  |
+--------------------+--------------------------+--------+--------+------+
| Ca                 | 0to5mo                   | 60     | 6      | 200  |
| Cl                 | 0to5mo                   | 60     | 6      | 180  |
... 931 more lines ...
| VK                 | add_breastfeeding_6to12m |        |        | 0    |
| Water              | add_breastfeeding_6to12m |        |        | 650  |
| Zn                 | add_breastfeeding_6to12m |        |        | 5    |
+--------------------+--------------------------+--------+--------+------+

List AKG for vitamin D, for all groups

% akg VD
+--------------------------+--------+--------+-----+
| group                    | height | weight | ref |
+--------------------------+--------+--------+-----+
| 0to5mo                   | 60     |      6 | 10  |
| 6to11mo                  | 72     |      9 | 10  |
| 1to3y                    | 92     |     13 | 15  |
| 4to6y                    | 113    |     19 | 15  |
| 7to9y                    | 130    |     27 | 15  |
| male_10to12y             | 145    |     36 | 15  |
| male_13to15y             | 163    |     50 | 15  |
| male_16to18y             | 168    |     60 | 15  |
| male_19to29y             | 168    |     60 | 15  |
| male_30to49y             | 166    |     60 | 15  |
| male_50to64y             | 166    |     60 | 15  |
| male_65to80y             | 164    |     58 | 20  |
| male_80y_plus            | 164    |     54 | 20  |
| female_10to12y           | 147    |     38 | 15  |
| female_13to15y           | 156    |     48 | 15  |
| female_16to18y           | 159    |     52 | 15  |
| female_19to29y           | 159    |     55 | 15  |
| female_30to49y           | 158    |     56 | 15  |
| female_50to64y           | 158    |     56 | 15  |
| female_65to80y           | 157    |     53 | 20  |
| female_80y_plus          | 157    |     53 | 20  |
| add_pregnant_trimst1     |        |        | 0   |
| add_pregnant_trimst2     |        |        | 0   |
| add_pregnant_trimst3     |        |        | 0   |
| add_breastfeeding_0to6m  |        |        | 0   |
| add_breastfeeding_6to12m |        |        | 0   |
+--------------------------+--------+--------+-----+

List AKG for vitamin D, for 1-3 years olds

% akg VD 1to3y
+--------+--------+-----+
| height | weight | ref |
+--------+--------+-----+
|     92 | 13     | 15  |
+--------+--------+-----+

List AKG for vitamin D, for 1-3 years olds, and compare a value to reference

% akg VD 1to3y 10
+--------+--------+-----+------------------+
| height | weight | ref | %akg             |
+--------+--------+-----+------------------+
|     92 |     13 | 15  | 66.6666666666667 |
+--------+--------+-----+------------------+

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/App-KemenkesUtils-RDA.

SOURCE

Source repository is at https://github.com/perlancar/perl-App-KemenkesUtils-RDA.

AUTHOR

perlancar <perlancar@cpan.org>

CONTRIBUTING

To contribute, you can send patches by email/via RT, or send pull requests on GitHub.

Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:

% prove -l

If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by perlancar <perlancar@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=App-KemenkesUtils-RDA

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.