Plicometría is FocusFlow’s integrated body composition measurement module. It lets coaches (and optionally athletes) record skinfold caliper readings in millimetres and receive instant, protocol-correct calculations of body density, body fat percentage, fat mass, and lean mass — all without leaving the platform. Measurements are plotted on interactive trend charts over time, making it easy to track body recomposition progress session-to-session. The module is built on four validated scientific protocols and is backed by theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/piratta/gymApp/llms.txt
Use this file to discover all available pages before exploring further.
computePlicometriaValues() function in src/lib/plicometria.ts.
Enabling Plicometría
Plicometría is disabled by default for all athletes. To activate it:Go to the Details sub-tab
Open the Ficha del Atleta (Details) sub-tab and click Editar Ficha to enter edit mode.
Enable the toggle
Turn on the
isPlicometriaEnabled toggle on the ClientProfile. A plicometriaProtocolId selector will appear — choose the protocol to use for this athlete.Supported Protocols
FocusFlow supports four evidence-based skinfold protocols. The protocol is selected per-athlete viaClientProfile.plicometriaProtocolId and controls which skinfold fields are shown in the entry form.
3-Fold — Jackson-Pollock
3-Fold — Jackson-Pollock
The classic 3-site Jackson-Pollock protocol. Site selection is sex-specific.
Formula (body density):
| Sex | Sites |
|---|---|
| Male | Pectoral + Abdominal + Muslo anterior |
| Female | Tríceps + Suprailíaco + Muslo anterior |
- Male:
D = 1.10938 − 0.0008267×S + 0.0000016×S² − 0.0002574×age - Female:
D = 1.0994921 − 0.0009929×S + 0.0000023×S² − 0.0001392×age
S = sum of the three skinfolds in mm. Body fat percentage is then derived using the Siri formula: %fat = (4.95 / D − 4.5) × 100.4-Fold — Durnin-Womersley
4-Fold — Durnin-Womersley
The 4-site Durnin-Womersley protocol. Applies to all genders with the same four sites.Sites (all): Tríceps + Bíceps + Subescapular + SuprailíacoFormula:
Age is calculated at the date of each measurement via
D = c − m × log₁₀(S)The coefficients c and m are selected from age group × sex lookup tables:| Sex | Age | c | m |
|---|---|---|---|
| Male | < 20 | 1.162 | 0.063 |
| Male | 20–29 | 1.1631 | 0.0632 |
| Male | 30–39 | 1.1422 | 0.0544 |
| Male | 40–49 | 1.162 | 0.0700 |
| Male | ≥ 50 | 1.1715 | 0.0779 |
| Female | < 20 | 1.1549 | 0.0678 |
| Female | 20–29 | 1.1599 | 0.0717 |
| Female | 30–39 | 1.1423 | 0.0632 |
| Female | 40–49 | 1.1333 | 0.0612 |
| Female | ≥ 50 | 1.1339 | 0.0645 |
calculateAgeAtDate(birthDate, logDate). Body fat % is then computed with the Siri formula.7-Fold — Jackson-Pollock
7-Fold — Jackson-Pollock
The comprehensive 7-site Jackson-Pollock protocol. Uses the same sites for all genders but applies sex-specific polynomial formulas.Sites (all): Pectoral + Axilar medio + Tríceps + Subescapular + Abdominal + Suprailíaco + Muslo anteriorFormula (body density):
- Male:
D = 1.112 − 0.00043499×S + 0.00000055×S² − 0.00028826×age - Female:
D = 1.097 − 0.00046971×S + 0.00000056×S² − 0.00012828×age
S = sum of all seven skinfolds. Body fat % from the Siri formula.Yuhasz (6-Fold)
Yuhasz (6-Fold)
The Yuhasz protocol uses a direct %fat formula — it bypasses body density entirely.Sites (all): Pectoral + Subescapular + Tríceps + Abdominal + Suprailíaco + Muslo anteriorFormula (%fat direct):
- Male:
%fat = 0.1051 × S + 2.585 - Female:
%fat = 0.1548 × S + 3.58
S = sum of all six skinfolds in mm. Because there is no intermediate density step, densidadCorporal is stored as the default value 1.0 for Yuhasz logs.The PlicometriaLog Type
Each measurement session is persisted as a PlicometriaLog document in Firestore:
undefined and excluded from the sum.
The computePlicometriaValues() Function
All body composition arithmetic is centralised in a single pure function:
Displayed Results
After all skinfold values are entered, FocusFlow computes and shows results in real time (before saving) and stores them on the log record:Suma de Pliegues
sumaPliegues — total of all active skinfold sites, in mm. Displayed as an integer.Densidad Corporal
densidadCorporal — intermediate body density value (g/mL), displayed to 4 decimal places. Always 1.0 for Yuhasz.Porcentaje Graso
porcentajeGrasa — body fat percentage (%), displayed to 1 decimal place. Colour-coded amber in the UI.Masa Grasa
masaGrasa — fat mass in kg (weight × porcentajeGrasa / 100). Displayed in red.Masa Magra
masaMagra — lean mass in kg (weight − masaGrasa). Displayed in emerald.- Evolución de Composición Corporal — overlays
Grasa %,Masa Magra (kg), andMasa Grasa (kg)on dual Y-axes over time. - Historial de Pliegues Cutáneos — plots each individual skinfold site in mm over time, one coloured line per site.
Data Validation
When entering a new measurement, FocusFlow compares each entered value against the most recent log. If any individual field deviates by ≥ 25% from the previous reading, a validation warning is triggered:“Algún valor introducido varía mucho respecto a la última medición. Confirma que es correcto.”The coach must check an acknowledgement checkbox before the Guardar Medición submit button becomes active. This guards against accidental unit errors (e.g., entering centimetres instead of millimetres).
%fat clamping: After formula evaluation,
porcentajeGrasa is always clamped between 2% and 60% with Math.max(2, Math.min(60, porcentajeGrasa)). This prevents physiologically impossible outputs caused by extreme skinfold combinations or data-entry errors from propagating into the stored log or trend charts.Who can enter measurements? Both coaches and athletes can submit plicometría records — the
createdBy field records "coach" or "client" accordingly. Coach-entered records are the authoritative measurement for progress reporting. Athlete-entered records are useful for self-tracking between scheduled sessions.