additional prescription fields, improved display of clients and prescriptions
[confetti] / templates / view_client.sh
1 # Copyright 2014 - 2016 Paul Hänsch
2 #
3 # This file is part of Confetti.
4
5 # Confetti is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9
10 # Confetti is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Affero General Public License for more details.
14
15 # You should have received a copy of the GNU Affero General Public License
16 # along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
17
18 n=$(printf %s "$values[N]" \
19     | sed -rn 's:^([^;]*)(\;[^;]*)(\;[^;]*)?(\;[^;]*)?(\;[^;]*)?$:\4 \2 \3 \1 \5:gp' \
20     | sed -r 's:,: :;s:\;: :g;s: +: :g;s:^ $::;'
21    )
22 fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
23
24 hi_company="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f1)"
25 hi_number="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f2)"
26 hi_status="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f3)"
27
28
29 cat <<END_HTML
30   <div class="section basic">
31     <h2 class="item FN">$fullname</h2>
32     ${values[GENDER]:+<span class="item GENDER">$(l10n $values[GENDER])</span>}
33
34     $(for n in NICKNAME NICKNAME{0..10}; do
35       echo "${values[$n]:+<span class="item NICKNAME">aka. $values[$n]</span>}"
36     done)
37
38     ${values[BDAY]:+<span class="item BDAY"><label>*:</label> ${values[BDAY]}</span>}
39     ${values[SOUND]:+<audio controls="controls" class="item SOUND"><source type="audio/ogg" src="data:audio/ogg;base64,$values[SOUND]" /></audio>}
40     ${values[PHOTO]:+<img class="item PHOTO" src="data:image/$tags[PHOTO_TYPE];base64,$values[PHOTO]" />}
41     ${values[LOGO]:+<img class="item LOGO" src="data:image/$tags[LOGO_TYPE];base64,$values[LOGO]" />}
42
43     <h3>$(l10n ADR)</h3>
44     $(for n in ADR ADR{0..10}; do
45       echo "${values[$n]:+<span class="item ADR">$values[$n]</span>}"
46     done)
47     ${values[URL]:+<h3>$(l10n URL)</h3>}
48     $(for n in URL URL{0..10}; do
49       echo "${values[$n]:+<span class="item URL"><a href="$values[$n]">$values[$n]</a></span>}"
50     done)
51   </div><!--
52
53   --><div class="section phone">
54     <h3>$(l10n TEL)</h3>
55     $(for n in TEL TEL{0..10}; do
56       echo "${values[$n]:+<span class="item TEL">$tags[${n}_TYPE] $values[$n]</span>}"
57     done)
58     ${values[EMAIL]:+<h3>$(l10n EMAIL)</h3>}
59     $(for n in EMAIL EMAIL{0..10}; do
60       echo "${values[$n]:+<span class="item EMAIL"><a href="mailto:$values[$n]">$values[$n]</a></span>}"
61     done)
62     ${values[IMPP]:+<h3>$(l10n IMPP)</h3>}
63     $(for n in IMPP IMPP{0..10}; do
64       echo "${values[$n]:+<span class="item IMPP">$tags[${n}_TYPE] <a href="$values[$n]">$values[$n]</a></span>}"
65     done)
66   </div><!--
67
68   --><div class="section insurance">
69     <h3>$(l10n X-HEALTH-INSURANCE)</h3>
70     ${hi_company:+<span class="item hi_comapany">${hi_company}</span>}
71     ${hi_number:+<span class="item hi_number"><label>$(l10n hi_number):</label> ${hi_number}</span>}
72     ${hi_status:+<span class="item hi_status"><label>$(l10n hi_status):</label> ${hi_status}</span>}
73   </div><!--
74
75   --><div class="section note">
76     ${values[NOTE]:+<h3>$(l10n NOTE)</h3>}
77     $(for n in NOTE NOTE{0..10}; do
78       echo "${values[$n]:+<span class="item NOTE">$values[$n]</span>}"
79     done)
80     ${values[X-CLIENT-REFERRAL]:+<h3>$(l10n X-CLIENT-REFERRAL)</h3>}
81     $(for n in X-CLIENT-REFERRAL X-CLIENT-REFERRAL{0..10}; do
82       echo "${values[$n]:+<span class="item X-CLIENT-REFERRAL">$values[$n]</span>}"
83     done)
84   </div><!--
85
86   --><div class="section prescriptions">
87     <h3>$(l10n prescriptions)</h3>
88     <ul>
89     $(find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \
90       | while read pfile; do
91         printf '%s\t%s\t%s\n'  
92         printf '<li><a href="?p=prescriptions&amp;client=%s" >%s: %s - %s%s</a></li>' \
93           "${id}" \
94           "$(sed -nr 's;^date:(.+)$;\1;p' "$pfile")" \
95           "$(sed -nr 's;^indicator:(.+)$;\1;p' "$pfile")" \
96           "$(sed -nr 's;^quantity:(.+) ?$;\1x ;p' "$pfile")$(sed -nr 's;^remidy:(.+)$;\1;p' "$pfile")" \
97           "$(sed -nr 's;^quantity1:(.+) ?$;,\1x ;p' "$pfile")$(sed -nr 's;^remidy1:(.+)$;\1;p' "$pfile")"
98       done |sort -r
99     )
100     </ul>
101   </div>
102 END_HTML