@precisa-saude/fhir 0.33.0 → 0.35.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/README.md +2 -0
- package/dist/biomarkers.cjs +4 -2
- package/dist/biomarkers.cjs.map +1 -1
- package/dist/biomarkers.d.cts +34 -1
- package/dist/biomarkers.d.ts +34 -1
- package/dist/biomarkers.js +3 -1
- package/dist/{chunk-X5WVIJGG.js → chunk-6QUGBBV2.js} +12 -3
- package/dist/chunk-6QUGBBV2.js.map +1 -0
- package/dist/{chunk-ZCIZUBMR.cjs → chunk-77LDD6OP.cjs} +20 -11
- package/dist/chunk-77LDD6OP.cjs.map +1 -0
- package/dist/{chunk-LXKFVJF4.cjs → chunk-HZSW5T7E.cjs} +447 -63
- package/dist/chunk-HZSW5T7E.cjs.map +1 -0
- package/dist/{chunk-4FKZG5GZ.js → chunk-KQ4CX67G.js} +35 -1
- package/dist/chunk-KQ4CX67G.js.map +1 -0
- package/dist/{chunk-5RC7C7HJ.cjs → chunk-LNL5QSHP.cjs} +3 -3
- package/dist/{chunk-5RC7C7HJ.cjs.map → chunk-LNL5QSHP.cjs.map} +1 -1
- package/dist/{chunk-WXCX5TJJ.js → chunk-O3FXUPW3.js} +445 -61
- package/dist/chunk-O3FXUPW3.js.map +1 -0
- package/dist/{chunk-KS2YZBAS.js → chunk-TLF3IVSN.js} +14 -6
- package/dist/chunk-TLF3IVSN.js.map +1 -0
- package/dist/{chunk-Q3H5C6UR.js → chunk-U2XW6DY4.js} +2 -2
- package/dist/{chunk-OAFAERDY.cjs → chunk-VMYB7KOE.cjs} +3 -3
- package/dist/{chunk-OAFAERDY.cjs.map → chunk-VMYB7KOE.cjs.map} +1 -1
- package/dist/{chunk-FGZXQWSR.cjs → chunk-XAIIZLZ7.cjs} +16 -8
- package/dist/chunk-XAIIZLZ7.cjs.map +1 -0
- package/dist/{chunk-E6MXDQXW.js → chunk-XT635TWP.js} +2 -2
- package/dist/{chunk-T75NZM56.cjs → chunk-YL65SZ6S.cjs} +38 -4
- package/dist/chunk-YL65SZ6S.cjs.map +1 -0
- package/dist/cli.js +1276 -851
- package/dist/{converter-DZH9x52r.d.cts → converter-CTj83kPz.d.ts} +15 -1
- package/dist/{converter-D1Q84Oc9.d.ts → converter-Dlwb6OfB.d.cts} +15 -1
- package/dist/converter.cjs +5 -4
- package/dist/converter.cjs.map +1 -1
- package/dist/converter.d.cts +3 -2
- package/dist/converter.d.ts +3 -2
- package/dist/converter.js +4 -3
- package/dist/{fhir-types-B1KQmlRb.d.ts → fhir-types-Cn5WFbOI.d.cts} +5 -0
- package/dist/{fhir-types-B1KQmlRb.d.cts → fhir-types-Cn5WFbOI.d.ts} +5 -0
- package/dist/importer.cjs +5 -5
- package/dist/importer.d.cts +5 -1
- package/dist/importer.d.ts +5 -1
- package/dist/importer.js +4 -4
- package/dist/index.cjs +16 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +13 -7
- package/dist/index.js.map +1 -1
- package/dist/reference-ranges.cjs +8 -4
- package/dist/reference-ranges.cjs.map +1 -1
- package/dist/reference-ranges.d.cts +83 -1
- package/dist/reference-ranges.d.ts +83 -1
- package/dist/reference-ranges.js +9 -5
- package/dist/units.cjs +3 -3
- package/dist/units.js +2 -2
- package/dist/validators.cjs +4 -4
- package/dist/validators.d.cts +1 -1
- package/dist/validators.d.ts +1 -1
- package/dist/validators.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-4FKZG5GZ.js.map +0 -1
- package/dist/chunk-FGZXQWSR.cjs.map +0 -1
- package/dist/chunk-KS2YZBAS.js.map +0 -1
- package/dist/chunk-LXKFVJF4.cjs.map +0 -1
- package/dist/chunk-T75NZM56.cjs.map +0 -1
- package/dist/chunk-WXCX5TJJ.js.map +0 -1
- package/dist/chunk-X5WVIJGG.js.map +0 -1
- package/dist/chunk-ZCIZUBMR.cjs.map +0 -1
- /package/dist/{chunk-Q3H5C6UR.js.map → chunk-U2XW6DY4.js.map} +0 -0
- /package/dist/{chunk-E6MXDQXW.js.map → chunk-XT635TWP.js.map} +0 -0
|
@@ -1,35 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCanonicalUnit
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U2XW6DY4.js";
|
|
4
4
|
|
|
5
5
|
// src/reference-ranges.ts
|
|
6
6
|
var biomarkerRangeDefinitions = {
|
|
7
7
|
Albumin_Creatinine_Ratio: {
|
|
8
8
|
default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: "mg/g" },
|
|
9
|
+
kind: "decision-threshold",
|
|
9
10
|
source: "tietz-7ed-2015"
|
|
10
11
|
},
|
|
11
12
|
Adiponectin: {
|
|
12
13
|
default: { max: 26, min: 4, optimalMax: 20, optimalMin: 8, unit: "mcg/mL" },
|
|
14
|
+
kind: "reference-interval",
|
|
13
15
|
source: "tietz-7ed-2015"
|
|
14
16
|
},
|
|
15
17
|
ADMA: {
|
|
16
18
|
default: { max: 0.7, min: 0.3, optimalMax: 0.55, optimalMin: 0.3, unit: "umol/L" },
|
|
19
|
+
kind: "reference-interval",
|
|
17
20
|
source: "nemeth-adma-2017"
|
|
18
21
|
},
|
|
19
22
|
AFP: {
|
|
20
23
|
default: { max: 10, min: 0, optimalMax: 8, optimalMin: 0, unit: "ng/mL" },
|
|
24
|
+
kind: "reference-interval",
|
|
21
25
|
source: "sturgeon-nacb-2008"
|
|
22
26
|
},
|
|
23
27
|
Albumin_Globulin_Ratio: {
|
|
24
28
|
default: { max: 2.5, min: 1, optimalMax: 2.2, optimalMin: 1.2, unit: "" },
|
|
29
|
+
kind: "reference-interval",
|
|
25
30
|
source: "tietz-7ed-2015"
|
|
26
31
|
},
|
|
27
32
|
Albumin: {
|
|
28
33
|
default: { max: 5, min: 3.5, optimalMax: 4.8, optimalMin: 4, unit: "g/dL" },
|
|
34
|
+
kind: "reference-interval",
|
|
29
35
|
source: "pns-bioquimica-2019"
|
|
30
36
|
},
|
|
31
37
|
AlkalinePhosphatase: {
|
|
32
38
|
default: { max: 147, min: 44, optimalMax: 120, optimalMin: 50, unit: "U/L" },
|
|
39
|
+
kind: "reference-interval",
|
|
33
40
|
source: "tietz-7ed-2015",
|
|
34
41
|
variants: [
|
|
35
42
|
{
|
|
@@ -46,6 +53,7 @@ var biomarkerRangeDefinitions = {
|
|
|
46
53
|
},
|
|
47
54
|
ALT: {
|
|
48
55
|
default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: "U/L" },
|
|
56
|
+
kind: "reference-interval",
|
|
49
57
|
source: "tietz-7ed-2015",
|
|
50
58
|
variants: [
|
|
51
59
|
{
|
|
@@ -68,6 +76,7 @@ var biomarkerRangeDefinitions = {
|
|
|
68
76
|
// de ~4 ng/mL já merecem investigação.
|
|
69
77
|
AMH: {
|
|
70
78
|
default: { max: 6, min: 1, optimalMax: 4, optimalMin: 1.5, unit: "ng/mL" },
|
|
79
|
+
kind: "reference-interval",
|
|
71
80
|
source: "tietz-7ed-2015",
|
|
72
81
|
variants: [
|
|
73
82
|
{
|
|
@@ -103,14 +112,17 @@ var biomarkerRangeDefinitions = {
|
|
|
103
112
|
},
|
|
104
113
|
Ammonia: {
|
|
105
114
|
default: { max: 45, min: 15, optimalMax: 40, optimalMin: 20, unit: "umol/L" },
|
|
115
|
+
kind: "reference-interval",
|
|
106
116
|
source: "tietz-7ed-2015"
|
|
107
117
|
},
|
|
108
118
|
AntiThyroglobulin: {
|
|
109
119
|
default: { max: 115, min: 0, optimalMax: 40, optimalMin: 0, unit: "IU/mL" },
|
|
120
|
+
kind: "reference-interval",
|
|
110
121
|
source: "tietz-7ed-2015"
|
|
111
122
|
},
|
|
112
123
|
AntiTPO: {
|
|
113
124
|
default: { max: 34, min: 0, optimalMax: 9, optimalMin: 0, unit: "IU/mL" },
|
|
125
|
+
kind: "reference-interval",
|
|
114
126
|
source: "tietz-7ed-2015"
|
|
115
127
|
},
|
|
116
128
|
// Aortic valve calcium — no standardized clinical threshold; use mild cutoff
|
|
@@ -118,23 +130,28 @@ var biomarkerRangeDefinitions = {
|
|
|
118
130
|
AorticValveCalcium: {
|
|
119
131
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
120
132
|
direction: "lower-better",
|
|
133
|
+
kind: "decision-threshold",
|
|
121
134
|
source: "rumberger-cac-1999"
|
|
122
135
|
},
|
|
123
136
|
ApoA1: {
|
|
124
137
|
default: { max: 200, min: 100, optimalMax: 180, optimalMin: 120, unit: "mg/dL" },
|
|
138
|
+
kind: "reference-interval",
|
|
125
139
|
source: "contois-apoa1-1996"
|
|
126
140
|
},
|
|
127
141
|
ApoB: {
|
|
128
142
|
default: { max: 90, min: 0, optimalMax: 70, optimalMin: 0, unit: "mg/dL" },
|
|
129
143
|
direction: "lower-better",
|
|
144
|
+
kind: "decision-threshold",
|
|
130
145
|
source: "sbc-lipids-2025"
|
|
131
146
|
},
|
|
132
147
|
ApoCIII: {
|
|
133
148
|
default: { max: 10, min: 0, optimalMax: 7, optimalMin: 0, unit: "mg/dL" },
|
|
149
|
+
kind: "decision-threshold",
|
|
134
150
|
source: "khetarpal-apociii-2016"
|
|
135
151
|
},
|
|
136
152
|
Omega6_AA: {
|
|
137
153
|
default: { max: 15, min: 5, optimalMax: 12, optimalMin: 7, unit: "%" },
|
|
154
|
+
kind: "decision-threshold",
|
|
138
155
|
source: "simopoulos-omega-ratio-2002"
|
|
139
156
|
},
|
|
140
157
|
// Razão Ácido Araquidônico/EPA (sangue total) — `lower-better`: razão menor =
|
|
@@ -147,16 +164,19 @@ var biomarkerRangeDefinitions = {
|
|
|
147
164
|
// dentro do intervalo. Sem `optimal*`: não há corte ótimo de AA/EPA com fonte.
|
|
148
165
|
// Em telas de relatório único, prefira o intervalo impresso pelo laboratório.
|
|
149
166
|
AA_EPA_Ratio: {
|
|
150
|
-
default: { max: 40.7, min: 3.7, unit: "" },
|
|
167
|
+
default: { max: 40.7, min: 3.7, minKind: "display", unit: "" },
|
|
151
168
|
direction: "lower-better",
|
|
169
|
+
kind: "population",
|
|
152
170
|
source: "torrissen-omega3-dbs-2025"
|
|
153
171
|
},
|
|
154
172
|
Arsenic: {
|
|
155
173
|
default: { max: 35, min: 0, optimalMax: 20, optimalMin: 0, unit: "mcg/L" },
|
|
174
|
+
kind: "decision-threshold",
|
|
156
175
|
source: "nr7-pcmso-2020"
|
|
157
176
|
},
|
|
158
177
|
AST: {
|
|
159
178
|
default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: "U/L" },
|
|
179
|
+
kind: "reference-interval",
|
|
160
180
|
source: "tietz-7ed-2015",
|
|
161
181
|
variants: [
|
|
162
182
|
{
|
|
@@ -175,6 +195,7 @@ var biomarkerRangeDefinitions = {
|
|
|
175
195
|
// Tabela 2 da PNS 2019. Ver o comentário em `Neutrophils_Abs`.
|
|
176
196
|
Basophils_Abs: {
|
|
177
197
|
default: { max: 0.072, min: 0, unit: "K/uL" },
|
|
198
|
+
kind: "reference-interval",
|
|
178
199
|
source: "pns-hemograma-2019",
|
|
179
200
|
variants: [
|
|
180
201
|
{ ageMin: 18, range: { max: 0.062, min: 0, unit: "K/uL" }, sex: "M" },
|
|
@@ -183,6 +204,7 @@ var biomarkerRangeDefinitions = {
|
|
|
183
204
|
},
|
|
184
205
|
Bicarbonate: {
|
|
185
206
|
default: { max: 29, min: 23, optimalMax: 28, optimalMin: 24, unit: "mEq/L" },
|
|
207
|
+
kind: "reference-interval",
|
|
186
208
|
source: "tietz-7ed-2015"
|
|
187
209
|
},
|
|
188
210
|
// β-Hidroxibutirato (BHB) sérico — corpos cetônicos. Faixa derivada de
|
|
@@ -192,23 +214,28 @@ var biomarkerRangeDefinitions = {
|
|
|
192
214
|
// superior aqui reflete estado pós-prandial habitual, não jejum.
|
|
193
215
|
BetaHydroxybutyrate: {
|
|
194
216
|
default: { max: 0.28, min: 0.02, optimalMax: 0.28, optimalMin: 0.02, unit: "mmol/L" },
|
|
217
|
+
kind: "reference-interval",
|
|
195
218
|
source: "klee-bhb-2020"
|
|
196
219
|
},
|
|
197
220
|
BilirubinDirect: {
|
|
198
221
|
default: { max: 0.3, min: 0, optimalMax: 0.2, optimalMin: 0, unit: "mg/dL" },
|
|
222
|
+
kind: "reference-interval",
|
|
199
223
|
source: "tietz-7ed-2015"
|
|
200
224
|
},
|
|
201
225
|
BilirubinIndirect: {
|
|
202
226
|
default: { max: 0.8, min: 0, optimalMax: 0.6, optimalMin: 0, unit: "mg/dL" },
|
|
227
|
+
kind: "reference-interval",
|
|
203
228
|
source: "tietz-7ed-2015"
|
|
204
229
|
},
|
|
205
230
|
BilirubinTotal: {
|
|
206
231
|
default: { max: 1.2, min: 0.1, optimalMax: 0.9, optimalMin: 0.2, unit: "mg/dL" },
|
|
232
|
+
kind: "reference-interval",
|
|
207
233
|
source: "tietz-7ed-2015"
|
|
208
234
|
},
|
|
209
235
|
// BNP: 35 pg/mL = corte não-agudo para triagem de IC (SBC IC 2018)
|
|
210
236
|
BNP: {
|
|
211
237
|
default: { max: 35, min: 0, optimalMax: 20, optimalMin: 0, unit: "pg/mL" },
|
|
238
|
+
kind: "decision-threshold",
|
|
212
239
|
source: "sbc-ic-2018"
|
|
213
240
|
},
|
|
214
241
|
// Razão BUN/Creatinina — faixa 10-20 aplica-se ao Nitrogênio Ureico (BUN).
|
|
@@ -219,14 +246,17 @@ var biomarkerRangeDefinitions = {
|
|
|
219
246
|
// distinta. Ver issue #41 para alinhamento de nomenclatura/LOINC.
|
|
220
247
|
BUN_Creatinine_Ratio: {
|
|
221
248
|
default: { max: 20, min: 10, optimalMax: 18, optimalMin: 12, unit: "" },
|
|
249
|
+
kind: "reference-interval",
|
|
222
250
|
source: "tietz-7ed-2015"
|
|
223
251
|
},
|
|
224
252
|
CA125: {
|
|
225
253
|
default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: "U/mL" },
|
|
254
|
+
kind: "reference-interval",
|
|
226
255
|
source: "sturgeon-nacb-2008"
|
|
227
256
|
},
|
|
228
257
|
CA199: {
|
|
229
258
|
default: { max: 37, min: 0, optimalMax: 30, optimalMin: 0, unit: "U/mL" },
|
|
259
|
+
kind: "reference-interval",
|
|
230
260
|
source: "sturgeon-nacb-2008"
|
|
231
261
|
},
|
|
232
262
|
// CAC: Agatston classification — 0=none, 1-99=mild, 100-399=moderate, 400+=severe
|
|
@@ -234,44 +264,53 @@ var biomarkerRangeDefinitions = {
|
|
|
234
264
|
CAC: {
|
|
235
265
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
236
266
|
direction: "lower-better",
|
|
267
|
+
kind: "decision-threshold",
|
|
237
268
|
source: "rumberger-cac-1999"
|
|
238
269
|
},
|
|
239
270
|
// Per-vessel scores — same Agatston classification applied per vessel
|
|
240
271
|
CAC_LAD: {
|
|
241
272
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
242
273
|
direction: "lower-better",
|
|
274
|
+
kind: "decision-threshold",
|
|
243
275
|
source: "rumberger-cac-1999"
|
|
244
276
|
},
|
|
245
277
|
CAC_LCX: {
|
|
246
278
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
247
279
|
direction: "lower-better",
|
|
280
|
+
kind: "decision-threshold",
|
|
248
281
|
source: "rumberger-cac-1999"
|
|
249
282
|
},
|
|
250
283
|
CAC_LMA: {
|
|
251
284
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
252
285
|
direction: "lower-better",
|
|
286
|
+
kind: "decision-threshold",
|
|
253
287
|
source: "rumberger-cac-1999"
|
|
254
288
|
},
|
|
255
289
|
CAC_Percentile: {
|
|
256
290
|
default: { max: 50, min: 0, optimalMax: 25, optimalMin: 0, unit: "%", warningMax: 75 },
|
|
257
291
|
direction: "lower-better",
|
|
292
|
+
kind: "decision-threshold",
|
|
258
293
|
source: "rumberger-cac-1999"
|
|
259
294
|
},
|
|
260
295
|
CAC_RCA: {
|
|
261
296
|
default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: "AU" },
|
|
262
297
|
direction: "lower-better",
|
|
298
|
+
kind: "decision-threshold",
|
|
263
299
|
source: "rumberger-cac-1999"
|
|
264
300
|
},
|
|
265
301
|
Cadmium: {
|
|
266
302
|
default: { max: 1.2, min: 0, optimalMax: 0.5, optimalMin: 0, unit: "mcg/L" },
|
|
303
|
+
kind: "decision-threshold",
|
|
267
304
|
source: "nr7-pcmso-2020"
|
|
268
305
|
},
|
|
269
306
|
Calcium: {
|
|
270
307
|
default: { max: 10.5, min: 8.5, optimalMax: 10, optimalMin: 9, unit: "mg/dL" },
|
|
308
|
+
kind: "reference-interval",
|
|
271
309
|
source: "tietz-7ed-2015"
|
|
272
310
|
},
|
|
273
311
|
CEA: {
|
|
274
312
|
default: { max: 3, min: 0, optimalMax: 2.5, optimalMin: 0, unit: "ng/mL" },
|
|
313
|
+
kind: "reference-interval",
|
|
275
314
|
source: "sturgeon-nacb-2008"
|
|
276
315
|
},
|
|
277
316
|
// CK: valores conservadores baseados em faixas laboratoriais típicas
|
|
@@ -296,6 +335,7 @@ var biomarkerRangeDefinitions = {
|
|
|
296
335
|
// autodeclaração de raça/Cor". Ver a issue #3 para a decisão registrada.
|
|
297
336
|
CK: {
|
|
298
337
|
default: { max: 314, min: 30, optimalMax: 170, optimalMin: 40, unit: "U/L" },
|
|
338
|
+
kind: "reference-interval",
|
|
299
339
|
source: "kalaria-ck-ri-2026",
|
|
300
340
|
variants: [
|
|
301
341
|
{ sex: "F", range: { max: 170, min: 30, optimalMax: 150, optimalMin: 40, unit: "U/L" } }
|
|
@@ -303,6 +343,7 @@ var biomarkerRangeDefinitions = {
|
|
|
303
343
|
},
|
|
304
344
|
Chloride: {
|
|
305
345
|
default: { max: 106, min: 98, optimalMax: 105, optimalMin: 100, unit: "mEq/L" },
|
|
346
|
+
kind: "reference-interval",
|
|
306
347
|
source: "tietz-7ed-2015"
|
|
307
348
|
},
|
|
308
349
|
// Colesterol total — SBC 2017/2025: valor desejável < 190 mg/dL para adultos,
|
|
@@ -310,6 +351,7 @@ var biomarkerRangeDefinitions = {
|
|
|
310
351
|
// (NCEP, 2002), superada pelas atualizações brasileiras.
|
|
311
352
|
Cholesterol: {
|
|
312
353
|
default: { max: 190, min: 0, optimalMax: 170, optimalMin: 0, unit: "mg/dL" },
|
|
354
|
+
kind: "decision-threshold",
|
|
313
355
|
source: "sbc-lipids-2025"
|
|
314
356
|
},
|
|
315
357
|
// Índice de Castelli I (CT/HDL-c)
|
|
@@ -317,6 +359,7 @@ var biomarkerRangeDefinitions = {
|
|
|
317
359
|
// Índice de Castelli I — SBC 2017: M <4.9, F <4.3
|
|
318
360
|
default: { max: 4.9, min: 0, optimalMax: 3.5, optimalMin: 0, unit: "" },
|
|
319
361
|
direction: "lower-better",
|
|
362
|
+
kind: "decision-threshold",
|
|
320
363
|
source: "castelli-ratio-1992",
|
|
321
364
|
variants: [
|
|
322
365
|
{
|
|
@@ -333,22 +376,27 @@ var biomarkerRangeDefinitions = {
|
|
|
333
376
|
},
|
|
334
377
|
CO2: {
|
|
335
378
|
default: { max: 29, min: 23, optimalMax: 28, optimalMin: 24, unit: "mEq/L" },
|
|
379
|
+
kind: "reference-interval",
|
|
336
380
|
source: "tietz-7ed-2015"
|
|
337
381
|
},
|
|
338
382
|
Copper: {
|
|
339
383
|
default: { max: 175, min: 70, optimalMax: 150, optimalMin: 85, unit: "mcg/dL" },
|
|
384
|
+
kind: "reference-interval",
|
|
340
385
|
source: "tietz-7ed-2015"
|
|
341
386
|
},
|
|
342
387
|
CoQ10: {
|
|
343
388
|
default: { max: 1.5, min: 0.5, optimalMax: 1.3, optimalMin: 0.7, unit: "mg/L" },
|
|
389
|
+
kind: "reference-interval",
|
|
344
390
|
source: "tietz-7ed-2015"
|
|
345
391
|
},
|
|
346
392
|
Cortisol: {
|
|
347
393
|
default: { max: 25, min: 5, optimalMax: 20, optimalMin: 10, unit: "mcg/dL" },
|
|
394
|
+
kind: "reference-interval",
|
|
348
395
|
source: "tietz-7ed-2015"
|
|
349
396
|
},
|
|
350
397
|
CortisolFree: {
|
|
351
398
|
default: { max: 2.5, min: 0.5, optimalMax: 2, optimalMin: 0.8, unit: "mcg/dL" },
|
|
399
|
+
kind: "reference-interval",
|
|
352
400
|
source: "tietz-7ed-2015"
|
|
353
401
|
},
|
|
354
402
|
CPeptide: {
|
|
@@ -360,10 +408,12 @@ var biomarkerRangeDefinitions = {
|
|
|
360
408
|
optimalMin: 1,
|
|
361
409
|
unit: "ng/mL"
|
|
362
410
|
},
|
|
411
|
+
kind: "reference-interval",
|
|
363
412
|
source: "tietz-7ed-2015"
|
|
364
413
|
},
|
|
365
414
|
Creatinine: {
|
|
366
415
|
default: { max: 1.2, min: 0.6, optimalMax: 1, optimalMin: 0.7, unit: "mg/dL" },
|
|
416
|
+
kind: "reference-interval",
|
|
367
417
|
source: "pns-bioquimica-2019",
|
|
368
418
|
variants: [
|
|
369
419
|
// Gestação: hiperfiltração glomerular (↑ 40–50% GFR) reduz a creatinina
|
|
@@ -389,10 +439,12 @@ var biomarkerRangeDefinitions = {
|
|
|
389
439
|
CRP: {
|
|
390
440
|
default: { max: 3, min: 0, optimalMax: 1, optimalMin: 0, unit: "mg/L" },
|
|
391
441
|
direction: "lower-better",
|
|
442
|
+
kind: "decision-threshold",
|
|
392
443
|
source: "tietz-7ed-2015"
|
|
393
444
|
},
|
|
394
445
|
CystatinC: {
|
|
395
446
|
default: { max: 1, min: 0.5, optimalMax: 0.9, optimalMin: 0.6, unit: "mg/L" },
|
|
447
|
+
kind: "reference-interval",
|
|
396
448
|
source: "tietz-7ed-2015"
|
|
397
449
|
},
|
|
398
450
|
// D-Dímero — exame de exclusão de TEV (tromboembolismo venoso) com
|
|
@@ -406,6 +458,7 @@ var biomarkerRangeDefinitions = {
|
|
|
406
458
|
DDimer: {
|
|
407
459
|
default: { max: 500, min: 0, unit: "ng/mL" },
|
|
408
460
|
direction: "lower-better",
|
|
461
|
+
kind: "decision-threshold",
|
|
409
462
|
source: "wells-ddimer-2003",
|
|
410
463
|
variants: [
|
|
411
464
|
// Corte ajustado por idade — ESC 2019 (Konstantinides et al.) e
|
|
@@ -419,10 +472,12 @@ var biomarkerRangeDefinitions = {
|
|
|
419
472
|
},
|
|
420
473
|
Omega3_DHA: {
|
|
421
474
|
default: { max: 8, min: 2, optimalMax: 6.5, optimalMin: 3.5, unit: "%" },
|
|
475
|
+
kind: "decision-threshold",
|
|
422
476
|
source: "harris-omega3-2004"
|
|
423
477
|
},
|
|
424
478
|
DHEAS: {
|
|
425
479
|
default: { max: 500, min: 100, optimalMax: 400, optimalMin: 150, unit: "mcg/dL" },
|
|
480
|
+
kind: "reference-interval",
|
|
426
481
|
source: "tietz-7ed-2015",
|
|
427
482
|
variants: [
|
|
428
483
|
{
|
|
@@ -463,20 +518,30 @@ var biomarkerRangeDefinitions = {
|
|
|
463
518
|
},
|
|
464
519
|
Omega3_DPA: {
|
|
465
520
|
default: { max: 2, min: 0.3, optimalMax: 1.5, optimalMin: 0.5, unit: "%" },
|
|
521
|
+
kind: "decision-threshold",
|
|
466
522
|
source: "harris-omega3-2004"
|
|
467
523
|
},
|
|
468
524
|
eGFR: {
|
|
469
|
-
default: {
|
|
525
|
+
default: {
|
|
526
|
+
max: 120,
|
|
527
|
+
maxKind: "display",
|
|
528
|
+
min: 60,
|
|
529
|
+
optimalMax: 120,
|
|
530
|
+
optimalMin: 90,
|
|
531
|
+
unit: "mL/min/1.73m\xB2"
|
|
532
|
+
},
|
|
470
533
|
// KDIGO 2024: TFG 60-89 (G2) sem marcador de lesão renal não é DRC, em
|
|
471
534
|
// nenhuma faixa etária. A variante por idade que existia aqui rebaixava o
|
|
472
535
|
// piso só para 60+ e ainda limitava o teto a 90, o que sinalizava como
|
|
473
536
|
// alterado qualquer idoso com função preservada.
|
|
537
|
+
kind: "decision-threshold",
|
|
474
538
|
source: "kdigo-ckd-2024"
|
|
475
539
|
},
|
|
476
540
|
// `Eosinophils` (%) fica sem faixa de propósito e `Eosinophils_Abs` usa os limites da
|
|
477
541
|
// Tabela 2 da PNS 2019. Ver o comentário em `Neutrophils_Abs`.
|
|
478
542
|
Eosinophils_Abs: {
|
|
479
543
|
default: { max: 0.66, min: 0, unit: "K/uL" },
|
|
544
|
+
kind: "reference-interval",
|
|
480
545
|
source: "pns-hemograma-2019",
|
|
481
546
|
variants: [
|
|
482
547
|
{ ageMin: 18, range: { max: 0.66, min: 0, unit: "K/uL" }, sex: "M" },
|
|
@@ -485,18 +550,22 @@ var biomarkerRangeDefinitions = {
|
|
|
485
550
|
},
|
|
486
551
|
Omega3_EPA: {
|
|
487
552
|
default: { max: 3.5, min: 0.5, optimalMax: 2.5, optimalMin: 1, unit: "%" },
|
|
553
|
+
kind: "decision-threshold",
|
|
488
554
|
source: "harris-omega3-2004"
|
|
489
555
|
},
|
|
490
556
|
EPADPADHA: {
|
|
491
557
|
default: { max: 10, min: 3, optimalMax: 9, optimalMin: 5, unit: "%" },
|
|
558
|
+
kind: "decision-threshold",
|
|
492
559
|
source: "harris-omega3-2004"
|
|
493
560
|
},
|
|
494
561
|
ESR: {
|
|
495
562
|
default: { max: 20, min: 0, optimalMax: 10, optimalMin: 0, unit: "mm/hr" },
|
|
563
|
+
kind: "reference-interval",
|
|
496
564
|
source: "tietz-7ed-2015"
|
|
497
565
|
},
|
|
498
566
|
Estradiol: {
|
|
499
567
|
default: { max: 40, min: 10, optimalMax: 35, optimalMin: 15, unit: "pg/mL" },
|
|
568
|
+
kind: "reference-interval",
|
|
500
569
|
source: "tietz-7ed-2015",
|
|
501
570
|
variants: [
|
|
502
571
|
{
|
|
@@ -519,6 +588,7 @@ var biomarkerRangeDefinitions = {
|
|
|
519
588
|
},
|
|
520
589
|
F2Isoprostanes: {
|
|
521
590
|
default: { max: 86, min: 0, optimalMax: 60, optimalMin: 0, unit: "pg/mL" },
|
|
591
|
+
kind: "reference-interval",
|
|
522
592
|
source: "tietz-7ed-2015"
|
|
523
593
|
},
|
|
524
594
|
// Ferritina — WHO 2020 é o documento de referência específico para avaliação
|
|
@@ -528,6 +598,7 @@ var biomarkerRangeDefinitions = {
|
|
|
528
598
|
// tipo de faixa, mas documentado aqui para consumidores).
|
|
529
599
|
Ferritin: {
|
|
530
600
|
default: { max: 150, min: 12, optimalMax: 120, optimalMin: 30, unit: "ng/mL" },
|
|
601
|
+
kind: "decision-threshold",
|
|
531
602
|
source: "who-iron-2020",
|
|
532
603
|
variants: [
|
|
533
604
|
// Gestação: ferritina cai fisiologicamente no 2º/3º trimestre pela expansão
|
|
@@ -560,14 +631,17 @@ var biomarkerRangeDefinitions = {
|
|
|
560
631
|
// Fibrinogênio: 200-400 mg/dL — faixa de referência padrão (método de Clauss)
|
|
561
632
|
Fibrinogen: {
|
|
562
633
|
default: { max: 400, min: 200, optimalMax: 350, optimalMin: 250, unit: "mg/dL" },
|
|
634
|
+
kind: "reference-interval",
|
|
563
635
|
source: "tietz-7ed-2015"
|
|
564
636
|
},
|
|
565
637
|
FolicAcid: {
|
|
566
638
|
default: { max: 20, min: 3, optimalMax: 15, optimalMin: 5, unit: "ng/mL" },
|
|
639
|
+
kind: "reference-interval",
|
|
567
640
|
source: "tietz-7ed-2015"
|
|
568
641
|
},
|
|
569
642
|
FSH: {
|
|
570
643
|
default: { max: 12.4, min: 1.5, optimalMax: 10, optimalMin: 3, unit: "mIU/mL" },
|
|
644
|
+
kind: "reference-interval",
|
|
571
645
|
source: "tietz-7ed-2015",
|
|
572
646
|
variants: [
|
|
573
647
|
{
|
|
@@ -591,26 +665,29 @@ var biomarkerRangeDefinitions = {
|
|
|
591
665
|
GGT: {
|
|
592
666
|
default: { max: 55, min: 0, optimalMax: 30, optimalMin: 0, unit: "U/L" },
|
|
593
667
|
direction: "lower-better",
|
|
668
|
+
kind: "reference-interval",
|
|
594
669
|
source: "tietz-7ed-2015",
|
|
595
670
|
variants: [
|
|
596
671
|
{
|
|
597
672
|
ageMin: 18,
|
|
598
|
-
range: { max: 61, min: 8, optimalMax: 40, optimalMin: 10, unit: "U/L" },
|
|
673
|
+
range: { max: 61, min: 8, minKind: "display", optimalMax: 40, optimalMin: 10, unit: "U/L" },
|
|
599
674
|
sex: "M"
|
|
600
675
|
},
|
|
601
676
|
{
|
|
602
677
|
ageMin: 18,
|
|
603
|
-
range: { max: 36, min: 5, optimalMax: 25, optimalMin: 8, unit: "U/L" },
|
|
678
|
+
range: { max: 36, min: 5, minKind: "display", optimalMax: 25, optimalMin: 8, unit: "U/L" },
|
|
604
679
|
sex: "F"
|
|
605
680
|
}
|
|
606
681
|
]
|
|
607
682
|
},
|
|
608
683
|
Ghrelin: {
|
|
609
684
|
default: { max: 1e3, min: 300, optimalMax: 800, optimalMin: 400, unit: "pg/mL" },
|
|
685
|
+
kind: "reference-interval",
|
|
610
686
|
source: "tietz-7ed-2015"
|
|
611
687
|
},
|
|
612
688
|
Globulin: {
|
|
613
689
|
default: { max: 3.5, min: 2, optimalMax: 3.2, optimalMin: 2.3, unit: "g/dL" },
|
|
690
|
+
kind: "reference-interval",
|
|
614
691
|
source: "tietz-7ed-2015"
|
|
615
692
|
},
|
|
616
693
|
// A faixa é de jejum, então mora na definição que afirma jejum. Glicose
|
|
@@ -633,6 +710,7 @@ var biomarkerRangeDefinitions = {
|
|
|
633
710
|
optimalMin: 70,
|
|
634
711
|
unit: "mg/dL"
|
|
635
712
|
},
|
|
713
|
+
kind: "decision-threshold",
|
|
636
714
|
source: "sbd-diabetes-2024",
|
|
637
715
|
variants: [
|
|
638
716
|
// Gestação: DMG (IADPSG/SBD 2024) usa cortes mais restritivos na glicemia
|
|
@@ -654,10 +732,12 @@ var biomarkerRangeDefinitions = {
|
|
|
654
732
|
},
|
|
655
733
|
GlycoMark: {
|
|
656
734
|
default: { max: 40, min: 10, optimalMax: 35, optimalMin: 15, unit: "mcg/mL" },
|
|
735
|
+
kind: "reference-interval",
|
|
657
736
|
source: "tietz-7ed-2015"
|
|
658
737
|
},
|
|
659
738
|
GrowthHormone: {
|
|
660
739
|
default: { max: 5, min: 0, optimalMax: 3, optimalMin: 0, unit: "ng/mL" },
|
|
740
|
+
kind: "reference-interval",
|
|
661
741
|
source: "tietz-7ed-2015"
|
|
662
742
|
},
|
|
663
743
|
// HbA1c — SBD 2024 não estabelece piso de referência clinicamente acionável.
|
|
@@ -667,11 +747,13 @@ var biomarkerRangeDefinitions = {
|
|
|
667
747
|
// criar flag clínico em valores fisiologicamente baixos. optimalMin preserva
|
|
668
748
|
// o alvo fisiológico da fração glicada.
|
|
669
749
|
HbA1c: {
|
|
670
|
-
default: { max: 5.7, min: 2, optimalMax: 5.3, optimalMin: 4.5, unit: "%" },
|
|
750
|
+
default: { max: 5.7, min: 2, minKind: "display", optimalMax: 5.3, optimalMin: 4.5, unit: "%" },
|
|
751
|
+
kind: "decision-threshold",
|
|
671
752
|
source: "sbd-diabetes-2024"
|
|
672
753
|
},
|
|
673
754
|
Hct: {
|
|
674
755
|
default: { max: 50, min: 36, optimalMax: 48, optimalMin: 40, unit: "%" },
|
|
756
|
+
kind: "reference-interval",
|
|
675
757
|
source: "pns-hemograma-2019",
|
|
676
758
|
variants: [
|
|
677
759
|
{
|
|
@@ -693,18 +775,40 @@ var biomarkerRangeDefinitions = {
|
|
|
693
775
|
// não como ponto de corte clínico; consumidores devem tratar `direction:
|
|
694
776
|
// higher-better` como sinal autoritativo.
|
|
695
777
|
HDL: {
|
|
696
|
-
default: {
|
|
778
|
+
default: {
|
|
779
|
+
max: 100,
|
|
780
|
+
maxKind: "display",
|
|
781
|
+
min: 40,
|
|
782
|
+
optimalMax: 100,
|
|
783
|
+
optimalMin: 50,
|
|
784
|
+
unit: "mg/dL"
|
|
785
|
+
},
|
|
697
786
|
direction: "higher-better",
|
|
787
|
+
kind: "decision-threshold",
|
|
698
788
|
source: "sbc-lipids-2025",
|
|
699
789
|
variants: [
|
|
700
790
|
{
|
|
701
791
|
ageMin: 18,
|
|
702
|
-
range: {
|
|
792
|
+
range: {
|
|
793
|
+
max: 100,
|
|
794
|
+
maxKind: "display",
|
|
795
|
+
min: 40,
|
|
796
|
+
optimalMax: 100,
|
|
797
|
+
optimalMin: 45,
|
|
798
|
+
unit: "mg/dL"
|
|
799
|
+
},
|
|
703
800
|
sex: "M"
|
|
704
801
|
},
|
|
705
802
|
{
|
|
706
803
|
ageMin: 18,
|
|
707
|
-
range: {
|
|
804
|
+
range: {
|
|
805
|
+
max: 100,
|
|
806
|
+
maxKind: "display",
|
|
807
|
+
min: 50,
|
|
808
|
+
optimalMax: 100,
|
|
809
|
+
optimalMin: 55,
|
|
810
|
+
unit: "mg/dL"
|
|
811
|
+
},
|
|
708
812
|
sex: "F"
|
|
709
813
|
}
|
|
710
814
|
]
|
|
@@ -712,12 +816,21 @@ var biomarkerRangeDefinitions = {
|
|
|
712
816
|
HDL_Large: {
|
|
713
817
|
// HDL Large: higher is better
|
|
714
818
|
// Quest Ion Mobility reference: Male 4334-10815, Female 5038-17886 nmol/L, optimal >6729
|
|
715
|
-
default: {
|
|
819
|
+
default: {
|
|
820
|
+
max: 17886,
|
|
821
|
+
maxKind: "display",
|
|
822
|
+
min: 4334,
|
|
823
|
+
optimalMax: 17886,
|
|
824
|
+
optimalMin: 6729,
|
|
825
|
+
unit: "nmol/L"
|
|
826
|
+
},
|
|
716
827
|
direction: "higher-better",
|
|
828
|
+
kind: "reference-interval",
|
|
717
829
|
source: "caulfield-ionmobility-2008"
|
|
718
830
|
},
|
|
719
831
|
Hgb: {
|
|
720
832
|
default: { max: 17.5, min: 12, optimalMax: 16, optimalMin: 13.5, unit: "g/dL" },
|
|
833
|
+
kind: "reference-interval",
|
|
721
834
|
source: "pns-hemograma-2019",
|
|
722
835
|
variants: [
|
|
723
836
|
// Gestação: hemodiluição fisiológica reduz o piso aceitável.
|
|
@@ -773,19 +886,23 @@ var biomarkerRangeDefinitions = {
|
|
|
773
886
|
warningMax: 2.71
|
|
774
887
|
},
|
|
775
888
|
direction: "lower-better",
|
|
889
|
+
kind: "decision-threshold",
|
|
776
890
|
source: "geloneze-brams-2009"
|
|
777
891
|
},
|
|
778
892
|
Homocysteine: {
|
|
779
|
-
default: { max: 15, min: 4, optimalMax: 10, optimalMin: 5, unit: "umol/L" },
|
|
893
|
+
default: { max: 15, min: 4, minKind: "display", optimalMax: 10, optimalMin: 5, unit: "umol/L" },
|
|
780
894
|
direction: "lower-better",
|
|
895
|
+
kind: "reference-interval",
|
|
781
896
|
source: "selhub-homocysteine-1999"
|
|
782
897
|
},
|
|
783
898
|
IGF1: {
|
|
784
899
|
default: { max: 350, min: 100, optimalMax: 300, optimalMin: 150, unit: "ng/mL" },
|
|
900
|
+
kind: "reference-interval",
|
|
785
901
|
source: "tietz-7ed-2015"
|
|
786
902
|
},
|
|
787
903
|
ImmatureGranulocytes: {
|
|
788
904
|
default: { max: 1, min: 0, optimalMax: 0.5, optimalMin: 0, unit: "%" },
|
|
905
|
+
kind: "reference-interval",
|
|
789
906
|
source: "tietz-7ed-2015"
|
|
790
907
|
},
|
|
791
908
|
Insulin: {
|
|
@@ -797,10 +914,12 @@ var biomarkerRangeDefinitions = {
|
|
|
797
914
|
optimalMin: 3,
|
|
798
915
|
unit: "uIU/mL"
|
|
799
916
|
},
|
|
917
|
+
kind: "reference-interval",
|
|
800
918
|
source: "tietz-7ed-2015"
|
|
801
919
|
},
|
|
802
920
|
Iron: {
|
|
803
921
|
default: { max: 170, min: 60, optimalMax: 140, optimalMin: 80, unit: "mcg/dL" },
|
|
922
|
+
kind: "reference-interval",
|
|
804
923
|
source: "sbpc-ml-2021",
|
|
805
924
|
variants: [
|
|
806
925
|
{
|
|
@@ -817,6 +936,7 @@ var biomarkerRangeDefinitions = {
|
|
|
817
936
|
},
|
|
818
937
|
Lactate: {
|
|
819
938
|
default: { max: 2.2, min: 0.5, optimalMax: 1.8, optimalMin: 0.7, unit: "mmol/L" },
|
|
939
|
+
kind: "reference-interval",
|
|
820
940
|
source: "tietz-7ed-2015"
|
|
821
941
|
},
|
|
822
942
|
// DHL/LDH — método IFCC a 37 °C (padrão atual na maioria dos laboratórios
|
|
@@ -828,6 +948,7 @@ var biomarkerRangeDefinitions = {
|
|
|
828
948
|
LDH: {
|
|
829
949
|
default: { max: 248, min: 0, optimalMax: 248, optimalMin: 0, unit: "U/L" },
|
|
830
950
|
direction: "lower-better",
|
|
951
|
+
kind: "reference-interval",
|
|
831
952
|
source: "schumann-ifcc-ldh-2002",
|
|
832
953
|
variants: [
|
|
833
954
|
{
|
|
@@ -845,59 +966,109 @@ var biomarkerRangeDefinitions = {
|
|
|
845
966
|
LDL: {
|
|
846
967
|
default: { max: 100, min: 0, optimalMax: 70, optimalMin: 0, unit: "mg/dL" },
|
|
847
968
|
direction: "lower-better",
|
|
969
|
+
kind: "decision-threshold",
|
|
848
970
|
source: "sbc-lipids-2025"
|
|
849
971
|
},
|
|
850
972
|
LDL_Medium: {
|
|
851
973
|
// LDL Medium (LDL Média): lower is better
|
|
852
974
|
// Quest Ion Mobility reference: Male 167-485, Female 121-397 nmol/L, optimal <215
|
|
853
|
-
default: {
|
|
975
|
+
default: {
|
|
976
|
+
max: 485,
|
|
977
|
+
min: 121,
|
|
978
|
+
minKind: "display",
|
|
979
|
+
optimalMax: 215,
|
|
980
|
+
optimalMin: 121,
|
|
981
|
+
unit: "nmol/L"
|
|
982
|
+
},
|
|
854
983
|
direction: "lower-better",
|
|
984
|
+
kind: "reference-interval",
|
|
855
985
|
source: "caulfield-ionmobility-2008"
|
|
856
986
|
},
|
|
857
987
|
LDL_ParticleNumber: {
|
|
858
988
|
// LDL Particle Number: lower is better
|
|
859
989
|
// Quest Ion Mobility reference: 1016-2185 nmol/L, optimal <1138
|
|
860
|
-
default: {
|
|
990
|
+
default: {
|
|
991
|
+
max: 2185,
|
|
992
|
+
min: 1016,
|
|
993
|
+
minKind: "display",
|
|
994
|
+
optimalMax: 1138,
|
|
995
|
+
optimalMin: 1016,
|
|
996
|
+
unit: "nmol/L"
|
|
997
|
+
},
|
|
861
998
|
direction: "lower-better",
|
|
999
|
+
kind: "reference-interval",
|
|
862
1000
|
source: "caulfield-ionmobility-2008"
|
|
863
1001
|
},
|
|
864
1002
|
LDL_Peak_Size: {
|
|
865
1003
|
// LDL Peak Size: higher is better (larger particles less atherogenic)
|
|
866
1004
|
// Quest Ion Mobility reference: optimal >222.9 Å (22.29 nm)
|
|
867
|
-
default: {
|
|
1005
|
+
default: {
|
|
1006
|
+
max: 250,
|
|
1007
|
+
maxKind: "display",
|
|
1008
|
+
min: 217.4,
|
|
1009
|
+
optimalMax: 250,
|
|
1010
|
+
optimalMin: 222.9,
|
|
1011
|
+
unit: "Angstrom"
|
|
1012
|
+
},
|
|
868
1013
|
direction: "higher-better",
|
|
1014
|
+
kind: "reference-interval",
|
|
869
1015
|
source: "caulfield-ionmobility-2008"
|
|
870
1016
|
},
|
|
871
1017
|
LDL_Small: {
|
|
872
1018
|
// LDL Small (LDL Pequena): lower is better (small dense LDL is most atherogenic)
|
|
873
1019
|
// Quest Ion Mobility reference: Male 123-441, Female 126-382 nmol/L, optimal <142
|
|
874
|
-
default: {
|
|
1020
|
+
default: {
|
|
1021
|
+
max: 441,
|
|
1022
|
+
min: 123,
|
|
1023
|
+
minKind: "display",
|
|
1024
|
+
optimalMax: 142,
|
|
1025
|
+
optimalMin: 123,
|
|
1026
|
+
unit: "nmol/L"
|
|
1027
|
+
},
|
|
875
1028
|
direction: "lower-better",
|
|
1029
|
+
kind: "reference-interval",
|
|
876
1030
|
source: "caulfield-ionmobility-2008"
|
|
877
1031
|
},
|
|
878
1032
|
Lead: {
|
|
879
1033
|
default: { max: 5, min: 0, optimalMax: 2, optimalMin: 0, unit: "mcg/dL" },
|
|
1034
|
+
kind: "decision-threshold",
|
|
880
1035
|
source: "nr7-pcmso-2020"
|
|
881
1036
|
},
|
|
882
1037
|
Leptin: {
|
|
883
|
-
default: { max: 15, min: 2, optimalMax: 12, optimalMin: 3, unit: "ng/mL" },
|
|
1038
|
+
default: { max: 15, min: 2, minKind: "clinical", optimalMax: 12, optimalMin: 3, unit: "ng/mL" },
|
|
884
1039
|
direction: "lower-better",
|
|
1040
|
+
kind: "reference-interval",
|
|
885
1041
|
source: "tietz-7ed-2015",
|
|
886
1042
|
variants: [
|
|
887
1043
|
{
|
|
888
1044
|
ageMin: 18,
|
|
889
|
-
range: {
|
|
1045
|
+
range: {
|
|
1046
|
+
max: 10,
|
|
1047
|
+
min: 1,
|
|
1048
|
+
minKind: "clinical",
|
|
1049
|
+
optimalMax: 8,
|
|
1050
|
+
optimalMin: 2,
|
|
1051
|
+
unit: "ng/mL"
|
|
1052
|
+
},
|
|
890
1053
|
sex: "M"
|
|
891
1054
|
},
|
|
892
1055
|
{
|
|
893
1056
|
ageMin: 18,
|
|
894
|
-
range: {
|
|
1057
|
+
range: {
|
|
1058
|
+
max: 25,
|
|
1059
|
+
min: 4,
|
|
1060
|
+
minKind: "clinical",
|
|
1061
|
+
optimalMax: 18,
|
|
1062
|
+
optimalMin: 5,
|
|
1063
|
+
unit: "ng/mL"
|
|
1064
|
+
},
|
|
895
1065
|
sex: "F"
|
|
896
1066
|
}
|
|
897
1067
|
]
|
|
898
1068
|
},
|
|
899
1069
|
LH: {
|
|
900
1070
|
default: { max: 8.6, min: 1.7, optimalMax: 8, optimalMin: 2, unit: "mIU/mL" },
|
|
1071
|
+
kind: "reference-interval",
|
|
901
1072
|
source: "tietz-7ed-2015",
|
|
902
1073
|
variants: [
|
|
903
1074
|
{
|
|
@@ -920,6 +1091,7 @@ var biomarkerRangeDefinitions = {
|
|
|
920
1091
|
},
|
|
921
1092
|
Omega6_LA: {
|
|
922
1093
|
default: { max: 35, min: 15, optimalMax: 28, optimalMin: 18, unit: "%" },
|
|
1094
|
+
kind: "decision-threshold",
|
|
923
1095
|
source: "simopoulos-omega-ratio-2002"
|
|
924
1096
|
},
|
|
925
1097
|
// Lp(a) — SBC 2025 (seção 3.1.1.2.7): níveis ≥ 50 mg/dL ou ≥ 125 nmol/L são
|
|
@@ -931,12 +1103,14 @@ var biomarkerRangeDefinitions = {
|
|
|
931
1103
|
Lipoprotein_a: {
|
|
932
1104
|
default: { max: 125, min: 0, optimalMax: 75, optimalMin: 0, unit: "nmol/L" },
|
|
933
1105
|
direction: "lower-better",
|
|
1106
|
+
kind: "decision-threshold",
|
|
934
1107
|
source: "sbc-lipids-2025"
|
|
935
1108
|
},
|
|
936
1109
|
// `Lymphocytes` (%) fica sem faixa de propósito e `Lymphocytes_Abs` usa os limites da
|
|
937
1110
|
// Tabela 2 da PNS 2019. Ver o comentário em `Neutrophils_Abs`.
|
|
938
1111
|
Lymphocytes_Abs: {
|
|
939
1112
|
default: { max: 3.414, min: 0.72, unit: "K/uL" },
|
|
1113
|
+
kind: "reference-interval",
|
|
940
1114
|
source: "pns-hemograma-2019",
|
|
941
1115
|
variants: [
|
|
942
1116
|
{ ageMin: 18, range: { max: 3.37, min: 0.72, unit: "K/uL" }, sex: "M" },
|
|
@@ -945,40 +1119,49 @@ var biomarkerRangeDefinitions = {
|
|
|
945
1119
|
},
|
|
946
1120
|
Magnesium: {
|
|
947
1121
|
default: { max: 2.2, min: 1.7, optimalMax: 2.1, optimalMin: 1.9, unit: "mg/dL" },
|
|
1122
|
+
kind: "reference-interval",
|
|
948
1123
|
source: "tietz-7ed-2015"
|
|
949
1124
|
},
|
|
950
1125
|
Magnesium_RBC: {
|
|
951
1126
|
default: { max: 6.8, min: 4, optimalMax: 6, optimalMin: 4.5, unit: "mg/dL" },
|
|
1127
|
+
kind: "reference-interval",
|
|
952
1128
|
source: "tietz-7ed-2015"
|
|
953
1129
|
},
|
|
954
1130
|
MCH: {
|
|
955
1131
|
default: { max: 33, min: 27, optimalMax: 32, optimalMin: 28, unit: "pg" },
|
|
1132
|
+
kind: "reference-interval",
|
|
956
1133
|
source: "pns-hemograma-2019"
|
|
957
1134
|
},
|
|
958
1135
|
MCHC: {
|
|
959
1136
|
default: { max: 36, min: 32, optimalMax: 35, optimalMin: 33, unit: "g/dL" },
|
|
1137
|
+
kind: "reference-interval",
|
|
960
1138
|
source: "pns-hemograma-2019"
|
|
961
1139
|
},
|
|
962
1140
|
MCV: {
|
|
963
1141
|
default: { max: 100, min: 80, optimalMax: 98, optimalMin: 82, unit: "fL" },
|
|
1142
|
+
kind: "reference-interval",
|
|
964
1143
|
source: "pns-hemograma-2019"
|
|
965
1144
|
},
|
|
966
1145
|
Mercury: {
|
|
967
1146
|
default: { max: 10, min: 0, optimalMax: 5, optimalMin: 0, unit: "mcg/L" },
|
|
1147
|
+
kind: "decision-threshold",
|
|
968
1148
|
source: "nr7-pcmso-2020"
|
|
969
1149
|
},
|
|
970
1150
|
Microalbumin: {
|
|
971
1151
|
default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: "mg/L" },
|
|
1152
|
+
kind: "decision-threshold",
|
|
972
1153
|
source: "kdigo-ckd-2024"
|
|
973
1154
|
},
|
|
974
1155
|
MMA: {
|
|
975
1156
|
default: { max: 378, min: 0, optimalMax: 270, optimalMin: 0, unit: "nmol/L" },
|
|
1157
|
+
kind: "reference-interval",
|
|
976
1158
|
source: "tietz-7ed-2015"
|
|
977
1159
|
},
|
|
978
1160
|
// `Monocytes` (%) fica sem faixa de propósito e `Monocytes_Abs` usa os limites da
|
|
979
1161
|
// Tabela 2 da PNS 2019. Ver o comentário em `Neutrophils_Abs`.
|
|
980
1162
|
Monocytes_Abs: {
|
|
981
1163
|
default: { max: 0.812, min: 0.011, unit: "K/uL" },
|
|
1164
|
+
kind: "reference-interval",
|
|
982
1165
|
source: "pns-hemograma-2019",
|
|
983
1166
|
variants: [
|
|
984
1167
|
{ ageMin: 18, range: { max: 0.812, min: 0.011, unit: "K/uL" }, sex: "M" },
|
|
@@ -987,11 +1170,13 @@ var biomarkerRangeDefinitions = {
|
|
|
987
1170
|
},
|
|
988
1171
|
MPV: {
|
|
989
1172
|
default: { max: 11.5, min: 7.5, optimalMax: 10.5, optimalMin: 8, unit: "fL" },
|
|
1173
|
+
kind: "reference-interval",
|
|
990
1174
|
source: "pns-hemograma-2019"
|
|
991
1175
|
},
|
|
992
1176
|
// MPO: Meuwese 2007 (EPIC-Norfolk) — risco CV elevado >322 pmol/L
|
|
993
1177
|
Myeloperoxidase: {
|
|
994
1178
|
default: { max: 470, min: 0, optimalMax: 322, optimalMin: 0, unit: "pmol/L" },
|
|
1179
|
+
kind: "decision-threshold",
|
|
995
1180
|
source: "meuwese-mpo-2007"
|
|
996
1181
|
},
|
|
997
1182
|
// Leucograma diferencial em percentual (`Neutrophils`, `Lymphocytes`,
|
|
@@ -1015,6 +1200,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1015
1200
|
// (menor mínimo e maior máximo entre homens e mulheres).
|
|
1016
1201
|
Neutrophils_Abs: {
|
|
1017
1202
|
default: { max: 6.474, min: 0.576, unit: "K/uL" },
|
|
1203
|
+
kind: "reference-interval",
|
|
1018
1204
|
source: "pns-hemograma-2019",
|
|
1019
1205
|
variants: [
|
|
1020
1206
|
{ ageMin: 18, range: { max: 5.971, min: 0.576, unit: "K/uL" }, sex: "M" },
|
|
@@ -1024,22 +1210,27 @@ var biomarkerRangeDefinitions = {
|
|
|
1024
1210
|
NonHDL_Cholesterol: {
|
|
1025
1211
|
default: { max: 130, min: 0, optimalMax: 100, optimalMin: 0, unit: "mg/dL" },
|
|
1026
1212
|
direction: "lower-better",
|
|
1213
|
+
kind: "decision-threshold",
|
|
1027
1214
|
source: "sbc-lipids-2025"
|
|
1028
1215
|
},
|
|
1029
1216
|
NRBC: {
|
|
1030
1217
|
default: { max: 0, min: 0, optimalMax: 0, optimalMin: 0, unit: "/100WBC" },
|
|
1218
|
+
kind: "reference-interval",
|
|
1031
1219
|
source: "tietz-7ed-2015"
|
|
1032
1220
|
},
|
|
1033
1221
|
NTproBNP: {
|
|
1034
1222
|
default: { max: 125, min: 0, optimalMax: 75, optimalMin: 0, unit: "pg/mL" },
|
|
1223
|
+
kind: "decision-threshold",
|
|
1035
1224
|
source: "sbc-ic-2018"
|
|
1036
1225
|
},
|
|
1037
1226
|
Oleic_Acid: {
|
|
1038
1227
|
default: { max: 25, min: 15, optimalMax: 22, optimalMin: 18, unit: "%" },
|
|
1228
|
+
kind: "reference-interval",
|
|
1039
1229
|
source: "tietz-7ed-2015"
|
|
1040
1230
|
},
|
|
1041
1231
|
Omega3_Index: {
|
|
1042
1232
|
default: { max: 8, min: 4, optimalMax: 8, optimalMin: 5.5, unit: "%" },
|
|
1233
|
+
kind: "decision-threshold",
|
|
1043
1234
|
source: "harris-omega3-2004"
|
|
1044
1235
|
},
|
|
1045
1236
|
// Ômega-3 Total (% de ácidos graxos eritrocitários) — Harris & von Schacky
|
|
@@ -1049,39 +1240,55 @@ var biomarkerRangeDefinitions = {
|
|
|
1049
1240
|
// a literatura e o próprio texto educacional do `platform`.
|
|
1050
1241
|
Omega3_Total: {
|
|
1051
1242
|
default: { max: 12, min: 3, optimalMax: 10, optimalMin: 8, unit: "%" },
|
|
1243
|
+
kind: "decision-threshold",
|
|
1052
1244
|
source: "harris-omega3-2004"
|
|
1053
1245
|
},
|
|
1054
1246
|
Omega6_Total: {
|
|
1055
1247
|
default: { max: 40, min: 20, optimalMax: 35, optimalMin: 25, unit: "%" },
|
|
1248
|
+
kind: "decision-threshold",
|
|
1056
1249
|
source: "simopoulos-omega-ratio-2002"
|
|
1057
1250
|
},
|
|
1058
1251
|
Omega6_Omega3_Ratio: {
|
|
1059
|
-
default: {
|
|
1252
|
+
default: {
|
|
1253
|
+
max: 10,
|
|
1254
|
+
min: 1,
|
|
1255
|
+
minKind: "display",
|
|
1256
|
+
optimalMax: 4,
|
|
1257
|
+
optimalMin: 1,
|
|
1258
|
+
unit: ""
|
|
1259
|
+
},
|
|
1060
1260
|
direction: "lower-better",
|
|
1261
|
+
kind: "decision-threshold",
|
|
1061
1262
|
source: "simopoulos-omega-ratio-2002"
|
|
1062
1263
|
},
|
|
1063
1264
|
OmegaCheck: {
|
|
1064
1265
|
default: { max: 8, min: 4, optimalMax: 8, optimalMin: 5.5, unit: "%" },
|
|
1266
|
+
kind: "decision-threshold",
|
|
1065
1267
|
source: "harris-omega3-2004"
|
|
1066
1268
|
},
|
|
1067
1269
|
Palmitic_Acid: {
|
|
1068
1270
|
default: { max: 30, min: 20, optimalMax: 27, optimalMin: 22, unit: "%" },
|
|
1271
|
+
kind: "reference-interval",
|
|
1069
1272
|
source: "tietz-7ed-2015"
|
|
1070
1273
|
},
|
|
1071
1274
|
Phosphorus: {
|
|
1072
1275
|
default: { max: 4.5, min: 2.5, optimalMax: 4, optimalMin: 3, unit: "mg/dL" },
|
|
1276
|
+
kind: "reference-interval",
|
|
1073
1277
|
source: "tietz-7ed-2015"
|
|
1074
1278
|
},
|
|
1075
1279
|
Platelets: {
|
|
1076
1280
|
default: { max: 400, min: 150, optimalMax: 350, optimalMin: 180, unit: "K/uL" },
|
|
1281
|
+
kind: "reference-interval",
|
|
1077
1282
|
source: "pns-hemograma-2019"
|
|
1078
1283
|
},
|
|
1079
1284
|
Potassium: {
|
|
1080
1285
|
default: { max: 5, min: 3.5, optimalMax: 4.6, optimalMin: 3.8, unit: "mEq/L" },
|
|
1286
|
+
kind: "reference-interval",
|
|
1081
1287
|
source: "tietz-7ed-2015"
|
|
1082
1288
|
},
|
|
1083
1289
|
Prealbumin: {
|
|
1084
1290
|
default: { max: 38, min: 18, optimalMax: 35, optimalMin: 20, unit: "mg/dL" },
|
|
1291
|
+
kind: "reference-interval",
|
|
1085
1292
|
source: "tietz-7ed-2015"
|
|
1086
1293
|
},
|
|
1087
1294
|
// Progesterona — varia drasticamente com a fase do ciclo menstrual.
|
|
@@ -1092,6 +1299,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1092
1299
|
// ciclo, indisponível neste contexto.
|
|
1093
1300
|
Progesterone: {
|
|
1094
1301
|
default: { max: 0.9, min: 0.1, optimalMax: 0.7, optimalMin: 0.2, unit: "ng/mL" },
|
|
1302
|
+
kind: "reference-interval",
|
|
1095
1303
|
source: "tietz-7ed-2015",
|
|
1096
1304
|
variants: [
|
|
1097
1305
|
{
|
|
@@ -1118,6 +1326,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1118
1326
|
},
|
|
1119
1327
|
Prolactin: {
|
|
1120
1328
|
default: { max: 18, min: 2, optimalMax: 15, optimalMin: 4, unit: "ng/mL" },
|
|
1329
|
+
kind: "reference-interval",
|
|
1121
1330
|
source: "tietz-7ed-2015",
|
|
1122
1331
|
variants: [
|
|
1123
1332
|
{
|
|
@@ -1134,6 +1343,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1134
1343
|
},
|
|
1135
1344
|
PSA: {
|
|
1136
1345
|
default: { max: 4, min: 0, optimalMax: 2.5, optimalMin: 0, unit: "ng/mL" },
|
|
1346
|
+
kind: "reference-interval",
|
|
1137
1347
|
source: "sturgeon-nacb-2008",
|
|
1138
1348
|
variants: [
|
|
1139
1349
|
{
|
|
@@ -1163,6 +1373,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1163
1373
|
},
|
|
1164
1374
|
RBC: {
|
|
1165
1375
|
default: { max: 5.5, min: 4, optimalMax: 5.2, optimalMin: 4.3, unit: "M/uL" },
|
|
1376
|
+
kind: "reference-interval",
|
|
1166
1377
|
source: "pns-hemograma-2019",
|
|
1167
1378
|
variants: [
|
|
1168
1379
|
{
|
|
@@ -1179,22 +1390,27 @@ var biomarkerRangeDefinitions = {
|
|
|
1179
1390
|
},
|
|
1180
1391
|
RDW: {
|
|
1181
1392
|
default: { max: 14.5, min: 11.5, optimalMax: 14, optimalMin: 12, unit: "%" },
|
|
1393
|
+
kind: "reference-interval",
|
|
1182
1394
|
source: "pns-hemograma-2019"
|
|
1183
1395
|
},
|
|
1184
1396
|
Reticulocytes: {
|
|
1185
1397
|
default: { max: 2.5, min: 0.5, optimalMax: 2, optimalMin: 0.8, unit: "%" },
|
|
1398
|
+
kind: "reference-interval",
|
|
1186
1399
|
source: "pns-hemograma-2019"
|
|
1187
1400
|
},
|
|
1188
1401
|
SDMA: {
|
|
1189
1402
|
default: { max: 0.6, min: 0.3, optimalMax: 0.5, optimalMin: 0.3, unit: "umol/L" },
|
|
1403
|
+
kind: "reference-interval",
|
|
1190
1404
|
source: "schwedhelm-sdma-2011"
|
|
1191
1405
|
},
|
|
1192
1406
|
Selenium: {
|
|
1193
1407
|
default: { max: 150, min: 70, optimalMax: 125, optimalMin: 85, unit: "\xB5g/L" },
|
|
1408
|
+
kind: "reference-interval",
|
|
1194
1409
|
source: "tietz-7ed-2015"
|
|
1195
1410
|
},
|
|
1196
1411
|
SHBG: {
|
|
1197
1412
|
default: { max: 54, min: 18, optimalMax: 50, optimalMin: 20, unit: "nmol/L" },
|
|
1413
|
+
kind: "reference-interval",
|
|
1198
1414
|
source: "tietz-7ed-2015",
|
|
1199
1415
|
variants: [
|
|
1200
1416
|
{
|
|
@@ -1211,34 +1427,42 @@ var biomarkerRangeDefinitions = {
|
|
|
1211
1427
|
},
|
|
1212
1428
|
Sodium: {
|
|
1213
1429
|
default: { max: 145, min: 136, optimalMax: 143, optimalMin: 138, unit: "mEq/L" },
|
|
1430
|
+
kind: "reference-interval",
|
|
1214
1431
|
source: "tietz-7ed-2015"
|
|
1215
1432
|
},
|
|
1216
1433
|
SpecificGravity_Urine: {
|
|
1217
1434
|
default: { max: 1.03, min: 1.005, optimalMax: 1.025, optimalMin: 1.01, unit: "SG" },
|
|
1435
|
+
kind: "reference-interval",
|
|
1218
1436
|
source: "tietz-7ed-2015"
|
|
1219
1437
|
},
|
|
1220
1438
|
Stearic_Acid: {
|
|
1221
1439
|
default: { max: 14, min: 8, optimalMax: 12, optimalMin: 10, unit: "%" },
|
|
1440
|
+
kind: "reference-interval",
|
|
1222
1441
|
source: "tietz-7ed-2015"
|
|
1223
1442
|
},
|
|
1224
1443
|
T3Free: {
|
|
1225
1444
|
default: { max: 4.2, min: 2.3, optimalMax: 3.8, optimalMin: 2.8, unit: "pg/mL" },
|
|
1445
|
+
kind: "reference-interval",
|
|
1226
1446
|
source: "tietz-7ed-2015"
|
|
1227
1447
|
},
|
|
1228
1448
|
T3Reverse: {
|
|
1229
1449
|
default: { max: 24, min: 10, optimalMax: 20, optimalMin: 12, unit: "ng/dL" },
|
|
1450
|
+
kind: "reference-interval",
|
|
1230
1451
|
source: "tietz-7ed-2015"
|
|
1231
1452
|
},
|
|
1232
1453
|
T4Free: {
|
|
1233
1454
|
default: { max: 1.8, min: 0.8, optimalMax: 1.5, optimalMin: 1, unit: "ng/dL" },
|
|
1455
|
+
kind: "reference-interval",
|
|
1234
1456
|
source: "tietz-7ed-2015"
|
|
1235
1457
|
},
|
|
1236
1458
|
T4Total: {
|
|
1237
1459
|
default: { max: 12, min: 4.5, optimalMax: 10, optimalMin: 6, unit: "ug/dL" },
|
|
1460
|
+
kind: "reference-interval",
|
|
1238
1461
|
source: "tietz-7ed-2015"
|
|
1239
1462
|
},
|
|
1240
1463
|
Testosterone: {
|
|
1241
1464
|
default: { max: 1e3, min: 300, optimalMax: 800, optimalMin: 500, unit: "ng/dL" },
|
|
1465
|
+
kind: "reference-interval",
|
|
1242
1466
|
source: "tietz-7ed-2015",
|
|
1243
1467
|
variants: [
|
|
1244
1468
|
{
|
|
@@ -1261,12 +1485,14 @@ var biomarkerRangeDefinitions = {
|
|
|
1261
1485
|
},
|
|
1262
1486
|
TestosteroneBioavailable: {
|
|
1263
1487
|
default: { max: 200, min: 50, optimalMax: 150, optimalMin: 80, unit: "ng/dL" },
|
|
1488
|
+
kind: "reference-interval",
|
|
1264
1489
|
source: "tietz-7ed-2015"
|
|
1265
1490
|
},
|
|
1266
1491
|
// TestosteroneFree - using direct immunoassay ranges (Quest/LabCorp standard)
|
|
1267
1492
|
// Previous values (9.3-26.5 pg/mL) were based on equilibrium dialysis method
|
|
1268
1493
|
TestosteroneFree: {
|
|
1269
1494
|
default: { max: 155, min: 35, optimalMax: 120, optimalMin: 50, unit: "pg/mL" },
|
|
1495
|
+
kind: "reference-interval",
|
|
1270
1496
|
source: "tietz-7ed-2015",
|
|
1271
1497
|
variants: [
|
|
1272
1498
|
{
|
|
@@ -1289,22 +1515,27 @@ var biomarkerRangeDefinitions = {
|
|
|
1289
1515
|
},
|
|
1290
1516
|
TIBC: {
|
|
1291
1517
|
default: { max: 370, min: 250, optimalMax: 350, optimalMin: 280, unit: "mcg/dL" },
|
|
1518
|
+
kind: "reference-interval",
|
|
1292
1519
|
source: "tietz-7ed-2015"
|
|
1293
1520
|
},
|
|
1294
1521
|
TotalProtein: {
|
|
1295
1522
|
default: { max: 8.3, min: 6, optimalMax: 7.8, optimalMin: 6.5, unit: "g/dL" },
|
|
1523
|
+
kind: "reference-interval",
|
|
1296
1524
|
source: "tietz-7ed-2015"
|
|
1297
1525
|
},
|
|
1298
1526
|
Trans_Fat_Index: {
|
|
1299
1527
|
default: { max: 1, min: 0, optimalMax: 0.5, optimalMin: 0, unit: "%" },
|
|
1528
|
+
kind: "reference-interval",
|
|
1300
1529
|
source: "tietz-7ed-2015"
|
|
1301
1530
|
},
|
|
1302
1531
|
Transferrin: {
|
|
1303
1532
|
default: { max: 360, min: 200, optimalMax: 340, optimalMin: 220, unit: "mg/dL" },
|
|
1533
|
+
kind: "reference-interval",
|
|
1304
1534
|
source: "tietz-7ed-2015"
|
|
1305
1535
|
},
|
|
1306
1536
|
TransferrinSaturation: {
|
|
1307
1537
|
default: { max: 50, min: 20, optimalMax: 45, optimalMin: 25, unit: "%" },
|
|
1538
|
+
kind: "reference-interval",
|
|
1308
1539
|
source: "tietz-7ed-2015",
|
|
1309
1540
|
variants: [
|
|
1310
1541
|
{
|
|
@@ -1332,16 +1563,19 @@ var biomarkerRangeDefinitions = {
|
|
|
1332
1563
|
unit: "mg/dL"
|
|
1333
1564
|
},
|
|
1334
1565
|
direction: "lower-better",
|
|
1566
|
+
kind: "decision-threshold",
|
|
1335
1567
|
source: "sbc-lipids-2025"
|
|
1336
1568
|
},
|
|
1337
1569
|
// TroponinI: 0.04 ng/mL = percentil 99 (ensaio Siemens TnI-Ultra)
|
|
1338
1570
|
TroponinI: {
|
|
1339
1571
|
default: { max: 0.04, min: 0, optimalMax: 0.02, optimalMin: 0, unit: "ng/mL" },
|
|
1572
|
+
kind: "reference-interval",
|
|
1340
1573
|
source: "keller-tni-2013"
|
|
1341
1574
|
},
|
|
1342
1575
|
// TroponinT: 14 ng/L = percentil 99 hs-cTnT (ensaio Roche Elecsys 5ª geração)
|
|
1343
1576
|
TroponinT: {
|
|
1344
1577
|
default: { max: 14, min: 0, optimalMax: 10, optimalMin: 0, unit: "ng/L" },
|
|
1578
|
+
kind: "reference-interval",
|
|
1345
1579
|
source: "giannitsis-hstnt-2010"
|
|
1346
1580
|
},
|
|
1347
1581
|
// TSH — 0.4–4.0 é a faixa de referência adulta geral. O alvo 2.5 µIU/mL é
|
|
@@ -1351,6 +1585,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1351
1585
|
// expandido (tolerância fisiológica do eixo em idosos, SBEM 2013).
|
|
1352
1586
|
TSH: {
|
|
1353
1587
|
default: { max: 4, min: 0.4, optimalMax: 3, optimalMin: 1, unit: "uIU/mL" },
|
|
1588
|
+
kind: "reference-interval",
|
|
1354
1589
|
source: "sbem-thyroid-2013",
|
|
1355
1590
|
variants: [
|
|
1356
1591
|
// Variantes gestacionais (ATA 2017 / SBEM): supressão fisiológica por hCG
|
|
@@ -1399,10 +1634,12 @@ var biomarkerRangeDefinitions = {
|
|
|
1399
1634
|
// deve ser revisto em biomarkers.ts — ver issue #41.
|
|
1400
1635
|
Urea: {
|
|
1401
1636
|
default: { max: 50, min: 15, optimalMax: 40, optimalMin: 20, unit: "mg/dL" },
|
|
1637
|
+
kind: "reference-interval",
|
|
1402
1638
|
source: "tietz-7ed-2015"
|
|
1403
1639
|
},
|
|
1404
1640
|
UricAcid: {
|
|
1405
1641
|
default: { max: 7, min: 2.5, optimalMax: 5.5, optimalMin: 3, unit: "mg/dL" },
|
|
1642
|
+
kind: "reference-interval",
|
|
1406
1643
|
source: "tietz-7ed-2015",
|
|
1407
1644
|
variants: [
|
|
1408
1645
|
{
|
|
@@ -1419,50 +1656,62 @@ var biomarkerRangeDefinitions = {
|
|
|
1419
1656
|
},
|
|
1420
1657
|
Urobilinogen_Urine: {
|
|
1421
1658
|
default: { max: 1, min: 0.1, optimalMax: 1, optimalMin: 0.1, unit: "mg/dL" },
|
|
1659
|
+
kind: "reference-interval",
|
|
1422
1660
|
source: "tietz-7ed-2015"
|
|
1423
1661
|
},
|
|
1424
1662
|
pH_Urine: {
|
|
1425
1663
|
default: { max: 8, min: 4.5, optimalMax: 7, optimalMin: 5.5, unit: "pH" },
|
|
1664
|
+
kind: "reference-interval",
|
|
1426
1665
|
source: "tietz-7ed-2015"
|
|
1427
1666
|
},
|
|
1428
1667
|
HyalineCasts_Urine: {
|
|
1429
1668
|
default: { max: 2, min: 0, optimalMax: 1, optimalMin: 0, unit: "/LPF" },
|
|
1669
|
+
kind: "reference-interval",
|
|
1430
1670
|
source: "tietz-7ed-2015"
|
|
1431
1671
|
},
|
|
1432
1672
|
RBC_Urine: {
|
|
1433
1673
|
default: { max: 3, min: 0, optimalMax: 1, optimalMin: 0, unit: "/HPF" },
|
|
1674
|
+
kind: "reference-interval",
|
|
1434
1675
|
source: "tietz-7ed-2015"
|
|
1435
1676
|
},
|
|
1436
1677
|
SquamousEpithelial_Urine: {
|
|
1437
1678
|
default: { max: 15, min: 0, optimalMax: 5, optimalMin: 0, unit: "/HPF" },
|
|
1679
|
+
kind: "reference-interval",
|
|
1438
1680
|
source: "tietz-7ed-2015"
|
|
1439
1681
|
},
|
|
1440
1682
|
Leukocytes_Urine: {
|
|
1441
1683
|
default: { max: 5, min: 0, optimalMax: 2, optimalMin: 0, unit: "/HPF" },
|
|
1684
|
+
kind: "reference-interval",
|
|
1442
1685
|
source: "tietz-7ed-2015"
|
|
1443
1686
|
},
|
|
1444
1687
|
Folate: {
|
|
1445
1688
|
default: { max: 20, min: 3.9, optimalMax: 17, optimalMin: 5, unit: "ng/mL" },
|
|
1689
|
+
kind: "reference-interval",
|
|
1446
1690
|
source: "tietz-7ed-2015"
|
|
1447
1691
|
},
|
|
1448
1692
|
VitaminA: {
|
|
1449
1693
|
default: { max: 100, min: 20, optimalMax: 80, optimalMin: 30, unit: "mcg/dL" },
|
|
1694
|
+
kind: "reference-interval",
|
|
1450
1695
|
source: "tietz-7ed-2015"
|
|
1451
1696
|
},
|
|
1452
1697
|
VitaminB1: {
|
|
1453
1698
|
default: { max: 180, min: 70, optimalMax: 150, optimalMin: 80, unit: "nmol/L" },
|
|
1699
|
+
kind: "reference-interval",
|
|
1454
1700
|
source: "tietz-7ed-2015"
|
|
1455
1701
|
},
|
|
1456
1702
|
VitaminB12: {
|
|
1457
1703
|
default: { max: 900, min: 200, optimalMax: 800, optimalMin: 400, unit: "pg/mL" },
|
|
1704
|
+
kind: "reference-interval",
|
|
1458
1705
|
source: "tietz-7ed-2015"
|
|
1459
1706
|
},
|
|
1460
1707
|
VitaminB6: {
|
|
1461
1708
|
default: { max: 50, min: 5, optimalMax: 40, optimalMin: 10, unit: "ng/mL" },
|
|
1709
|
+
kind: "reference-interval",
|
|
1462
1710
|
source: "tietz-7ed-2015"
|
|
1463
1711
|
},
|
|
1464
1712
|
VitaminC: {
|
|
1465
1713
|
default: { max: 2, min: 0.4, optimalMax: 1.5, optimalMin: 0.6, unit: "mg/dL" },
|
|
1714
|
+
kind: "reference-interval",
|
|
1466
1715
|
source: "tietz-7ed-2015"
|
|
1467
1716
|
},
|
|
1468
1717
|
// Vitamina D — posicionamento conjunto SBEM/SBPC-ML 2017:
|
|
@@ -1479,6 +1728,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1479
1728
|
// quando a modelagem de comorbidades chegar ao schema.
|
|
1480
1729
|
VitaminD: {
|
|
1481
1730
|
default: { max: 100, min: 20, optimalMax: 70, optimalMin: 40, unit: "ng/mL" },
|
|
1731
|
+
kind: "decision-threshold",
|
|
1482
1732
|
source: "ferreira-vitd-2017",
|
|
1483
1733
|
variants: [
|
|
1484
1734
|
{
|
|
@@ -1490,10 +1740,12 @@ var biomarkerRangeDefinitions = {
|
|
|
1490
1740
|
},
|
|
1491
1741
|
VitaminD_1_25: {
|
|
1492
1742
|
default: { max: 72, min: 18, optimalMax: 60, optimalMin: 25, unit: "pg/mL" },
|
|
1743
|
+
kind: "reference-interval",
|
|
1493
1744
|
source: "tietz-7ed-2015"
|
|
1494
1745
|
},
|
|
1495
1746
|
VitaminE: {
|
|
1496
1747
|
default: { max: 17, min: 5.5, optimalMax: 14, optimalMin: 7, unit: "mg/L" },
|
|
1748
|
+
kind: "reference-interval",
|
|
1497
1749
|
source: "tietz-7ed-2015"
|
|
1498
1750
|
},
|
|
1499
1751
|
// VLDL — estimado clinicamente via TG/5 (método Friedewald). O corte de
|
|
@@ -1502,30 +1754,34 @@ var biomarkerRangeDefinitions = {
|
|
|
1502
1754
|
// método de cálculo, mas a faixa de referência tem respaldo na diretriz
|
|
1503
1755
|
// SBC 2025.
|
|
1504
1756
|
VLDL: {
|
|
1505
|
-
default: { max: 30, min: 2, optimalMax: 20, optimalMin: 5, unit: "mg/dL" },
|
|
1757
|
+
default: { max: 30, min: 2, minKind: "display", optimalMax: 20, optimalMin: 5, unit: "mg/dL" },
|
|
1758
|
+
kind: "decision-threshold",
|
|
1506
1759
|
source: "sbc-lipids-2025"
|
|
1507
1760
|
},
|
|
1508
1761
|
WBC: {
|
|
1509
1762
|
default: { max: 11, min: 4, optimalMax: 8, optimalMin: 5, unit: "K/uL" },
|
|
1763
|
+
kind: "reference-interval",
|
|
1510
1764
|
source: "pns-hemograma-2019"
|
|
1511
1765
|
},
|
|
1512
1766
|
Zinc: {
|
|
1513
1767
|
default: { max: 120, min: 60, optimalMax: 100, optimalMin: 70, unit: "mcg/dL" },
|
|
1768
|
+
kind: "reference-interval",
|
|
1514
1769
|
source: "tietz-7ed-2015"
|
|
1515
1770
|
},
|
|
1516
1771
|
AndroidFatPct: {
|
|
1517
|
-
default: { max: 35, min: 10, optimalMax: 25, optimalMin: 15, unit: "%" },
|
|
1772
|
+
default: { max: 35, min: 10, minKind: "display", optimalMax: 25, optimalMin: 15, unit: "%" },
|
|
1518
1773
|
direction: "lower-better",
|
|
1774
|
+
kind: "population",
|
|
1519
1775
|
source: "kelly-dxa-2009",
|
|
1520
1776
|
variants: [
|
|
1521
1777
|
{
|
|
1522
1778
|
ageMin: 18,
|
|
1523
|
-
range: { max: 30, min: 10, optimalMax: 22, optimalMin: 12, unit: "%" },
|
|
1779
|
+
range: { max: 30, min: 10, minKind: "display", optimalMax: 22, optimalMin: 12, unit: "%" },
|
|
1524
1780
|
sex: "M"
|
|
1525
1781
|
},
|
|
1526
1782
|
{
|
|
1527
1783
|
ageMin: 18,
|
|
1528
|
-
range: { max: 42, min: 15, optimalMax: 32, optimalMin: 20, unit: "%" },
|
|
1784
|
+
range: { max: 42, min: 15, minKind: "display", optimalMax: 32, optimalMin: 20, unit: "%" },
|
|
1529
1785
|
sex: "F"
|
|
1530
1786
|
}
|
|
1531
1787
|
]
|
|
@@ -1576,6 +1832,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1576
1832
|
CalfCircumference: {
|
|
1577
1833
|
default: { unit: "cm" },
|
|
1578
1834
|
direction: "higher-better",
|
|
1835
|
+
kind: "decision-threshold",
|
|
1579
1836
|
source: "ewgsop2-2019",
|
|
1580
1837
|
// O corte não é específico por sexo na fonte; as duas variantes existem
|
|
1581
1838
|
// porque `RangeVariant` exige o campo, e carregam o mesmo número.
|
|
@@ -1587,38 +1844,76 @@ var biomarkerRangeDefinitions = {
|
|
|
1587
1844
|
WaistToHeightRatio: {
|
|
1588
1845
|
default: { max: 0.5, unit: "" },
|
|
1589
1846
|
direction: "lower-better",
|
|
1847
|
+
kind: "decision-threshold",
|
|
1590
1848
|
source: "browning-ashwell-2010"
|
|
1591
1849
|
},
|
|
1592
1850
|
AndroidGynoidRatio: {
|
|
1593
|
-
default: { max: 1.2, min: 0.5, optimalMax: 1, optimalMin: 0.6, unit: "" },
|
|
1851
|
+
default: { max: 1.2, min: 0.5, minKind: "display", optimalMax: 1, optimalMin: 0.6, unit: "" },
|
|
1594
1852
|
direction: "lower-better",
|
|
1853
|
+
kind: "population",
|
|
1595
1854
|
source: "kelly-dxa-2009",
|
|
1596
1855
|
variants: [
|
|
1597
1856
|
{
|
|
1598
1857
|
ageMin: 18,
|
|
1599
|
-
range: {
|
|
1858
|
+
range: {
|
|
1859
|
+
max: 1.2,
|
|
1860
|
+
min: 0.6,
|
|
1861
|
+
minKind: "display",
|
|
1862
|
+
optimalMax: 1,
|
|
1863
|
+
optimalMin: 0.7,
|
|
1864
|
+
unit: ""
|
|
1865
|
+
},
|
|
1600
1866
|
sex: "M"
|
|
1601
1867
|
},
|
|
1602
1868
|
{
|
|
1603
1869
|
ageMin: 18,
|
|
1604
|
-
range: {
|
|
1870
|
+
range: {
|
|
1871
|
+
max: 1,
|
|
1872
|
+
min: 0.4,
|
|
1873
|
+
minKind: "display",
|
|
1874
|
+
optimalMax: 0.8,
|
|
1875
|
+
optimalMin: 0.5,
|
|
1876
|
+
unit: ""
|
|
1877
|
+
},
|
|
1605
1878
|
sex: "F"
|
|
1606
1879
|
}
|
|
1607
1880
|
]
|
|
1608
1881
|
},
|
|
1609
1882
|
BMC: {
|
|
1610
|
-
default: {
|
|
1883
|
+
default: {
|
|
1884
|
+
max: 3.5,
|
|
1885
|
+
maxKind: "display",
|
|
1886
|
+
min: 2,
|
|
1887
|
+
optimalMax: 3.2,
|
|
1888
|
+
optimalMin: 2.3,
|
|
1889
|
+
unit: "kg"
|
|
1890
|
+
},
|
|
1611
1891
|
direction: "higher-better",
|
|
1892
|
+
kind: "population",
|
|
1612
1893
|
source: "kelly-dxa-2009",
|
|
1613
1894
|
variants: [
|
|
1614
1895
|
{
|
|
1615
1896
|
ageMin: 18,
|
|
1616
|
-
range: {
|
|
1897
|
+
range: {
|
|
1898
|
+
max: 4,
|
|
1899
|
+
maxKind: "display",
|
|
1900
|
+
min: 2.5,
|
|
1901
|
+
optimalMax: 3.5,
|
|
1902
|
+
optimalMin: 2.8,
|
|
1903
|
+
unit: "kg"
|
|
1904
|
+
},
|
|
1617
1905
|
sex: "M"
|
|
1618
1906
|
},
|
|
1619
1907
|
{
|
|
1620
1908
|
ageMin: 18,
|
|
1621
|
-
range: {
|
|
1909
|
+
range: {
|
|
1910
|
+
max: 3,
|
|
1911
|
+
maxKind: "display",
|
|
1912
|
+
min: 1.8,
|
|
1913
|
+
optimalMax: 2.7,
|
|
1914
|
+
optimalMin: 2,
|
|
1915
|
+
unit: "kg"
|
|
1916
|
+
},
|
|
1622
1917
|
sex: "F"
|
|
1623
1918
|
}
|
|
1624
1919
|
]
|
|
@@ -1626,142 +1921,148 @@ var biomarkerRangeDefinitions = {
|
|
|
1626
1921
|
// BodyFatPct — Age-bracketed ranges from Gallagher et al. Am J Clin Nutr 2000;72:694-701
|
|
1627
1922
|
// (PMID: 10966886) and ACSM Guidelines for Exercise Testing, 11th Ed (2021)
|
|
1628
1923
|
BodyFatPct: {
|
|
1629
|
-
default: { max: 30, min: 10, optimalMax: 25, optimalMin: 15, unit: "%" },
|
|
1924
|
+
default: { max: 30, min: 10, minKind: "clinical", optimalMax: 25, optimalMin: 15, unit: "%" },
|
|
1630
1925
|
direction: "lower-better",
|
|
1926
|
+
kind: "decision-threshold",
|
|
1631
1927
|
source: "gallagher-bodyfat-2000",
|
|
1632
1928
|
variants: [
|
|
1633
1929
|
// Men — age brackets
|
|
1634
1930
|
{
|
|
1635
1931
|
ageMax: 25,
|
|
1636
1932
|
ageMin: 18,
|
|
1637
|
-
range: { max: 25, min: 5, optimalMax: 20, optimalMin: 10, unit: "%" },
|
|
1933
|
+
range: { max: 25, min: 5, minKind: "clinical", optimalMax: 20, optimalMin: 10, unit: "%" },
|
|
1638
1934
|
sex: "M"
|
|
1639
1935
|
},
|
|
1640
1936
|
{
|
|
1641
1937
|
ageMax: 35,
|
|
1642
1938
|
ageMin: 26,
|
|
1643
|
-
range: { max: 26, min: 5, optimalMax: 21, optimalMin: 11, unit: "%" },
|
|
1939
|
+
range: { max: 26, min: 5, minKind: "clinical", optimalMax: 21, optimalMin: 11, unit: "%" },
|
|
1644
1940
|
sex: "M"
|
|
1645
1941
|
},
|
|
1646
1942
|
{
|
|
1647
1943
|
ageMax: 45,
|
|
1648
1944
|
ageMin: 36,
|
|
1649
|
-
range: { max: 27, min: 5, optimalMax: 22, optimalMin: 12, unit: "%" },
|
|
1945
|
+
range: { max: 27, min: 5, minKind: "clinical", optimalMax: 22, optimalMin: 12, unit: "%" },
|
|
1650
1946
|
sex: "M"
|
|
1651
1947
|
},
|
|
1652
1948
|
{
|
|
1653
1949
|
ageMax: 55,
|
|
1654
1950
|
ageMin: 46,
|
|
1655
|
-
range: { max: 28, min: 5, optimalMax: 23, optimalMin: 13, unit: "%" },
|
|
1951
|
+
range: { max: 28, min: 5, minKind: "clinical", optimalMax: 23, optimalMin: 13, unit: "%" },
|
|
1656
1952
|
sex: "M"
|
|
1657
1953
|
},
|
|
1658
1954
|
{
|
|
1659
1955
|
ageMin: 56,
|
|
1660
|
-
range: { max: 29, min: 5, optimalMax: 24, optimalMin: 14, unit: "%" },
|
|
1956
|
+
range: { max: 29, min: 5, minKind: "clinical", optimalMax: 24, optimalMin: 14, unit: "%" },
|
|
1661
1957
|
sex: "M"
|
|
1662
1958
|
},
|
|
1663
1959
|
// Women — age brackets
|
|
1664
1960
|
{
|
|
1665
1961
|
ageMax: 25,
|
|
1666
1962
|
ageMin: 18,
|
|
1667
|
-
range: { max: 32, min: 13, optimalMax: 28, optimalMin: 18, unit: "%" },
|
|
1963
|
+
range: { max: 32, min: 13, minKind: "clinical", optimalMax: 28, optimalMin: 18, unit: "%" },
|
|
1668
1964
|
sex: "F"
|
|
1669
1965
|
},
|
|
1670
1966
|
{
|
|
1671
1967
|
ageMax: 35,
|
|
1672
1968
|
ageMin: 26,
|
|
1673
|
-
range: { max: 33, min: 13, optimalMax: 29, optimalMin: 18, unit: "%" },
|
|
1969
|
+
range: { max: 33, min: 13, minKind: "clinical", optimalMax: 29, optimalMin: 18, unit: "%" },
|
|
1674
1970
|
sex: "F"
|
|
1675
1971
|
},
|
|
1676
1972
|
{
|
|
1677
1973
|
ageMax: 45,
|
|
1678
1974
|
ageMin: 36,
|
|
1679
|
-
range: { max: 34, min: 13, optimalMax: 30, optimalMin: 19, unit: "%" },
|
|
1975
|
+
range: { max: 34, min: 13, minKind: "clinical", optimalMax: 30, optimalMin: 19, unit: "%" },
|
|
1680
1976
|
sex: "F"
|
|
1681
1977
|
},
|
|
1682
1978
|
{
|
|
1683
1979
|
ageMax: 55,
|
|
1684
1980
|
ageMin: 46,
|
|
1685
|
-
range: { max: 35, min: 13, optimalMax: 31, optimalMin: 20, unit: "%" },
|
|
1981
|
+
range: { max: 35, min: 13, minKind: "clinical", optimalMax: 31, optimalMin: 20, unit: "%" },
|
|
1686
1982
|
sex: "F"
|
|
1687
1983
|
},
|
|
1688
1984
|
{
|
|
1689
1985
|
ageMin: 56,
|
|
1690
|
-
range: { max: 36, min: 13, optimalMax: 32, optimalMin: 20, unit: "%" },
|
|
1986
|
+
range: { max: 36, min: 13, minKind: "clinical", optimalMax: 32, optimalMin: 20, unit: "%" },
|
|
1691
1987
|
sex: "F"
|
|
1692
1988
|
}
|
|
1693
1989
|
]
|
|
1694
1990
|
},
|
|
1695
1991
|
FatFreeMass: {
|
|
1696
|
-
default: { max: 80, min: 40, optimalMax: 70, optimalMin: 45, unit: "kg" },
|
|
1992
|
+
default: { max: 80, maxKind: "display", min: 40, optimalMax: 70, optimalMin: 45, unit: "kg" },
|
|
1697
1993
|
direction: "higher-better",
|
|
1994
|
+
kind: "population",
|
|
1698
1995
|
source: "kelly-dxa-2009",
|
|
1699
1996
|
variants: [
|
|
1700
1997
|
{
|
|
1701
1998
|
ageMin: 18,
|
|
1702
|
-
range: { max: 90, min: 50, optimalMax: 80, optimalMin: 55, unit: "kg" },
|
|
1999
|
+
range: { max: 90, maxKind: "display", min: 50, optimalMax: 80, optimalMin: 55, unit: "kg" },
|
|
1703
2000
|
sex: "M"
|
|
1704
2001
|
},
|
|
1705
2002
|
{
|
|
1706
2003
|
ageMin: 18,
|
|
1707
|
-
range: { max: 60, min: 35, optimalMax: 52, optimalMin: 38, unit: "kg" },
|
|
2004
|
+
range: { max: 60, maxKind: "display", min: 35, optimalMax: 52, optimalMin: 38, unit: "kg" },
|
|
1708
2005
|
sex: "F"
|
|
1709
2006
|
}
|
|
1710
2007
|
]
|
|
1711
2008
|
},
|
|
1712
2009
|
FatMass: {
|
|
1713
|
-
default: { max: 30, min: 5, optimalMax: 20, optimalMin: 8, unit: "kg" },
|
|
2010
|
+
default: { max: 30, min: 5, minKind: "clinical", optimalMax: 20, optimalMin: 8, unit: "kg" },
|
|
1714
2011
|
direction: "lower-better",
|
|
2012
|
+
kind: "population",
|
|
1715
2013
|
source: "kelly-dxa-2009",
|
|
1716
2014
|
variants: [
|
|
1717
2015
|
{
|
|
1718
2016
|
ageMin: 18,
|
|
1719
|
-
range: { max: 25, min: 5, optimalMax: 18, optimalMin: 7, unit: "kg" },
|
|
2017
|
+
range: { max: 25, min: 5, minKind: "clinical", optimalMax: 18, optimalMin: 7, unit: "kg" },
|
|
1720
2018
|
sex: "M"
|
|
1721
2019
|
},
|
|
1722
2020
|
{
|
|
1723
2021
|
ageMin: 18,
|
|
1724
|
-
range: { max: 30, min: 8, optimalMax: 22, optimalMin: 10, unit: "kg" },
|
|
2022
|
+
range: { max: 30, min: 8, minKind: "clinical", optimalMax: 22, optimalMin: 10, unit: "kg" },
|
|
1725
2023
|
sex: "F"
|
|
1726
2024
|
}
|
|
1727
2025
|
]
|
|
1728
2026
|
},
|
|
1729
2027
|
GynoidFatPct: {
|
|
1730
|
-
default: { max: 45, min: 15, optimalMax: 35, optimalMin: 20, unit: "%" },
|
|
2028
|
+
default: { max: 45, min: 15, minKind: "display", optimalMax: 35, optimalMin: 20, unit: "%" },
|
|
1731
2029
|
direction: "lower-better",
|
|
2030
|
+
kind: "population",
|
|
1732
2031
|
source: "kelly-dxa-2009",
|
|
1733
2032
|
variants: [
|
|
1734
2033
|
{
|
|
1735
2034
|
ageMin: 18,
|
|
1736
|
-
range: { max: 35, min: 12, optimalMax: 28, optimalMin: 15, unit: "%" },
|
|
2035
|
+
range: { max: 35, min: 12, minKind: "display", optimalMax: 28, optimalMin: 15, unit: "%" },
|
|
1737
2036
|
sex: "M"
|
|
1738
2037
|
},
|
|
1739
2038
|
{
|
|
1740
2039
|
ageMin: 18,
|
|
1741
|
-
range: { max: 50, min: 20, optimalMax: 40, optimalMin: 25, unit: "%" },
|
|
2040
|
+
range: { max: 50, min: 20, minKind: "display", optimalMax: 40, optimalMin: 25, unit: "%" },
|
|
1742
2041
|
sex: "F"
|
|
1743
2042
|
}
|
|
1744
2043
|
]
|
|
1745
2044
|
},
|
|
1746
2045
|
LeanMass: {
|
|
1747
|
-
default: { max: 75, min: 35, optimalMax: 65, optimalMin: 40, unit: "kg" },
|
|
2046
|
+
default: { max: 75, maxKind: "display", min: 35, optimalMax: 65, optimalMin: 40, unit: "kg" },
|
|
1748
2047
|
direction: "higher-better",
|
|
2048
|
+
kind: "population",
|
|
1749
2049
|
source: "kelly-dxa-2009",
|
|
1750
2050
|
variants: [
|
|
1751
2051
|
{
|
|
1752
2052
|
ageMin: 18,
|
|
1753
|
-
range: { max: 85, min: 45, optimalMax: 75, optimalMin: 50, unit: "kg" },
|
|
2053
|
+
range: { max: 85, maxKind: "display", min: 45, optimalMax: 75, optimalMin: 50, unit: "kg" },
|
|
1754
2054
|
sex: "M"
|
|
1755
2055
|
},
|
|
1756
2056
|
{
|
|
1757
2057
|
ageMin: 18,
|
|
1758
|
-
range: { max: 55, min: 30, optimalMax: 48, optimalMin: 35, unit: "kg" },
|
|
2058
|
+
range: { max: 55, maxKind: "display", min: 30, optimalMax: 48, optimalMin: 35, unit: "kg" },
|
|
1759
2059
|
sex: "F"
|
|
1760
2060
|
}
|
|
1761
2061
|
]
|
|
1762
2062
|
},
|
|
1763
2063
|
TotalMass: {
|
|
1764
2064
|
default: { max: 100, min: 50, optimalMax: 85, optimalMin: 55, unit: "kg" },
|
|
2065
|
+
kind: "population",
|
|
1765
2066
|
source: "kelly-dxa-2009",
|
|
1766
2067
|
variants: [
|
|
1767
2068
|
{
|
|
@@ -1779,6 +2080,7 @@ var biomarkerRangeDefinitions = {
|
|
|
1779
2080
|
VATMass: {
|
|
1780
2081
|
default: { max: 1.5, min: 0, optimalMax: 0.8, optimalMin: 0, unit: "kg" },
|
|
1781
2082
|
direction: "lower-better",
|
|
2083
|
+
kind: "population",
|
|
1782
2084
|
source: "ofenheimer-vat-2020",
|
|
1783
2085
|
variants: [
|
|
1784
2086
|
{
|
|
@@ -1803,29 +2105,56 @@ var biomarkerRangeDefinitions = {
|
|
|
1803
2105
|
warningMax: 1837
|
|
1804
2106
|
},
|
|
1805
2107
|
direction: "lower-better",
|
|
2108
|
+
kind: "decision-threshold",
|
|
1806
2109
|
source: "ge-corescan"
|
|
1807
2110
|
},
|
|
1808
2111
|
BMD_Total: {
|
|
1809
|
-
default: {
|
|
2112
|
+
default: {
|
|
2113
|
+
max: 1.4,
|
|
2114
|
+
maxKind: "display",
|
|
2115
|
+
min: 0.9,
|
|
2116
|
+
optimalMax: 1.3,
|
|
2117
|
+
optimalMin: 1,
|
|
2118
|
+
unit: "g/cm\xB2"
|
|
2119
|
+
},
|
|
1810
2120
|
direction: "higher-better",
|
|
2121
|
+
kind: "decision-threshold",
|
|
1811
2122
|
source: "who-osteoporosis-1994"
|
|
1812
2123
|
},
|
|
1813
2124
|
TScore_Total: {
|
|
1814
|
-
default: {
|
|
2125
|
+
default: {
|
|
2126
|
+
max: 4,
|
|
2127
|
+
maxKind: "display",
|
|
2128
|
+
min: -1,
|
|
2129
|
+
optimalMax: 2,
|
|
2130
|
+
optimalMin: -0.5,
|
|
2131
|
+
unit: ""
|
|
2132
|
+
},
|
|
1815
2133
|
direction: "higher-better",
|
|
2134
|
+
kind: "decision-threshold",
|
|
1816
2135
|
source: "who-osteoporosis-1994"
|
|
1817
2136
|
},
|
|
1818
2137
|
ZScore_Total: {
|
|
1819
|
-
default: {
|
|
2138
|
+
default: {
|
|
2139
|
+
max: 2,
|
|
2140
|
+
maxKind: "display",
|
|
2141
|
+
min: -2,
|
|
2142
|
+
optimalMax: 1,
|
|
2143
|
+
optimalMin: -1,
|
|
2144
|
+
unit: ""
|
|
2145
|
+
},
|
|
1820
2146
|
direction: "higher-better",
|
|
2147
|
+
kind: "decision-threshold",
|
|
1821
2148
|
source: "who-osteoporosis-1994"
|
|
1822
2149
|
},
|
|
1823
2150
|
Amylase: {
|
|
1824
2151
|
default: { max: 100, min: 28, optimalMax: 90, optimalMin: 35, unit: "U/L" },
|
|
2152
|
+
kind: "reference-interval",
|
|
1825
2153
|
source: "tietz-7ed-2015"
|
|
1826
2154
|
},
|
|
1827
2155
|
Creatinine_Urine: {
|
|
1828
2156
|
default: { max: 300, min: 20, optimalMax: 250, optimalMin: 40, unit: "mg/dL" },
|
|
2157
|
+
kind: "reference-interval",
|
|
1829
2158
|
source: "tietz-7ed-2015",
|
|
1830
2159
|
variants: [
|
|
1831
2160
|
{
|
|
@@ -1842,18 +2171,22 @@ var biomarkerRangeDefinitions = {
|
|
|
1842
2171
|
},
|
|
1843
2172
|
IgA: {
|
|
1844
2173
|
default: { max: 400, min: 70, optimalMax: 350, optimalMin: 100, unit: "mg/dL" },
|
|
2174
|
+
kind: "reference-interval",
|
|
1845
2175
|
source: "tietz-7ed-2015"
|
|
1846
2176
|
},
|
|
1847
2177
|
Lipase: {
|
|
1848
2178
|
default: { max: 60, min: 0, optimalMax: 50, optimalMin: 10, unit: "U/L" },
|
|
2179
|
+
kind: "reference-interval",
|
|
1849
2180
|
source: "tietz-7ed-2015"
|
|
1850
2181
|
},
|
|
1851
2182
|
Microalbumin_Urine: {
|
|
1852
2183
|
default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: "mg/L" },
|
|
2184
|
+
kind: "decision-threshold",
|
|
1853
2185
|
source: "kdigo-ckd-2024"
|
|
1854
2186
|
},
|
|
1855
2187
|
PSA_Free: {
|
|
1856
2188
|
default: { max: 1.5, min: 0, optimalMax: 1, optimalMin: 0, unit: "ng/mL" },
|
|
2189
|
+
kind: "reference-interval",
|
|
1857
2190
|
source: "sturgeon-nacb-2008"
|
|
1858
2191
|
},
|
|
1859
2192
|
// Relação PSA livre/total — `higher-better`: razão maior = menor risco de
|
|
@@ -1864,13 +2197,23 @@ var biomarkerRangeDefinitions = {
|
|
|
1864
2197
|
// piso do âmbar — o vermelho é estritamente abaixo de 10% (< 10%); 10%
|
|
1865
2198
|
// pertence ao âmbar, conforme a faixa "10–15% moderado" da tabela.
|
|
1866
2199
|
PSA_FreeRatio: {
|
|
1867
|
-
default: {
|
|
2200
|
+
default: {
|
|
2201
|
+
max: 100,
|
|
2202
|
+
maxKind: "display",
|
|
2203
|
+
min: 25,
|
|
2204
|
+
optimalMax: 100,
|
|
2205
|
+
optimalMin: 30,
|
|
2206
|
+
unit: "%",
|
|
2207
|
+
warningMin: 10
|
|
2208
|
+
},
|
|
1868
2209
|
direction: "higher-better",
|
|
2210
|
+
kind: "decision-threshold",
|
|
1869
2211
|
source: "sturgeon-nacb-2008"
|
|
1870
2212
|
},
|
|
1871
2213
|
// BMI - WHO classification: 18.5–24.9 normal, 25–29.9 overweight, ≥30 obese
|
|
1872
2214
|
BMI: {
|
|
1873
2215
|
default: { max: 30, min: 18.5, optimalMax: 24.9, optimalMin: 18.5, unit: "kg/m2" },
|
|
2216
|
+
kind: "decision-threshold",
|
|
1874
2217
|
source: "who-obesity-2000"
|
|
1875
2218
|
},
|
|
1876
2219
|
// eAG — Estimated Average Glucose, derivada da HbA1c pela fórmula ADAG:
|
|
@@ -1900,22 +2243,34 @@ var biomarkerRangeDefinitions = {
|
|
|
1900
2243
|
// max 154 = meta terapêutica do diabético, HbA1c 7 %), que classificava como
|
|
1901
2244
|
// "Normal" valores já pré-diabéticos e diabéticos.
|
|
1902
2245
|
eAG: {
|
|
1903
|
-
default: {
|
|
2246
|
+
default: {
|
|
2247
|
+
max: 117,
|
|
2248
|
+
min: 11,
|
|
2249
|
+
minKind: "display",
|
|
2250
|
+
optimalMax: 105,
|
|
2251
|
+
optimalMin: 82,
|
|
2252
|
+
unit: "mg/dL",
|
|
2253
|
+
warningMax: 137
|
|
2254
|
+
},
|
|
2255
|
+
kind: "decision-threshold",
|
|
1904
2256
|
source: "sbd-diabetes-2024"
|
|
1905
2257
|
},
|
|
1906
2258
|
// INR - International Normalized Ratio (non-anticoagulated patients)
|
|
1907
2259
|
INR: {
|
|
1908
2260
|
default: { max: 1.2, min: 0.8, optimalMax: 1.1, optimalMin: 0.9, unit: "ratio" },
|
|
2261
|
+
kind: "reference-interval",
|
|
1909
2262
|
source: "tietz-7ed-2015"
|
|
1910
2263
|
},
|
|
1911
2264
|
// Prothrombin Time
|
|
1912
2265
|
ProthrombinTime: {
|
|
1913
2266
|
default: { max: 13.5, min: 11, optimalMax: 13, optimalMin: 11, unit: "seconds" },
|
|
2267
|
+
kind: "reference-interval",
|
|
1914
2268
|
source: "tietz-7ed-2015"
|
|
1915
2269
|
},
|
|
1916
2270
|
// DHT - Dihydrotestosterone (adult male reference; female values are much lower)
|
|
1917
2271
|
DHT: {
|
|
1918
2272
|
default: { max: 85, min: 30, optimalMax: 85, optimalMin: 30, unit: "ng/dL" },
|
|
2273
|
+
kind: "reference-interval",
|
|
1919
2274
|
source: "tietz-7ed-2015",
|
|
1920
2275
|
variants: [
|
|
1921
2276
|
{
|
|
@@ -1934,36 +2289,48 @@ var biomarkerRangeDefinitions = {
|
|
|
1934
2289
|
IgE_Total: {
|
|
1935
2290
|
default: { max: 100, min: 0, optimalMax: 100, optimalMin: 0, unit: "IU/mL" },
|
|
1936
2291
|
direction: "lower-better",
|
|
2292
|
+
kind: "reference-interval",
|
|
1937
2293
|
source: "tietz-7ed-2015"
|
|
1938
2294
|
},
|
|
1939
2295
|
// IgG - Immunoglobulin G
|
|
1940
2296
|
IgG: {
|
|
1941
2297
|
default: { max: 1600, min: 700, optimalMax: 1600, optimalMin: 700, unit: "mg/dL" },
|
|
2298
|
+
kind: "reference-interval",
|
|
1942
2299
|
source: "tietz-7ed-2015"
|
|
1943
2300
|
},
|
|
1944
2301
|
// IgE E1 Cat Dander - Class 0 (≤0.35 kU/L) = negative
|
|
1945
2302
|
IgE_E1_CatDander: {
|
|
1946
2303
|
default: { max: 0.35, min: 0, optimalMax: 0.35, optimalMin: 0, unit: "kU/L" },
|
|
1947
2304
|
direction: "lower-better",
|
|
2305
|
+
kind: "decision-threshold",
|
|
1948
2306
|
source: "tietz-7ed-2015"
|
|
1949
2307
|
},
|
|
1950
2308
|
// IgE GX1 Grasses - Class 0 (≤0.35 kU/L) = negative
|
|
1951
2309
|
IgE_GX1_Grasses: {
|
|
1952
2310
|
default: { max: 0.35, min: 0, optimalMax: 0.35, optimalMin: 0, unit: "kU/L" },
|
|
1953
2311
|
direction: "lower-better",
|
|
2312
|
+
kind: "decision-threshold",
|
|
1954
2313
|
source: "tietz-7ed-2015"
|
|
1955
2314
|
}
|
|
1956
2315
|
};
|
|
1957
2316
|
var defaultReferenceRanges = Object.fromEntries(
|
|
1958
2317
|
Object.entries(biomarkerRangeDefinitions).map(([code, def]) => [
|
|
1959
2318
|
code,
|
|
1960
|
-
|
|
2319
|
+
{
|
|
2320
|
+
...def.default,
|
|
2321
|
+
...def.kind && { kind: def.kind },
|
|
2322
|
+
...def.source && { source: def.source }
|
|
2323
|
+
}
|
|
1961
2324
|
])
|
|
1962
2325
|
);
|
|
1963
2326
|
function getReferenceRange(testCode, context) {
|
|
1964
2327
|
const definition = biomarkerRangeDefinitions[testCode];
|
|
1965
2328
|
if (!definition) return void 0;
|
|
1966
|
-
const withSource = (range
|
|
2329
|
+
const withSource = (range, kind = definition.kind) => ({
|
|
2330
|
+
...range,
|
|
2331
|
+
...kind && { kind },
|
|
2332
|
+
...definition.source && { source: definition.source }
|
|
2333
|
+
});
|
|
1967
2334
|
if (!context || !definition.variants || definition.variants.length === 0) {
|
|
1968
2335
|
return withSource(definition.default);
|
|
1969
2336
|
}
|
|
@@ -1987,13 +2354,28 @@ function getReferenceRange(testCode, context) {
|
|
|
1987
2354
|
if (variant.ageMax !== void 0 && (age === void 0 || age > variant.ageMax)) {
|
|
1988
2355
|
continue;
|
|
1989
2356
|
}
|
|
1990
|
-
return withSource(variant.range);
|
|
2357
|
+
return withSource(variant.range, variant.kind ?? definition.kind);
|
|
1991
2358
|
}
|
|
1992
2359
|
return withSource(definition.default);
|
|
1993
2360
|
}
|
|
1994
2361
|
function getRangeDirection(testCode) {
|
|
1995
2362
|
return biomarkerRangeDefinitions[testCode]?.direction ?? "range";
|
|
1996
2363
|
}
|
|
2364
|
+
function flagAgainstCatalogRange(testCode, value, context) {
|
|
2365
|
+
const range = getReferenceRange(testCode, context);
|
|
2366
|
+
if (!range) return "";
|
|
2367
|
+
if (range.max !== void 0 && range.maxKind !== "display" && value > range.max) return "H";
|
|
2368
|
+
if (range.min !== void 0 && range.minKind !== "display" && value < range.min) return "L";
|
|
2369
|
+
return "";
|
|
2370
|
+
}
|
|
2371
|
+
function referenceRangeMeaning(kind) {
|
|
2372
|
+
const system = "http://terminology.hl7.org/CodeSystem/referencerange-meaning";
|
|
2373
|
+
if (kind === "reference-interval") return { code: "normal", display: "Normal Range", system };
|
|
2374
|
+
if (kind === "decision-threshold") {
|
|
2375
|
+
return { code: "recommended", display: "Recommended Range", system };
|
|
2376
|
+
}
|
|
2377
|
+
return void 0;
|
|
2378
|
+
}
|
|
1997
2379
|
function getFallbackReferenceRange(biomarkerCode) {
|
|
1998
2380
|
const definition = biomarkerRangeDefinitions[biomarkerCode];
|
|
1999
2381
|
if (!definition || definition.default.min === void 0 || definition.default.max === void 0) {
|
|
@@ -2035,7 +2417,9 @@ export {
|
|
|
2035
2417
|
defaultReferenceRanges,
|
|
2036
2418
|
getReferenceRange,
|
|
2037
2419
|
getRangeDirection,
|
|
2420
|
+
flagAgainstCatalogRange,
|
|
2421
|
+
referenceRangeMeaning,
|
|
2038
2422
|
getFallbackReferenceRange,
|
|
2039
2423
|
applyFallbackReferenceRanges
|
|
2040
2424
|
};
|
|
2041
|
-
//# sourceMappingURL=chunk-
|
|
2425
|
+
//# sourceMappingURL=chunk-O3FXUPW3.js.map
|