@precisa-saude/fhir 0.16.3 → 0.16.5
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/dist/biomarkers.cjs +2 -2
- package/dist/biomarkers.d.cts +6 -0
- package/dist/biomarkers.d.ts +6 -0
- package/dist/biomarkers.js +1 -1
- package/dist/{chunk-5URI3QLT.js → chunk-552L6GJW.js} +27 -19
- package/dist/chunk-552L6GJW.js.map +1 -0
- package/dist/{chunk-3NZA6WMU.cjs → chunk-73PI5ZLR.cjs} +7 -5
- package/dist/chunk-73PI5ZLR.cjs.map +1 -0
- package/dist/{chunk-Y2SVZ6GE.cjs → chunk-N5BYRLCC.cjs} +4 -4
- package/dist/{chunk-Y2SVZ6GE.cjs.map → chunk-N5BYRLCC.cjs.map} +1 -1
- package/dist/{chunk-5BDMX2JP.js → chunk-NFTHC3ZR.js} +2 -2
- package/dist/{chunk-FEVGNEFO.js → chunk-NMF7MNOP.js} +7 -5
- package/dist/chunk-NMF7MNOP.js.map +1 -0
- package/dist/{chunk-Q3O23BM7.cjs → chunk-SLTDA7DX.cjs} +3 -3
- package/dist/{chunk-Q3O23BM7.cjs.map → chunk-SLTDA7DX.cjs.map} +1 -1
- package/dist/{chunk-4I5G4SJ6.js → chunk-UHF354DX.js} +2 -2
- package/dist/{chunk-BIXZVWU4.cjs → chunk-V5YVSHV7.cjs} +27 -19
- package/dist/chunk-V5YVSHV7.cjs.map +1 -0
- package/dist/cli.js +30 -22
- package/dist/converter.cjs +3 -3
- package/dist/converter.js +2 -2
- package/dist/importer.cjs +3 -3
- package/dist/importer.js +2 -2
- package/dist/index.cjs +6 -6
- package/dist/index.js +4 -4
- package/dist/reference-ranges.cjs +2 -2
- package/dist/reference-ranges.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3NZA6WMU.cjs.map +0 -1
- package/dist/chunk-5URI3QLT.js.map +0 -1
- package/dist/chunk-BIXZVWU4.cjs.map +0 -1
- package/dist/chunk-FEVGNEFO.js.map +0 -1
- /package/dist/{chunk-5BDMX2JP.js.map → chunk-NFTHC3ZR.js.map} +0 -0
- /package/dist/{chunk-4I5G4SJ6.js.map → chunk-UHF354DX.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/fhir-brasil/fhir-brasil/packages/core/dist/chunk-V5YVSHV7.cjs","../src/reference-ranges.ts"],"names":[],"mappings":"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","file":"/home/runner/work/fhir-brasil/fhir-brasil/packages/core/dist/chunk-V5YVSHV7.cjs","sourcesContent":[null,"/**\n * Biomarker Reference Ranges\n *\n * Single source of truth for biomarker reference ranges used by both\n * web app (for display) and API (for fallback when LLM doesn't extract ranges).\n *\n * Data sources (priority order):\n * 1. Brazilian Government - SBPC/ML (Sociedade Brasileira de Patologia Clínica) guidelines\n * 2. International Standards - WHO, clinical laboratory guidelines\n * 3. Specific Labs - Fleury, Weinmann, Quest, LabCorp (when above unavailable)\n */\n\nimport { getCanonicalUnit as getCanonicalUnitForCode } from './units';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * Sex-specific key for reference ranges\n */\nexport type SexKey = 'M' | 'F' | 'all';\n\n/**\n * Pré-condição de jejum para a faixa de referência.\n *\n * - `strict`: coleta exige jejum mínimo (ex.: glicemia de jejum, insulina).\n * - `preferred`: jejum recomendado, mas faixa aplicável em não-jejum\n * (ex.: perfil lipídico pós-SBC 2017, com corte de triglicérides distinto).\n * - `not-required`: valor independe do estado prandial (ex.: HbA1c, TSH).\n */\nexport type FastingRequirement = 'strict' | 'preferred' | 'not-required';\n\n/**\n * Reference range configuration for a biomarker\n */\nexport interface BiomarkerReferenceRange {\n /**\n * Pré-condição de jejum para a interpretação da faixa. Opcional;\n * consumidores devem aplicar sinalização adequada quando `strict`.\n */\n fastingRequired?: FastingRequirement;\n max?: number;\n min?: number;\n optimalMax?: number;\n optimalMin?: number;\n /**\n * Chave de fonte bibliográfica (ex.: `'sbc-lipids-2025'`). Propagada\n * do `BiomarkerRangeDefinition` no momento da consulta; ausente em\n * faixas declaradas diretamente sem uma definição completa.\n */\n source?: string;\n unit: string;\n warningMax?: number;\n /**\n * Análogo de `warningMax` para marcadores `higher-better`. Define o limite\n * inferior da zona de atenção (âmbar): valores entre `warningMin` e `min`\n * são âmbar e abaixo de `warningMin` são vermelhos. (`warningMax` cobre o\n * caso `lower-better`, com a zona âmbar acima de `max`.)\n */\n warningMin?: number;\n}\n\n/**\n * Trimestre gestacional. Usado em variantes e no contexto de consulta\n * para matching de faixas específicas da gestação.\n */\nexport type PregnancyTrimester = 1 | 2 | 3;\n\n/**\n * A variant of a reference range that applies to a specific sex, age group,\n * and/or pregnancy state.\n *\n * Ordem de avaliação: variantes são processadas na ordem em que aparecem.\n * Para que usuárias gestantes recebam a variante gestacional correta,\n * essas variantes devem ser listadas **antes** das variantes por idade/sexo.\n */\nexport interface RangeVariant {\n ageMax?: number;\n ageMin?: number;\n pregnancyTrimester?: PregnancyTrimester;\n /**\n * Quando `true`, a variante só se aplica a contextos de gestação.\n * Se `pregnancyTrimester` estiver definido, o trimestre deve coincidir.\n */\n pregnant?: boolean;\n range: BiomarkerReferenceRange;\n sex: SexKey;\n}\n\n/**\n * Extended biomarker range definition with sex/age-specific variants\n */\n/**\n * Direction indicates whether exceeding the reference range on one side is benign.\n * - 'range': both above-max and below-min are abnormal (default)\n * - 'higher-better': above-max is normal (e.g., BMC, HDL)\n * - 'lower-better': below-min is normal (e.g., LDL, CRP)\n */\nexport type RangeDirection = 'range' | 'higher-better' | 'lower-better';\n\nexport interface BiomarkerRangeDefinition {\n default: BiomarkerReferenceRange;\n direction?: RangeDirection;\n /**\n * Chave de fonte bibliográfica, opcionalmente com localizador.\n *\n * Formato: `'chave'` ou `'chave:localizador'`\n *\n * Exemplos:\n * - `'sbc-lipids-2017'` — fonte sem localização específica\n * - `'sbc-lipids-2017:p15'` — página 15\n * - `'sbpc-ml-2021:t4.1'` — tabela 4.1\n *\n * As chaves devem corresponder a entradas em `SOURCE_REGISTRY` (sources.ts).\n * Consulte `docs/fontes-referencia.md` para a bibliografia completa em formato ABNT.\n */\n source?: string;\n variants?: RangeVariant[];\n}\n\n/**\n * User context for personalized reference range lookup.\n *\n * Para gestação, defina `pregnant: true` e, quando disponível,\n * `pregnancyTrimester` para obter a variante trimestre-específica.\n */\nexport interface ReferenceRangeContext {\n age?: number;\n biologicalSex?: 'M' | 'F';\n pregnancyTrimester?: PregnancyTrimester;\n pregnant?: boolean;\n}\n\n// =============================================================================\n// BIOMARKER RANGE DEFINITIONS\n// =============================================================================\n\n/**\n * Comprehensive biomarker reference range definitions with sex/age-specific variants\n *\n * Each marker has a default range (used as fallback) and optional variants\n * for sex/age-specific ranges.\n */\nexport const biomarkerRangeDefinitions: Record<string, BiomarkerRangeDefinition> = {\n Albumin_Creatinine_Ratio: {\n default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: 'mg/g' },\n source: 'tietz-7ed-2015',\n },\n\n Adiponectin: {\n default: { max: 26, min: 4, optimalMax: 20, optimalMin: 8, unit: 'mcg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n ADMA: {\n default: { max: 0.7, min: 0.3, optimalMax: 0.55, optimalMin: 0.3, unit: 'umol/L' },\n source: 'nemeth-adma-2017',\n },\n\n AFP: {\n default: { max: 10, min: 0, optimalMax: 8, optimalMin: 0, unit: 'ng/mL' },\n source: 'sturgeon-nacb-2008',\n },\n\n Albumin_Globulin_Ratio: {\n default: { max: 2.5, min: 1.0, optimalMax: 2.2, optimalMin: 1.2, unit: '' },\n source: 'tietz-7ed-2015',\n },\n\n Albumin: {\n default: { max: 5.0, min: 3.5, optimalMax: 4.8, optimalMin: 4.0, unit: 'g/dL' },\n source: 'pns-bioquimica-2019',\n },\n\n AlkalinePhosphatase: {\n default: { max: 147, min: 44, optimalMax: 120, optimalMin: 50, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 147, min: 44, optimalMax: 120, optimalMin: 50, unit: 'U/L' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 104, min: 35, optimalMax: 90, optimalMin: 40, unit: 'U/L' },\n sex: 'F',\n },\n ],\n },\n\n ALT: {\n default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 56, min: 7, optimalMax: 35, optimalMin: 10, unit: 'U/L' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 45, min: 7, optimalMax: 30, optimalMin: 10, unit: 'U/L' },\n sex: 'F',\n },\n ],\n },\n\n // AMH — fortemente dependente de idade e sexo. As variantes femininas por\n // faixa etária são a referência clínica; o `default` foi ajustado para\n // refletir uma faixa adulta conservadora (~18-40 anos, mulheres em idade\n // reprodutiva geral). optimalMax anterior (6.9 ng/mL) sobrepunha-se a\n // valores sugestivos de SOP ou risco de OHSS; clinicamente, valores acima\n // de ~4 ng/mL já merecem investigação.\n AMH: {\n default: { max: 6.0, min: 1.0, optimalMax: 4.0, optimalMin: 1.5, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMax: 24,\n ageMin: 18,\n range: { max: 13.0, min: 1.5, optimalMax: 10.0, optimalMin: 3.0, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMax: 30,\n ageMin: 25,\n range: { max: 10.0, min: 1.5, optimalMax: 8.0, optimalMin: 2.5, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMax: 35,\n ageMin: 31,\n range: { max: 8.0, min: 1.0, optimalMax: 6.0, optimalMin: 2.0, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMax: 40,\n ageMin: 36,\n range: { max: 6.0, min: 0.5, optimalMax: 4.0, optimalMin: 1.0, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMin: 41,\n range: { max: 3.0, min: 0.1, optimalMax: 2.0, optimalMin: 0.5, unit: 'ng/mL' },\n sex: 'F',\n },\n ],\n },\n\n Ammonia: {\n default: { max: 45, min: 15, optimalMax: 40, optimalMin: 20, unit: 'umol/L' },\n source: 'tietz-7ed-2015',\n },\n\n AntiThyroglobulin: {\n default: { max: 115, min: 0, optimalMax: 40, optimalMin: 0, unit: 'IU/mL' },\n source: 'tietz-7ed-2015',\n },\n\n AntiTPO: {\n default: { max: 34, min: 0, optimalMax: 9, optimalMin: 0, unit: 'IU/mL' },\n source: 'tietz-7ed-2015',\n },\n\n // Aortic valve calcium — no standardized clinical threshold; use mild cutoff\n // Cálcio de válvula aórtica — usa mesma classificação Agatston\n AorticValveCalcium: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n ApoA1: {\n default: { max: 200, min: 100, optimalMax: 180, optimalMin: 120, unit: 'mg/dL' },\n source: 'contois-apoa1-1996',\n },\n\n ApoB: {\n default: { max: 90, min: 0, optimalMax: 70, optimalMin: 0, unit: 'mg/dL' },\n direction: 'lower-better',\n source: 'sbc-lipids-2025',\n },\n\n ApoCIII: {\n default: { max: 10, min: 0, optimalMax: 7, optimalMin: 0, unit: 'mg/dL' },\n source: 'khetarpal-apociii-2016',\n },\n\n // ApoCIII/ApoA1 Ratio: derivado de ApoCIII (~10 mg/dL) e ApoA1 (~100-150 mg/dL)\n // NOTA: corte de 0.15 sem fonte publicada — valor calculado, não validado clinicamente\n ApoCIII_ApoA1_Ratio: {\n default: { max: 0.15, min: 0, optimalMax: 0.1, optimalMin: 0, unit: '' },\n },\n\n Omega6_AA: {\n default: { max: 15.0, min: 5.0, optimalMax: 12.0, optimalMin: 7.0, unit: '%' },\n source: 'simopoulos-omega-ratio-2002',\n },\n\n // Razão Ácido Araquidônico/EPA (sangue total) — `lower-better`: razão menor =\n // menos eicosanoides pró-inflamatórios. NÃO há intervalo de referência\n // validado em periódico para esta razão; o intervalo 3,7–40,7 é o de\n // referência laboratorial do ensaio Quest/Cleveland HeartLab OmegaCheck®\n // (população interna do laboratório, sem fonte primária publicada). É\n // corroborado por Torrissen 2025 (>500 mil amostras de sangue total): a\n // mediana brasileira (≈18,8) e as ocidentais (EUA ≈22,3; Europa ≈14,2) caem\n // dentro do intervalo. Sem `optimal*`: não há corte ótimo de AA/EPA com fonte.\n // Em telas de relatório único, prefira o intervalo impresso pelo laboratório.\n AA_EPA_Ratio: {\n default: { max: 40.7, min: 3.7, unit: '' },\n direction: 'lower-better',\n source: 'torrissen-omega3-dbs-2025',\n },\n\n Arsenic: {\n default: { max: 35, min: 0, optimalMax: 20, optimalMin: 0, unit: 'mcg/L' },\n source: 'nr7-pcmso-2020',\n },\n\n AST: {\n default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 40, min: 10, optimalMax: 30, optimalMin: 10, unit: 'U/L' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 32, min: 9, optimalMax: 25, optimalMin: 10, unit: 'U/L' },\n sex: 'F',\n },\n ],\n },\n\n Basophils: {\n default: { max: 1, min: 0, optimalMax: 0.5, optimalMin: 0, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n Basophils_Abs: {\n default: { max: 0.1, min: 0, optimalMax: 0.05, optimalMin: 0, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n Bicarbonate: {\n default: { max: 29, min: 23, optimalMax: 28, optimalMin: 24, unit: 'mEq/L' },\n source: 'tietz-7ed-2015',\n },\n\n // β-Hidroxibutirato (BHB) sérico — corpos cetônicos. Faixa derivada de\n // amostra populacional não-jejum (German National Cohort, n=304, 20–69 a)\n // como percentis 2,5–97,5: 0,02–0,28 mmol/L. Em jejum prolongado ou\n // cetose nutricional, valores acima de 0,5 mmol/L são esperados; o limite\n // superior aqui reflete estado pós-prandial habitual, não jejum.\n BetaHydroxybutyrate: {\n default: { max: 0.28, min: 0.02, optimalMax: 0.28, optimalMin: 0.02, unit: 'mmol/L' },\n source: 'klee-bhb-2020',\n },\n\n BilirubinDirect: {\n default: { max: 0.3, min: 0, optimalMax: 0.2, optimalMin: 0, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n BilirubinIndirect: {\n default: { max: 0.8, min: 0, optimalMax: 0.6, optimalMin: 0, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n BilirubinTotal: {\n default: { max: 1.2, min: 0.1, optimalMax: 0.9, optimalMin: 0.2, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // BNP: 35 pg/mL = corte não-agudo para triagem de IC (SBC IC 2018)\n BNP: {\n default: { max: 35, min: 0, optimalMax: 20, optimalMin: 0, unit: 'pg/mL' },\n source: 'sbc-ic-2018',\n },\n\n // Razão BUN/Creatinina — faixa 10-20 aplica-se ao Nitrogênio Ureico (BUN).\n // Laboratórios brasileiros que reportam Ureia (e não BUN) usam razão\n // Ureia/Creatinina, cuja faixa normal é aproximadamente 21-43\n // (Ureia ≈ BUN × 2,14). O biomarcador atualmente assume a convenção BUN;\n // consumidores que dosem Ureia devem converter ou reportar como razão\n // distinta. Ver issue #41 para alinhamento de nomenclatura/LOINC.\n BUN_Creatinine_Ratio: {\n default: { max: 20, min: 10, optimalMax: 18, optimalMin: 12, unit: '' },\n source: 'tietz-7ed-2015',\n },\n\n CA125: {\n default: { max: 35, min: 0, optimalMax: 25, optimalMin: 0, unit: 'U/mL' },\n source: 'sturgeon-nacb-2008',\n },\n\n CA199: {\n default: { max: 37, min: 0, optimalMax: 30, optimalMin: 0, unit: 'U/mL' },\n source: 'sturgeon-nacb-2008',\n },\n\n // CAC: Agatston classification — 0=none, 1-99=mild, 100-399=moderate, 400+=severe\n // max=99 so only moderate+ scores (≥100) flag as ANORMAL; optimalMax=0 (zero is ideal)\n CAC: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n // Per-vessel scores — same Agatston classification applied per vessel\n CAC_LAD: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n CAC_LCX: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n CAC_LMA: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n CAC_Percentile: {\n default: { max: 50, min: 0, optimalMax: 25, optimalMin: 0, unit: '%', warningMax: 75 },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n CAC_RCA: {\n default: { max: 99, min: 0, optimalMax: 0, optimalMin: 0, unit: 'AU' },\n direction: 'lower-better',\n source: 'rumberger-cac-1999',\n },\n\n Cadmium: {\n default: { max: 1.2, min: 0, optimalMax: 0.5, optimalMin: 0, unit: 'mcg/L' },\n source: 'nr7-pcmso-2020',\n },\n\n Calcium: {\n default: { max: 10.5, min: 8.5, optimalMax: 10.0, optimalMin: 9.0, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n CEA: {\n default: { max: 3.0, min: 0, optimalMax: 2.5, optimalMin: 0, unit: 'ng/mL' },\n source: 'sturgeon-nacb-2008',\n },\n\n // CK: valores conservadores baseados em faixas laboratoriais típicas\n CK: {\n default: { max: 190, min: 30, optimalMax: 170, optimalMin: 40, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n variants: [\n { sex: 'F', range: { max: 170, min: 30, optimalMax: 150, optimalMin: 40, unit: 'U/L' } },\n ],\n },\n\n Chloride: {\n default: { max: 106, min: 98, optimalMax: 105, optimalMin: 100, unit: 'mEq/L' },\n source: 'tietz-7ed-2015',\n },\n\n // Colesterol total — SBC 2017/2025: valor desejável < 190 mg/dL para adultos,\n // com ou sem jejum. Limite anterior (200 mg/dL) refletia a diretriz ATP III\n // (NCEP, 2002), superada pelas atualizações brasileiras.\n Cholesterol: {\n default: { max: 190, min: 0, optimalMax: 170, optimalMin: 0, unit: 'mg/dL' },\n source: 'sbc-lipids-2025',\n },\n\n // Índice de Castelli I (CT/HDL-c)\n Cholesterol_HDL_Ratio: {\n // Índice de Castelli I — SBC 2017: M <4.9, F <4.3\n default: { max: 4.9, min: 0, optimalMax: 3.5, optimalMin: 0, unit: '' },\n direction: 'lower-better',\n source: 'castelli-ratio-1992',\n variants: [\n {\n ageMin: 18,\n range: { max: 4.9, min: 0, optimalMax: 4.0, optimalMin: 0, unit: '' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 4.3, min: 0, optimalMax: 3.5, optimalMin: 0, unit: '' },\n sex: 'F',\n },\n ],\n },\n\n CO2: {\n default: { max: 29, min: 23, optimalMax: 28, optimalMin: 24, unit: 'mEq/L' },\n source: 'tietz-7ed-2015',\n },\n\n Copper: {\n default: { max: 175, min: 70, optimalMax: 150, optimalMin: 85, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n CoQ10: {\n default: { max: 1.5, min: 0.5, optimalMax: 1.3, optimalMin: 0.7, unit: 'mg/L' },\n source: 'tietz-7ed-2015',\n },\n\n Cortisol: {\n default: { max: 25, min: 5, optimalMax: 20, optimalMin: 10, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n CortisolFree: {\n default: { max: 2.5, min: 0.5, optimalMax: 2.0, optimalMin: 0.8, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n CPeptide: {\n default: {\n fastingRequired: 'strict',\n max: 3.9,\n min: 0.8,\n optimalMax: 3.0,\n optimalMin: 1.0,\n unit: 'ng/mL',\n },\n source: 'tietz-7ed-2015',\n },\n\n Creatinine: {\n default: { max: 1.2, min: 0.6, optimalMax: 1.0, optimalMin: 0.7, unit: 'mg/dL' },\n source: 'pns-bioquimica-2019',\n variants: [\n // Gestação: hiperfiltração glomerular (↑ 40–50% GFR) reduz a creatinina\n // sérica. Valores \"normais\" de não-gestante podem sinalizar disfunção\n // renal em gestante. Limites tipicamente citados: 0.4–0.8 mg/dL.\n {\n pregnant: true,\n range: { max: 0.8, min: 0.4, optimalMax: 0.7, optimalMin: 0.5, unit: 'mg/dL' },\n sex: 'F',\n },\n {\n ageMin: 18,\n range: { max: 1.3, min: 0.7, optimalMax: 1.1, optimalMin: 0.8, unit: 'mg/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 1.1, min: 0.5, optimalMax: 0.9, optimalMin: 0.6, unit: 'mg/dL' },\n sex: 'F',\n },\n ],\n },\n\n CRP: {\n default: { max: 3.0, min: 0, optimalMax: 1.0, optimalMin: 0, unit: 'mg/L' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n },\n\n CystatinC: {\n default: { max: 1.0, min: 0.5, optimalMax: 0.9, optimalMin: 0.6, unit: 'mg/L' },\n source: 'tietz-7ed-2015',\n },\n\n // D-Dímero — exame de exclusão de TEV (tromboembolismo venoso) com\n // ponto de corte único, não uma faixa graduada. Valores < 500 ng/mL\n // têm alto valor preditivo negativo; acima disso a investigação\n // clínica decide. Removidos `optimalMin/optimalMax` porque a\n // dicotomia clínica (positivo/negativo para exclusão) não é melhor\n // representada por zonas verde/amarela. Em pacientes > 50 anos,\n // diretrizes (ESC 2019, ACEP) recomendam corte ajustado pela idade:\n // idade × 10 ng/mL (até 750 ng/mL aos 75+).\n DDimer: {\n default: { max: 500, min: 0, unit: 'ng/mL' },\n direction: 'lower-better',\n source: 'wells-ddimer-2003',\n variants: [\n // Corte ajustado por idade — ESC 2019 (Konstantinides et al.) e\n // ACEP recomendam em pacientes não gestantes ≥ 50 anos com\n // probabilidade clínica baixa/intermediária de TEV. Fórmula:\n // idade × 10 ng/mL. Aproximação por faixas etárias.\n { ageMax: 59, ageMin: 50, range: { max: 590, min: 0, unit: 'ng/mL' }, sex: 'all' },\n { ageMax: 69, ageMin: 60, range: { max: 690, min: 0, unit: 'ng/mL' }, sex: 'all' },\n { ageMin: 70, range: { max: 750, min: 0, unit: 'ng/mL' }, sex: 'all' },\n ],\n },\n\n Omega3_DHA: {\n default: { max: 8.0, min: 2.0, optimalMax: 6.5, optimalMin: 3.5, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n DHEAS: {\n default: { max: 500, min: 100, optimalMax: 400, optimalMin: 150, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMax: 39,\n ageMin: 18,\n range: { max: 640, min: 280, optimalMax: 500, optimalMin: 300, unit: 'mcg/dL' },\n sex: 'M',\n },\n {\n ageMax: 59,\n ageMin: 40,\n range: { max: 520, min: 120, optimalMax: 400, optimalMin: 150, unit: 'mcg/dL' },\n sex: 'M',\n },\n {\n ageMin: 60,\n range: { max: 290, min: 42, optimalMax: 220, optimalMin: 80, unit: 'mcg/dL' },\n sex: 'M',\n },\n {\n ageMax: 39,\n ageMin: 18,\n range: { max: 380, min: 65, optimalMax: 300, optimalMin: 100, unit: 'mcg/dL' },\n sex: 'F',\n },\n {\n ageMax: 59,\n ageMin: 40,\n range: { max: 240, min: 32, optimalMax: 180, optimalMin: 60, unit: 'mcg/dL' },\n sex: 'F',\n },\n {\n ageMin: 60,\n range: { max: 140, min: 18, optimalMax: 100, optimalMin: 30, unit: 'mcg/dL' },\n sex: 'F',\n },\n ],\n },\n\n Omega3_DPA: {\n default: { max: 2.0, min: 0.3, optimalMax: 1.5, optimalMin: 0.5, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n eGFR: {\n default: { max: 120, min: 60, optimalMax: 120, optimalMin: 90, unit: 'mL/min/1.73m²' },\n // KDIGO 2024: TFG 60-89 (G2) sem marcador de lesão renal não é DRC, em\n // nenhuma faixa etária. A variante por idade que existia aqui rebaixava o\n // piso só para 60+ e ainda limitava o teto a 90, o que sinalizava como\n // alterado qualquer idoso com função preservada.\n source: 'kdigo-ckd-2024',\n },\n\n Eosinophils: {\n default: { max: 5, min: 0, optimalMax: 4, optimalMin: 1, unit: '%' },\n direction: 'lower-better',\n source: 'pns-hemograma-2019',\n },\n\n Eosinophils_Abs: {\n default: { max: 0.5, min: 0, optimalMax: 0.3, optimalMin: 0, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n Omega3_EPA: {\n default: { max: 3.5, min: 0.5, optimalMax: 2.5, optimalMin: 1.0, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n EPADPADHA: {\n default: { max: 10.0, min: 3.0, optimalMax: 9.0, optimalMin: 5.0, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n ESR: {\n default: { max: 20, min: 0, optimalMax: 10, optimalMin: 0, unit: 'mm/hr' },\n source: 'tietz-7ed-2015',\n },\n\n Estradiol: {\n default: { max: 40, min: 10, optimalMax: 35, optimalMin: 15, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 40, min: 10, optimalMax: 30, optimalMin: 15, unit: 'pg/mL' },\n sex: 'M',\n },\n {\n ageMax: 50,\n ageMin: 18,\n range: { max: 400, min: 30, optimalMax: 300, optimalMin: 50, unit: 'pg/mL' },\n sex: 'F',\n },\n {\n ageMin: 51,\n range: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: 'pg/mL' },\n sex: 'F',\n },\n ],\n },\n\n F2Isoprostanes: {\n default: { max: 86, min: 0, optimalMax: 60, optimalMin: 0, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n // Ferritina — WHO 2020 é o documento de referência específico para avaliação\n // do status de ferro via ferritina. Importante: inflamação aguda eleva\n // ferritina (proteína de fase aguda); WHO 2020 recomenda dosagem concomitante\n // de PCR para interpretação em contexto inflamatório (fora do escopo deste\n // tipo de faixa, mas documentado aqui para consumidores).\n Ferritin: {\n default: { max: 150, min: 12, optimalMax: 120, optimalMin: 30, unit: 'ng/mL' },\n source: 'who-iron-2020',\n variants: [\n // Gestação: ferritina cai fisiologicamente no 2º/3º trimestre pela expansão\n // do volume plasmático e maior demanda fetal. WHO 2020: <15 ng/mL sugere\n // depleção; muitas diretrizes nacionais usam <30 como gatilho mais sensível\n // na gestação dada a alta prevalência de deficiência subclínica.\n {\n pregnant: true,\n range: { max: 120, min: 15, optimalMax: 80, optimalMin: 30, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMin: 18,\n range: { max: 250, min: 20, optimalMax: 200, optimalMin: 40, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMax: 50,\n ageMin: 18,\n range: { max: 120, min: 10, optimalMax: 80, optimalMin: 20, unit: 'ng/mL' },\n sex: 'F',\n },\n {\n ageMin: 51,\n range: { max: 200, min: 20, optimalMax: 150, optimalMin: 30, unit: 'ng/mL' },\n sex: 'F',\n },\n ],\n },\n\n // Fibrinogênio: 200-400 mg/dL — faixa de referência padrão (método de Clauss)\n Fibrinogen: {\n default: { max: 400, min: 200, optimalMax: 350, optimalMin: 250, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n FolicAcid: {\n default: { max: 20, min: 3, optimalMax: 15, optimalMin: 5, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n },\n\n FSH: {\n default: { max: 12.4, min: 1.5, optimalMax: 10.0, optimalMin: 3.0, unit: 'mIU/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 12.4, min: 1.5, optimalMax: 8.0, optimalMin: 1.5, unit: 'mIU/mL' },\n sex: 'M',\n },\n {\n ageMax: 50,\n ageMin: 18,\n range: { max: 12.5, min: 3.5, optimalMax: 10.0, optimalMin: 3.5, unit: 'mIU/mL' },\n sex: 'F',\n },\n {\n ageMin: 51,\n range: { max: 134.8, min: 25.8, optimalMax: 80.0, optimalMin: 25.8, unit: 'mIU/mL' },\n sex: 'F',\n },\n ],\n },\n\n GGT: {\n default: { max: 55, min: 0, optimalMax: 30, optimalMin: 0, unit: 'U/L' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 61, min: 8, optimalMax: 40, optimalMin: 10, unit: 'U/L' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 36, min: 5, optimalMax: 25, optimalMin: 8, unit: 'U/L' },\n sex: 'F',\n },\n ],\n },\n\n Ghrelin: {\n default: { max: 1000, min: 300, optimalMax: 800, optimalMin: 400, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n Globulin: {\n default: { max: 3.5, min: 2.0, optimalMax: 3.2, optimalMin: 2.3, unit: 'g/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // Glicemia de jejum — 70–99 mg/dL é a faixa de normalidade (SBD 2024, ADA);\n // hipoglicemia clinicamente acionável em não-diabético é <54 mg/dL (Level 2\n // ADA/SBD), não 70. O corte 70 era Level 1 (alerta em diabético em tratamento)\n // e gerava falsos \"abaixo do normal\" em indivíduos saudáveis cuja glicemia\n // em jejum está fisiologicamente entre 54–70. optimalMin preserva o alvo.\n Glucose: {\n default: {\n fastingRequired: 'strict',\n max: 100,\n min: 54,\n optimalMax: 90,\n optimalMin: 70,\n unit: 'mg/dL',\n },\n source: 'sbd-diabetes-2024',\n variants: [\n // Gestação: DMG (IADPSG/SBD 2024) usa cortes mais restritivos na glicemia\n // de jejum — ≥92 mg/dL já indica diabetes mellitus gestacional. Portanto\n // a faixa \"normal\" em gestante vai até 91 mg/dL no jejum.\n {\n pregnant: true,\n range: {\n fastingRequired: 'strict',\n max: 91,\n min: 54,\n optimalMax: 85,\n optimalMin: 70,\n unit: 'mg/dL',\n },\n sex: 'F',\n },\n ],\n },\n\n GlycoMark: {\n default: { max: 40, min: 10, optimalMax: 35, optimalMin: 15, unit: 'mcg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n GrowthHormone: {\n default: { max: 5, min: 0, optimalMax: 3, optimalMin: 0, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n },\n\n // HbA1c — SBD 2024 não estabelece piso de referência clinicamente acionável.\n // Valores <4.0% podem refletir anemia hemolítica, perda sanguínea recente ou\n // hemoglobinopatia, não patologia do metabolismo glicêmico. Usamos min=2 como\n // piso de sanidade (HbA1c <2% é quase sempre erro instrumental/entrada) sem\n // criar flag clínico em valores fisiologicamente baixos. optimalMin preserva\n // o alvo fisiológico da fração glicada.\n HbA1c: {\n default: { max: 5.7, min: 2, optimalMax: 5.3, optimalMin: 4.5, unit: '%' },\n source: 'sbd-diabetes-2024',\n },\n\n Hct: {\n default: { max: 50, min: 36, optimalMax: 48, optimalMin: 40, unit: '%' },\n source: 'pns-hemograma-2019',\n variants: [\n {\n ageMin: 18,\n range: { max: 54, min: 40, optimalMax: 50, optimalMin: 42, unit: '%' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 48, min: 36, optimalMax: 45, optimalMin: 38, unit: '%' },\n sex: 'F',\n },\n ],\n },\n\n // HDL — SBC 2017/2025: desejável > 40 mg/dL (♂) e > 50 mg/dL (♀).\n // A diretriz NÃO define teto de normalidade — HDL alto é cardioprotetor.\n // Limites superiores anteriormente fixados em 60 mg/dL geravam falsos\n // alertas. Mantém-se `max` apenas como limite técnico do gauge (100 mg/dL),\n // não como ponto de corte clínico; consumidores devem tratar `direction:\n // higher-better` como sinal autoritativo.\n HDL: {\n default: { max: 100, min: 40, optimalMax: 100, optimalMin: 50, unit: 'mg/dL' },\n direction: 'higher-better',\n source: 'sbc-lipids-2025',\n variants: [\n {\n ageMin: 18,\n range: { max: 100, min: 40, optimalMax: 100, optimalMin: 45, unit: 'mg/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 100, min: 50, optimalMax: 100, optimalMin: 55, unit: 'mg/dL' },\n sex: 'F',\n },\n ],\n },\n\n HDL_Large: {\n // HDL Large: higher is better\n // Quest Ion Mobility reference: Male 4334-10815, Female 5038-17886 nmol/L, optimal >6729\n default: { max: 17886, min: 4334, optimalMax: 17886, optimalMin: 6729, unit: 'nmol/L' },\n direction: 'higher-better',\n source: 'caulfield-ionmobility-2008',\n },\n\n Hgb: {\n default: { max: 17.5, min: 12.0, optimalMax: 16.0, optimalMin: 13.5, unit: 'g/dL' },\n source: 'pns-hemograma-2019',\n variants: [\n // Gestação: hemodiluição fisiológica reduz o piso aceitável.\n // OMS e CDC: anemia gestacional quando Hgb <11 g/dL (1º e 3º tri) ou\n // <10.5 g/dL (2º tri, dilucional mais acentuada). Catch-all adota a\n // faixa mais conservadora (2º tri) quando trimestre é desconhecido.\n {\n pregnant: true,\n pregnancyTrimester: 1,\n range: { max: 14.0, min: 11.0, optimalMax: 13.0, optimalMin: 11.5, unit: 'g/dL' },\n sex: 'F',\n },\n {\n pregnant: true,\n pregnancyTrimester: 2,\n range: { max: 14.0, min: 10.5, optimalMax: 13.0, optimalMin: 11.0, unit: 'g/dL' },\n sex: 'F',\n },\n {\n pregnant: true,\n pregnancyTrimester: 3,\n range: { max: 14.0, min: 11.0, optimalMax: 13.0, optimalMin: 11.5, unit: 'g/dL' },\n sex: 'F',\n },\n {\n pregnant: true,\n range: { max: 14.0, min: 10.5, optimalMax: 13.0, optimalMin: 11.0, unit: 'g/dL' },\n sex: 'F',\n },\n {\n ageMin: 18,\n range: { max: 17.5, min: 13.5, optimalMax: 16.5, optimalMin: 14.0, unit: 'g/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 15.5, min: 12.0, optimalMax: 14.5, optimalMin: 12.5, unit: 'g/dL' },\n sex: 'F',\n },\n ],\n },\n\n // HOMA-IR — três faixas do estudo BRAMS (Geloneze et al., 2009) validado em\n // população urbana brasileira: ótimo até 1.5; sensibilidade reduzida (zona de\n // atenção) entre 1.5 e 2.71; resistência à insulina acima de 2.71. Tietz 7ª\n // ed. não publica corte próprio de HOMA-IR. `max` (1.5) delimita o verde,\n // `warningMax` (2.71) o âmbar e acima disso o vermelho.\n HOMA_IR: {\n default: {\n fastingRequired: 'strict',\n max: 1.5,\n min: 0,\n unit: '',\n warningMax: 2.71,\n },\n direction: 'lower-better',\n source: 'geloneze-brams-2009',\n },\n\n Homocysteine: {\n default: { max: 15, min: 4, optimalMax: 10, optimalMin: 5, unit: 'umol/L' },\n direction: 'lower-better',\n source: 'selhub-homocysteine-1999',\n },\n\n IGF1: {\n default: { max: 350, min: 100, optimalMax: 300, optimalMin: 150, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n },\n\n ImmatureGranulocytes: {\n default: { max: 1.0, min: 0, optimalMax: 0.5, optimalMin: 0, unit: '%' },\n source: 'tietz-7ed-2015',\n },\n\n Insulin: {\n default: {\n fastingRequired: 'strict',\n max: 25,\n min: 2,\n optimalMax: 8,\n optimalMin: 3,\n unit: 'uIU/mL',\n },\n source: 'tietz-7ed-2015',\n },\n\n Iron: {\n default: { max: 170, min: 60, optimalMax: 140, optimalMin: 80, unit: 'mcg/dL' },\n source: 'sbpc-ml-2021',\n variants: [\n {\n ageMin: 18,\n range: { max: 175, min: 65, optimalMax: 150, optimalMin: 80, unit: 'mcg/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 170, min: 50, optimalMax: 130, optimalMin: 60, unit: 'mcg/dL' },\n sex: 'F',\n },\n ],\n },\n\n Lactate: {\n default: { max: 2.2, min: 0.5, optimalMax: 1.8, optimalMin: 0.7, unit: 'mmol/L' },\n source: 'tietz-7ed-2015',\n },\n\n // DHL/LDH — método IFCC a 37 °C (padrão atual na maioria dos laboratórios\n // brasileiros). Limites superiores de referência (97,5° percentil) obtidos\n // por Schumann & Klauke (2002) em indivíduos ≥17 anos: 247 U/L (mulheres)\n // e 248 U/L (homens). O IFCC publica apenas o limite superior; o limite\n // inferior é fixado em 0 pois DHL baixa não tem significado clínico.\n // Não comparar com método Wróblewski-LaDue (faixas mais antigas, ~240–480).\n LDH: {\n default: { max: 248, min: 0, optimalMax: 248, optimalMin: 0, unit: 'U/L' },\n direction: 'lower-better',\n source: 'schumann-ifcc-ldh-2002',\n variants: [\n {\n ageMin: 17,\n range: { max: 248, min: 0, optimalMax: 248, optimalMin: 0, unit: 'U/L' },\n sex: 'M',\n },\n {\n ageMin: 17,\n range: { max: 247, min: 0, optimalMax: 247, optimalMin: 0, unit: 'U/L' },\n sex: 'F',\n },\n ],\n },\n\n LDL: {\n default: { max: 100, min: 0, optimalMax: 70, optimalMin: 0, unit: 'mg/dL' },\n direction: 'lower-better',\n source: 'sbc-lipids-2025',\n },\n\n LDL_Medium: {\n // LDL Medium (LDL Média): lower is better\n // Quest Ion Mobility reference: Male 167-485, Female 121-397 nmol/L, optimal <215\n default: { max: 485, min: 121, optimalMax: 215, optimalMin: 121, unit: 'nmol/L' },\n direction: 'lower-better',\n source: 'caulfield-ionmobility-2008',\n },\n\n LDL_ParticleNumber: {\n // LDL Particle Number: lower is better\n // Quest Ion Mobility reference: 1016-2185 nmol/L, optimal <1138\n default: { max: 2185, min: 1016, optimalMax: 1138, optimalMin: 1016, unit: 'nmol/L' },\n direction: 'lower-better',\n source: 'caulfield-ionmobility-2008',\n },\n\n LDL_Peak_Size: {\n // LDL Peak Size: higher is better (larger particles less atherogenic)\n // Quest Ion Mobility reference: optimal >222.9 Å (22.29 nm)\n default: { max: 250.0, min: 217.4, optimalMax: 250.0, optimalMin: 222.9, unit: 'Angstrom' },\n direction: 'higher-better',\n source: 'caulfield-ionmobility-2008',\n },\n\n LDL_Small: {\n // LDL Small (LDL Pequena): lower is better (small dense LDL is most atherogenic)\n // Quest Ion Mobility reference: Male 123-441, Female 126-382 nmol/L, optimal <142\n default: { max: 441, min: 123, optimalMax: 142, optimalMin: 123, unit: 'nmol/L' },\n direction: 'lower-better',\n source: 'caulfield-ionmobility-2008',\n },\n\n Lead: {\n default: { max: 5, min: 0, optimalMax: 2, optimalMin: 0, unit: 'mcg/dL' },\n source: 'nr7-pcmso-2020',\n },\n\n Leptin: {\n default: { max: 15, min: 2, optimalMax: 12, optimalMin: 3, unit: 'ng/mL' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 10, min: 1, optimalMax: 8, optimalMin: 2, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 25, min: 4, optimalMax: 18, optimalMin: 5, unit: 'ng/mL' },\n sex: 'F',\n },\n ],\n },\n\n LH: {\n default: { max: 8.6, min: 1.7, optimalMax: 8.0, optimalMin: 2.0, unit: 'mIU/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 8.6, min: 1.7, optimalMax: 6.0, optimalMin: 1.7, unit: 'mIU/mL' },\n sex: 'M',\n },\n {\n ageMax: 50,\n ageMin: 18,\n range: { max: 12.6, min: 2.4, optimalMax: 10.0, optimalMin: 2.4, unit: 'mIU/mL' },\n sex: 'F',\n },\n {\n ageMin: 51,\n range: { max: 58.5, min: 7.7, optimalMax: 40.0, optimalMin: 10.0, unit: 'mIU/mL' },\n sex: 'F',\n },\n ],\n },\n\n Omega6_LA: {\n default: { max: 35.0, min: 15.0, optimalMax: 28.0, optimalMin: 18.0, unit: '%' },\n source: 'simopoulos-omega-ratio-2002',\n },\n\n // Lp(a) — SBC 2025 (seção 3.1.1.2.7): níveis ≥ 50 mg/dL ou ≥ 125 nmol/L são\n // considerados aumentados, com indicação de rastreamento em cascata familiar.\n // A diretriz recomenda ensaio independente de isoforma medido em nmol/L; a\n // unidade nmol/L é mantida aqui por refletir o padrão laboratorial atual.\n // Limites anteriores (max=75) refletiam pontos de corte expressos em mg/dL,\n // gerando incompatibilidade com a unidade nmol/L declarada.\n Lipoprotein_a: {\n default: { max: 125, min: 0, optimalMax: 75, optimalMin: 0, unit: 'nmol/L' },\n direction: 'lower-better',\n source: 'sbc-lipids-2025',\n },\n\n Lymphocytes: {\n default: { max: 40, min: 20, optimalMax: 35, optimalMin: 25, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n Lymphocytes_Abs: {\n default: { max: 4.0, min: 1.0, optimalMax: 3.0, optimalMin: 1.5, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n Magnesium: {\n default: { max: 2.2, min: 1.7, optimalMax: 2.1, optimalMin: 1.9, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n Magnesium_RBC: {\n default: { max: 6.8, min: 4.0, optimalMax: 6.0, optimalMin: 4.5, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n MCH: {\n default: { max: 33, min: 27, optimalMax: 32, optimalMin: 28, unit: 'pg' },\n source: 'pns-hemograma-2019',\n },\n\n MCHC: {\n default: { max: 36, min: 32, optimalMax: 35, optimalMin: 33, unit: 'g/dL' },\n source: 'pns-hemograma-2019',\n },\n\n MCV: {\n default: { max: 100, min: 80, optimalMax: 98, optimalMin: 82, unit: 'fL' },\n source: 'pns-hemograma-2019',\n },\n\n Mercury: {\n default: { max: 10, min: 0, optimalMax: 5, optimalMin: 0, unit: 'mcg/L' },\n source: 'nr7-pcmso-2020',\n },\n\n Microalbumin: {\n default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: 'mg/L' },\n source: 'kdigo-ckd-2024',\n },\n\n MMA: {\n default: { max: 378, min: 0, optimalMax: 270, optimalMin: 0, unit: 'nmol/L' },\n source: 'tietz-7ed-2015',\n },\n\n Monocytes: {\n default: { max: 8, min: 2, optimalMax: 7, optimalMin: 3, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n Monocytes_Abs: {\n default: { max: 0.8, min: 0.2, optimalMax: 0.7, optimalMin: 0.3, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n MPV: {\n default: { max: 11.5, min: 7.5, optimalMax: 10.5, optimalMin: 8.0, unit: 'fL' },\n source: 'pns-hemograma-2019',\n },\n\n // MPO: Meuwese 2007 (EPIC-Norfolk) — risco CV elevado >322 pmol/L\n Myeloperoxidase: {\n default: { max: 470, min: 0, optimalMax: 322, optimalMin: 0, unit: 'pmol/L' },\n source: 'meuwese-mpo-2007',\n },\n\n // WBC Differential (%)\n Neutrophils: {\n default: { max: 70, min: 40, optimalMax: 65, optimalMin: 50, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n // WBC Differential (Absolute)\n Neutrophils_Abs: {\n default: { max: 8.0, min: 1.5, optimalMax: 6.0, optimalMin: 2.0, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n NonHDL_Cholesterol: {\n default: { max: 130, min: 0, optimalMax: 100, optimalMin: 0, unit: 'mg/dL' },\n direction: 'lower-better',\n source: 'sbc-lipids-2025',\n },\n\n NRBC: {\n default: { max: 0, min: 0, optimalMax: 0, optimalMin: 0, unit: '/100WBC' },\n source: 'tietz-7ed-2015',\n },\n\n NTproBNP: {\n default: { max: 125, min: 0, optimalMax: 75, optimalMin: 0, unit: 'pg/mL' },\n source: 'sbc-ic-2018',\n },\n\n Oleic_Acid: {\n default: { max: 25.0, min: 15.0, optimalMax: 22.0, optimalMin: 18.0, unit: '%' },\n source: 'tietz-7ed-2015',\n },\n\n Omega3_Index: {\n default: { max: 8.0, min: 4.0, optimalMax: 8.0, optimalMin: 5.5, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n // Ômega-3 Total (% de ácidos graxos eritrocitários) — Harris & von Schacky\n // (2004) propõem ≥ 8% como zona ótima de proteção cardiovascular; valores\n // entre 4% e 8% representam risco intermediário, < 4% risco alto.\n // optimalMin anterior (5.5%) ficava em zona intermediária, contradizendo\n // a literatura e o próprio texto educacional do `platform`.\n Omega3_Total: {\n default: { max: 12.0, min: 3.0, optimalMax: 10.0, optimalMin: 8.0, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n Omega6_Total: {\n default: { max: 40.0, min: 20.0, optimalMax: 35.0, optimalMin: 25.0, unit: '%' },\n source: 'simopoulos-omega-ratio-2002',\n },\n\n Omega6_Omega3_Ratio: {\n default: { max: 10.0, min: 1.0, optimalMax: 4.0, optimalMin: 1.0, unit: '' },\n direction: 'lower-better',\n source: 'simopoulos-omega-ratio-2002',\n },\n\n OmegaCheck: {\n default: { max: 8.0, min: 4.0, optimalMax: 8.0, optimalMin: 5.5, unit: '%' },\n source: 'harris-omega3-2004',\n },\n\n Palmitic_Acid: {\n default: { max: 30.0, min: 20.0, optimalMax: 27.0, optimalMin: 22.0, unit: '%' },\n source: 'tietz-7ed-2015',\n },\n\n Phosphorus: {\n default: { max: 4.5, min: 2.5, optimalMax: 4.0, optimalMin: 3.0, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n Platelets: {\n default: { max: 400, min: 150, optimalMax: 350, optimalMin: 180, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n Potassium: {\n default: { max: 5.0, min: 3.5, optimalMax: 4.6, optimalMin: 3.8, unit: 'mEq/L' },\n source: 'tietz-7ed-2015',\n },\n\n Prealbumin: {\n default: { max: 38, min: 18, optimalMax: 35, optimalMin: 20, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // Progesterona — varia drasticamente com a fase do ciclo menstrual.\n // O schema atual não modela fase do ciclo, então adotamos faixas amplas\n // por sexo: o `default` cobre homens/fase folicular/pós-menopausa; a\n // variante feminina expande até a faixa esperada de fase lútea\n // (~3-20 ng/mL). Interpretação correta exige correlação com a fase do\n // ciclo, indisponível neste contexto.\n Progesterone: {\n default: { max: 0.9, min: 0.1, optimalMax: 0.7, optimalMin: 0.2, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 0.9, min: 0.1, optimalMax: 0.6, optimalMin: 0.2, unit: 'ng/mL' },\n sex: 'M',\n },\n // Mulheres em idade reprodutiva: faixa que abarca fases folicular\n // (0.1-0.9 ng/mL) e lútea (3-20 ng/mL). Sem contexto de fase do ciclo,\n // valores intermediários (1-3 ng/mL) ficam em zona ambígua.\n {\n ageMax: 50,\n ageMin: 18,\n range: { max: 20.0, min: 0.1, optimalMax: 15.0, optimalMin: 0.2, unit: 'ng/mL' },\n sex: 'F',\n },\n // Pós-menopausa: valores tipicamente < 0.5 ng/mL (sem ovulação).\n {\n ageMin: 51,\n range: { max: 0.5, min: 0, optimalMax: 0.3, optimalMin: 0, unit: 'ng/mL' },\n sex: 'F',\n },\n ],\n },\n\n Prolactin: {\n default: { max: 18, min: 2, optimalMax: 15, optimalMin: 4, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 18, min: 2, optimalMax: 15, optimalMin: 4, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 29, min: 2, optimalMax: 23, optimalMin: 4, unit: 'ng/mL' },\n sex: 'F',\n },\n ],\n },\n\n PSA: {\n default: { max: 4.0, min: 0, optimalMax: 2.5, optimalMin: 0, unit: 'ng/mL' },\n source: 'sturgeon-nacb-2008',\n variants: [\n {\n ageMax: 49,\n ageMin: 18,\n range: { max: 2.5, min: 0, optimalMax: 1.5, optimalMin: 0, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMax: 59,\n ageMin: 50,\n range: { max: 3.5, min: 0, optimalMax: 2.5, optimalMin: 0, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMax: 69,\n ageMin: 60,\n range: { max: 4.5, min: 0, optimalMax: 3.0, optimalMin: 0, unit: 'ng/mL' },\n sex: 'M',\n },\n {\n ageMin: 70,\n range: { max: 6.5, min: 0, optimalMax: 4.0, optimalMin: 0, unit: 'ng/mL' },\n sex: 'M',\n },\n ],\n },\n\n RBC: {\n default: { max: 5.5, min: 4.0, optimalMax: 5.2, optimalMin: 4.3, unit: 'M/uL' },\n source: 'pns-hemograma-2019',\n variants: [\n {\n ageMin: 18,\n range: { max: 5.9, min: 4.5, optimalMax: 5.5, optimalMin: 4.7, unit: 'M/uL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 5.2, min: 4.0, optimalMax: 5.0, optimalMin: 4.2, unit: 'M/uL' },\n sex: 'F',\n },\n ],\n },\n\n RDW: {\n default: { max: 14.5, min: 11.5, optimalMax: 14.0, optimalMin: 12.0, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n Reticulocytes: {\n default: { max: 2.5, min: 0.5, optimalMax: 2.0, optimalMin: 0.8, unit: '%' },\n source: 'pns-hemograma-2019',\n },\n\n SDMA: {\n default: { max: 0.6, min: 0.3, optimalMax: 0.5, optimalMin: 0.3, unit: 'umol/L' },\n source: 'schwedhelm-sdma-2011',\n },\n\n Selenium: {\n default: { max: 150, min: 70, optimalMax: 125, optimalMin: 85, unit: 'mcg/L' },\n source: 'tietz-7ed-2015',\n },\n\n SHBG: {\n default: { max: 54, min: 18, optimalMax: 50, optimalMin: 20, unit: 'nmol/L' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 54, min: 18, optimalMax: 45, optimalMin: 20, unit: 'nmol/L' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 122, min: 24, optimalMax: 90, optimalMin: 30, unit: 'nmol/L' },\n sex: 'F',\n },\n ],\n },\n\n Sodium: {\n default: { max: 145, min: 136, optimalMax: 143, optimalMin: 138, unit: 'mEq/L' },\n source: 'tietz-7ed-2015',\n },\n\n SpecificGravity_Urine: {\n default: { max: 1.03, min: 1.005, optimalMax: 1.025, optimalMin: 1.01, unit: 'SG' },\n source: 'tietz-7ed-2015',\n },\n\n Stearic_Acid: {\n default: { max: 14.0, min: 8.0, optimalMax: 12.0, optimalMin: 10.0, unit: '%' },\n source: 'tietz-7ed-2015',\n },\n\n T3Free: {\n default: { max: 4.2, min: 2.3, optimalMax: 3.8, optimalMin: 2.8, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n T3Reverse: {\n default: { max: 24, min: 10, optimalMax: 20, optimalMin: 12, unit: 'ng/dL' },\n source: 'tietz-7ed-2015',\n },\n\n T4Free: {\n default: { max: 1.8, min: 0.8, optimalMax: 1.5, optimalMin: 1.0, unit: 'ng/dL' },\n source: 'tietz-7ed-2015',\n },\n\n T4Total: {\n default: { max: 12.0, min: 4.5, optimalMax: 10.0, optimalMin: 6.0, unit: 'ug/dL' },\n source: 'tietz-7ed-2015',\n },\n\n Testosterone: {\n default: { max: 1000, min: 300, optimalMax: 800, optimalMin: 500, unit: 'ng/dL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMax: 49,\n ageMin: 18,\n range: { max: 1000, min: 300, optimalMax: 800, optimalMin: 500, unit: 'ng/dL' },\n sex: 'M',\n },\n {\n ageMin: 50,\n range: { max: 800, min: 200, optimalMax: 650, optimalMin: 400, unit: 'ng/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 70, min: 15, optimalMax: 50, optimalMin: 20, unit: 'ng/dL' },\n sex: 'F',\n },\n ],\n },\n\n TestosteroneBioavailable: {\n default: { max: 200, min: 50, optimalMax: 150, optimalMin: 80, unit: 'ng/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // TestosteroneFree - using direct immunoassay ranges (Quest/LabCorp standard)\n // Previous values (9.3-26.5 pg/mL) were based on equilibrium dialysis method\n TestosteroneFree: {\n default: { max: 155, min: 35, optimalMax: 120, optimalMin: 50, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMax: 49,\n ageMin: 18,\n range: { max: 155, min: 35, optimalMax: 120, optimalMin: 50, unit: 'pg/mL' },\n sex: 'M',\n },\n {\n ageMin: 50,\n range: { max: 130, min: 30, optimalMax: 100, optimalMin: 40, unit: 'pg/mL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 5.0, min: 0.2, optimalMax: 3.0, optimalMin: 0.5, unit: 'pg/mL' },\n sex: 'F',\n },\n ],\n },\n\n TIBC: {\n default: { max: 370, min: 250, optimalMax: 350, optimalMin: 280, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n TotalProtein: {\n default: { max: 8.3, min: 6.0, optimalMax: 7.8, optimalMin: 6.5, unit: 'g/dL' },\n source: 'tietz-7ed-2015',\n },\n\n Trans_Fat_Index: {\n default: { max: 1.0, min: 0, optimalMax: 0.5, optimalMin: 0, unit: '%' },\n source: 'tietz-7ed-2015',\n },\n\n Transferrin: {\n default: { max: 360, min: 200, optimalMax: 340, optimalMin: 220, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n TransferrinSaturation: {\n default: { max: 50, min: 20, optimalMax: 45, optimalMin: 25, unit: '%' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 55, min: 20, optimalMax: 45, optimalMin: 25, unit: '%' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 50, min: 15, optimalMax: 40, optimalMin: 20, unit: '%' },\n sex: 'F',\n },\n ],\n },\n\n // Triglicérides — SBC 2017/2025 permite dosagem não-jejum com corte distinto\n // (<175 mg/dL pós-prandial). Marcamos `preferred` para indicar que a faixa\n // padrão é de jejum, mas não bloqueamos interpretação em não-jejum.\n Triglycerides: {\n default: {\n fastingRequired: 'preferred',\n max: 150,\n min: 0,\n optimalMax: 100,\n optimalMin: 0,\n unit: 'mg/dL',\n },\n direction: 'lower-better',\n source: 'sbc-lipids-2025',\n },\n\n // TroponinI: 0.04 ng/mL = percentil 99 (ensaio Siemens TnI-Ultra)\n TroponinI: {\n default: { max: 0.04, min: 0, optimalMax: 0.02, optimalMin: 0, unit: 'ng/mL' },\n source: 'keller-tni-2013',\n },\n\n // TroponinT: 14 ng/L = percentil 99 hs-cTnT (ensaio Roche Elecsys 5ª geração)\n TroponinT: {\n default: { max: 14, min: 0, optimalMax: 10, optimalMin: 0, unit: 'ng/L' },\n source: 'giannitsis-hstnt-2010',\n },\n\n // TSH — 0.4–4.0 é a faixa de referência adulta geral. O alvo 2.5 µIU/mL é\n // específico do 1º trimestre gestacional (ATA 2017) e não se aplica a\n // não-gestantes; optimalMax=3.0 reflete o limite superior do tercil \"ótimo\"\n // sem invadir a faixa subclínica. Variante ageMin=65 mantém limite superior\n // expandido (tolerância fisiológica do eixo em idosos, SBEM 2013).\n TSH: {\n default: { max: 4.0, min: 0.4, optimalMax: 3.0, optimalMin: 1.0, unit: 'uIU/mL' },\n source: 'sbem-thyroid-2013',\n variants: [\n // Variantes gestacionais (ATA 2017 / SBEM): supressão fisiológica por hCG\n // no 1º trimestre, recuperação progressiva no 2º/3º. Trimestre-específicas\n // precedem a catch-all; catch-all cobre contexto gestante sem trimestre\n // conhecido.\n // optimalMin/optimalMax definem subfaixa \"alvo\" mais estreita que o\n // intervalo de referência — ex.: 1º tri aceita 0.1–2.5, mas o alvo\n // terapêutico é 0.5–2.5.\n {\n pregnant: true,\n pregnancyTrimester: 1,\n range: { max: 2.5, min: 0.1, optimalMax: 2.0, optimalMin: 0.5, unit: 'uIU/mL' },\n sex: 'F',\n },\n {\n pregnant: true,\n pregnancyTrimester: 2,\n range: { max: 3.0, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: 'uIU/mL' },\n sex: 'F',\n },\n {\n pregnant: true,\n pregnancyTrimester: 3,\n range: { max: 3.0, min: 0.3, optimalMax: 2.5, optimalMin: 0.5, unit: 'uIU/mL' },\n sex: 'F',\n },\n // Catch-all gestacional — usada quando o trimestre não é informado.\n // Adota a faixa mais conservadora (2º/3º trimestre: 0.2–3.0).\n {\n pregnant: true,\n range: { max: 3.0, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: 'uIU/mL' },\n sex: 'F',\n },\n {\n ageMin: 65,\n range: { max: 6.0, min: 0.4, optimalMax: 4.0, optimalMin: 1.0, unit: 'uIU/mL' },\n sex: 'all',\n },\n ],\n },\n\n // Ureia — convenção brasileira (laboratórios reportam Ureia, não BUN).\n // Faixa adulta de 15-50 mg/dL (Ureia ≈ BUN × 2,14). Limites anteriores\n // (7-20 mg/dL) refletiam BUN/Nitrogênio Ureico, gerando falsos diagnósticos\n // de azotemia em pacientes com Ureia normal. LOINC 3094-0 (BUN) também\n // deve ser revisto em biomarkers.ts — ver issue #41.\n Urea: {\n default: { max: 50, min: 15, optimalMax: 40, optimalMin: 20, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n UricAcid: {\n default: { max: 7.0, min: 2.5, optimalMax: 5.5, optimalMin: 3.0, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 7.0, min: 3.4, optimalMax: 6.0, optimalMin: 4.0, unit: 'mg/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 6.0, min: 2.4, optimalMax: 5.0, optimalMin: 3.0, unit: 'mg/dL' },\n sex: 'F',\n },\n ],\n },\n\n Urobilinogen_Urine: {\n default: { max: 1.0, min: 0.1, optimalMax: 1.0, optimalMin: 0.1, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n pH_Urine: {\n default: { max: 8.0, min: 4.5, optimalMax: 7.0, optimalMin: 5.5, unit: 'pH' },\n source: 'tietz-7ed-2015',\n },\n\n HyalineCasts_Urine: {\n default: { max: 2, min: 0, optimalMax: 1, optimalMin: 0, unit: '/LPF' },\n source: 'tietz-7ed-2015',\n },\n\n RBC_Urine: {\n default: { max: 3, min: 0, optimalMax: 1, optimalMin: 0, unit: '/HPF' },\n source: 'tietz-7ed-2015',\n },\n\n SquamousEpithelial_Urine: {\n default: { max: 15, min: 0, optimalMax: 5, optimalMin: 0, unit: '/HPF' },\n source: 'tietz-7ed-2015',\n },\n\n Leukocytes_Urine: {\n default: { max: 5, min: 0, optimalMax: 2, optimalMin: 0, unit: '/HPF' },\n source: 'tietz-7ed-2015',\n },\n\n Folate: {\n default: { max: 20, min: 3.9, optimalMax: 17, optimalMin: 5, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminA: {\n default: { max: 100, min: 20, optimalMax: 80, optimalMin: 30, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminB1: {\n default: { max: 180, min: 70, optimalMax: 150, optimalMin: 80, unit: 'nmol/L' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminB12: {\n default: { max: 900, min: 200, optimalMax: 800, optimalMin: 400, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminB6: {\n default: { max: 50, min: 5, optimalMax: 40, optimalMin: 10, unit: 'ng/mL' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminC: {\n default: { max: 2.0, min: 0.4, optimalMax: 1.5, optimalMin: 0.6, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // Vitamina D — posicionamento conjunto SBEM/SBPC-ML 2017:\n // ≥20 ng/mL é desejável para população saudável <60 anos\n // ≥30 ng/mL é recomendado para grupos de risco (idosos, gestantes, DRC,\n // osteoporose, hiperparatireoidismo secundário).\n // A variante ageMin=60 cobre idosos. Gestação, doença renal crônica,\n // osteoporose e hiperparatireoidismo secundário também exigem min=30;\n // o tipo `BiomarkerReferenceRange` atual não expressa esses contextos\n // clínicos além de gestação e idade, portanto consumidores devem aplicar\n // o limiar ≥30 nessas populações quando souberem a comorbidade. Gestação\n // será modelada quando `pregnant: true` — aceita-se TODO até lá.\n // TODO(PR-vitd-pregnancy): adicionar variante `pregnant: true` com min=30\n // quando a modelagem de comorbidades chegar ao schema.\n VitaminD: {\n default: { max: 100, min: 20, optimalMax: 70, optimalMin: 40, unit: 'ng/mL' },\n source: 'ferreira-vitd-2017',\n variants: [\n {\n ageMin: 60,\n range: { max: 100, min: 30, optimalMax: 70, optimalMin: 40, unit: 'ng/mL' },\n sex: 'all',\n },\n ],\n },\n\n VitaminD_1_25: {\n default: { max: 72, min: 18, optimalMax: 60, optimalMin: 25, unit: 'pg/mL' },\n source: 'tietz-7ed-2015',\n },\n\n VitaminE: {\n default: { max: 17, min: 5.5, optimalMax: 14, optimalMin: 7, unit: 'mg/L' },\n source: 'tietz-7ed-2015',\n },\n\n // VLDL — estimado clinicamente via TG/5 (método Friedewald). O corte de\n // referência deriva de triglicérides <150 mg/dL (SBC 2025, dislipidemias),\n // portanto VLDL <30. Friedewald-1972 permanece registrada como fonte do\n // método de cálculo, mas a faixa de referência tem respaldo na diretriz\n // SBC 2025.\n VLDL: {\n default: { max: 30, min: 2, optimalMax: 20, optimalMin: 5, unit: 'mg/dL' },\n source: 'sbc-lipids-2025',\n },\n\n WBC: {\n default: { max: 11.0, min: 4.0, optimalMax: 8.0, optimalMin: 5.0, unit: 'K/uL' },\n source: 'pns-hemograma-2019',\n },\n\n Zinc: {\n default: { max: 120, min: 60, optimalMax: 100, optimalMin: 70, unit: 'mcg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n AndroidFatPct: {\n default: { max: 35, min: 10, optimalMax: 25, optimalMin: 15, unit: '%' },\n direction: 'lower-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 30, min: 10, optimalMax: 22, optimalMin: 12, unit: '%' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 42, min: 15, optimalMax: 32, optimalMin: 20, unit: '%' },\n sex: 'F',\n },\n ],\n },\n\n AndroidGynoidRatio: {\n default: { max: 1.2, min: 0.5, optimalMax: 1.0, optimalMin: 0.6, unit: '' },\n direction: 'lower-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 1.2, min: 0.6, optimalMax: 1.0, optimalMin: 0.7, unit: '' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 1.0, min: 0.4, optimalMax: 0.8, optimalMin: 0.5, unit: '' },\n sex: 'F',\n },\n ],\n },\n\n BMC: {\n default: { max: 3.5, min: 2.0, optimalMax: 3.2, optimalMin: 2.3, unit: 'kg' },\n direction: 'higher-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 4.0, min: 2.5, optimalMax: 3.5, optimalMin: 2.8, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 3.0, min: 1.8, optimalMax: 2.7, optimalMin: 2.0, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n // BodyFatPct — Age-bracketed ranges from Gallagher et al. Am J Clin Nutr 2000;72:694-701\n // (PMID: 10966886) and ACSM Guidelines for Exercise Testing, 11th Ed (2021)\n BodyFatPct: {\n default: { max: 30, min: 10, optimalMax: 25, optimalMin: 15, unit: '%' },\n direction: 'lower-better',\n source: 'gallagher-bodyfat-2000',\n variants: [\n // Men — age brackets\n {\n ageMax: 25,\n ageMin: 18,\n range: { max: 25, min: 5, optimalMax: 20, optimalMin: 10, unit: '%' },\n sex: 'M',\n },\n {\n ageMax: 35,\n ageMin: 26,\n range: { max: 26, min: 5, optimalMax: 21, optimalMin: 11, unit: '%' },\n sex: 'M',\n },\n {\n ageMax: 45,\n ageMin: 36,\n range: { max: 27, min: 5, optimalMax: 22, optimalMin: 12, unit: '%' },\n sex: 'M',\n },\n {\n ageMax: 55,\n ageMin: 46,\n range: { max: 28, min: 5, optimalMax: 23, optimalMin: 13, unit: '%' },\n sex: 'M',\n },\n {\n ageMin: 56,\n range: { max: 29, min: 5, optimalMax: 24, optimalMin: 14, unit: '%' },\n sex: 'M',\n },\n // Women — age brackets\n {\n ageMax: 25,\n ageMin: 18,\n range: { max: 32, min: 13, optimalMax: 28, optimalMin: 18, unit: '%' },\n sex: 'F',\n },\n {\n ageMax: 35,\n ageMin: 26,\n range: { max: 33, min: 13, optimalMax: 29, optimalMin: 18, unit: '%' },\n sex: 'F',\n },\n {\n ageMax: 45,\n ageMin: 36,\n range: { max: 34, min: 13, optimalMax: 30, optimalMin: 19, unit: '%' },\n sex: 'F',\n },\n {\n ageMax: 55,\n ageMin: 46,\n range: { max: 35, min: 13, optimalMax: 31, optimalMin: 20, unit: '%' },\n sex: 'F',\n },\n {\n ageMin: 56,\n range: { max: 36, min: 13, optimalMax: 32, optimalMin: 20, unit: '%' },\n sex: 'F',\n },\n ],\n },\n\n FatFreeMass: {\n default: { max: 80, min: 40, optimalMax: 70, optimalMin: 45, unit: 'kg' },\n direction: 'higher-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 90, min: 50, optimalMax: 80, optimalMin: 55, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 60, min: 35, optimalMax: 52, optimalMin: 38, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n FatMass: {\n default: { max: 30, min: 5, optimalMax: 20, optimalMin: 8, unit: 'kg' },\n direction: 'lower-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 25, min: 5, optimalMax: 18, optimalMin: 7, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 30, min: 8, optimalMax: 22, optimalMin: 10, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n GynoidFatPct: {\n default: { max: 45, min: 15, optimalMax: 35, optimalMin: 20, unit: '%' },\n direction: 'lower-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 35, min: 12, optimalMax: 28, optimalMin: 15, unit: '%' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 50, min: 20, optimalMax: 40, optimalMin: 25, unit: '%' },\n sex: 'F',\n },\n ],\n },\n\n LeanMass: {\n default: { max: 75, min: 35, optimalMax: 65, optimalMin: 40, unit: 'kg' },\n direction: 'higher-better',\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 85, min: 45, optimalMax: 75, optimalMin: 50, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 55, min: 30, optimalMax: 48, optimalMin: 35, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n TotalMass: {\n default: { max: 100, min: 50, optimalMax: 85, optimalMin: 55, unit: 'kg' },\n source: 'kelly-dxa-2009',\n variants: [\n {\n ageMin: 18,\n range: { max: 100, min: 55, optimalMax: 90, optimalMin: 60, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 85, min: 45, optimalMax: 75, optimalMin: 50, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n VATMass: {\n default: { max: 1.5, min: 0, optimalMax: 0.8, optimalMin: 0, unit: 'kg' },\n direction: 'lower-better',\n source: 'ofenheimer-vat-2020',\n variants: [\n {\n ageMin: 18,\n range: { max: 1.5, min: 0, optimalMax: 1.0, optimalMin: 0, unit: 'kg' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 1.0, min: 0, optimalMax: 0.5, optimalMin: 0, unit: 'kg' },\n sex: 'F',\n },\n ],\n },\n\n VATVolume: {\n default: {\n max: 852,\n min: 0,\n optimalMax: 600,\n optimalMin: 0,\n unit: 'cm³',\n warningMax: 1837,\n },\n direction: 'lower-better',\n source: 'ge-corescan',\n },\n\n BMD_Total: {\n default: { max: 1.4, min: 0.9, optimalMax: 1.3, optimalMin: 1.0, unit: 'g/cm²' },\n direction: 'higher-better',\n source: 'who-osteoporosis-1994',\n },\n\n TScore_Total: {\n default: { max: 4.0, min: -1.0, optimalMax: 2.0, optimalMin: -0.5, unit: '' },\n direction: 'higher-better',\n source: 'who-osteoporosis-1994',\n },\n\n ZScore_Total: {\n default: { max: 2.0, min: -2.0, optimalMax: 1.0, optimalMin: -1.0, unit: '' },\n direction: 'higher-better',\n source: 'who-osteoporosis-1994',\n },\n\n Amylase: {\n default: { max: 100, min: 28, optimalMax: 90, optimalMin: 35, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n },\n\n Creatinine_Urine: {\n default: { max: 300, min: 20, optimalMax: 250, optimalMin: 40, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 300, min: 40, optimalMax: 260, optimalMin: 60, unit: 'mg/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 220, min: 20, optimalMax: 180, optimalMin: 40, unit: 'mg/dL' },\n sex: 'F',\n },\n ],\n },\n\n IgA: {\n default: { max: 400, min: 70, optimalMax: 350, optimalMin: 100, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n Lipase: {\n default: { max: 60, min: 0, optimalMax: 50, optimalMin: 10, unit: 'U/L' },\n source: 'tietz-7ed-2015',\n },\n\n Microalbumin_Urine: {\n default: { max: 30, min: 0, optimalMax: 20, optimalMin: 0, unit: 'mg/L' },\n source: 'kdigo-ckd-2024',\n },\n\n PSA_Free: {\n default: { max: 1.5, min: 0, optimalMax: 1.0, optimalMin: 0, unit: 'ng/mL' },\n source: 'sturgeon-nacb-2008',\n },\n\n // Relação PSA livre/total — `higher-better`: razão maior = menor risco de\n // câncer de próstata, logo não há limite superior \"ruim\" (acima do normal é\n // verde). Faixas alinhadas à tabela clínica: ≥25% baixo risco (verde),\n // 10–25% atenção — intermediário/moderado (âmbar), <10% alto risco >50%\n // (vermelho). Limites: `min` (25) é o piso do verde e `warningMin` (10) o\n // piso do âmbar — o vermelho é estritamente abaixo de 10% (< 10%); 10%\n // pertence ao âmbar, conforme a faixa \"10–15% moderado\" da tabela.\n PSA_FreeRatio: {\n default: { max: 100, min: 25, optimalMax: 100, optimalMin: 30, unit: '%', warningMin: 10 },\n direction: 'higher-better',\n source: 'sturgeon-nacb-2008',\n },\n\n // BMI - WHO classification: 18.5–24.9 normal, 25–29.9 overweight, ≥30 obese\n BMI: {\n default: { max: 30, min: 18.5, optimalMax: 24.9, optimalMin: 18.5, unit: 'kg/m2' },\n source: 'who-obesity-2000',\n },\n\n // eAG — Estimated Average Glucose, derivada da HbA1c pela fórmula ADAG:\n // eAG (mg/dL) = 28,7 × HbA1c(%) − 46,7 (NATHAN, D. M. et al. Translating the\n // A1C assay into estimated average glucose values. Diabetes Care, v. 31, n. 8,\n // p. 1473-1478, 2008. DOI: 10.2337/dc08-0545).\n //\n // As faixas espelham os cortes diagnósticos de HbA1c da SBD (ver entrada\n // `HbA1c`) convertidos por essa fórmula, mantendo a eAG coerente com o\n // marcador de origem:\n // optimalMax 105 ← HbA1c 5,3 % (teto do controle ótimo)\n // max 117 ← HbA1c 5,7 % (teto do não diabético → início do pré-diabetes)\n // warningMax 137 ← HbA1c 6,4 % (teto do pré-diabetes → acima disso, diabetes)\n // optimalMin 82 ← HbA1c 4,5 % (piso do alvo fisiológico da entrada HbA1c)\n // min 11 ← HbA1c 2,0 % (mesmo piso de sanidade da entrada HbA1c)\n //\n // O piso era 70 nos dois campos, e não vinha desta conversão: 70 é o limite\n // inferior clássico da glicemia **de jejum**, transplantado para uma média\n // estimada de ~3 meses. Pela fórmula, 70 equivale a HbA1c 4,07 % — ou seja,\n // marcava como alterado exatamente quem a entrada `HbA1c` documenta que não\n // deve ser sinalizado, já que HbA1c baixa reflete hemólise, perda sanguínea\n // ou hemoglobinopatia, e não doença do metabolismo glicêmico. Espelhar o piso\n // do HbA1c mantém as duas entradas coerentes, que é o que o comentário sempre\n // afirmou fazer.\n //\n // Substitui a faixa anterior (optimalMax 126 = corte de glicemia de jejum;\n // max 154 = meta terapêutica do diabético, HbA1c 7 %), que classificava como\n // \"Normal\" valores já pré-diabéticos e diabéticos.\n eAG: {\n default: { max: 117, min: 11, optimalMax: 105, optimalMin: 82, unit: 'mg/dL', warningMax: 137 },\n source: 'sbd-diabetes-2024',\n },\n\n // INR - International Normalized Ratio (non-anticoagulated patients)\n INR: {\n default: { max: 1.2, min: 0.8, optimalMax: 1.1, optimalMin: 0.9, unit: 'ratio' },\n source: 'tietz-7ed-2015',\n },\n\n // Prothrombin Time\n ProthrombinTime: {\n default: { max: 13.5, min: 11, optimalMax: 13, optimalMin: 11, unit: 'seconds' },\n source: 'tietz-7ed-2015',\n },\n\n // DHT - Dihydrotestosterone (adult male reference; female values are much lower)\n DHT: {\n default: { max: 85, min: 30, optimalMax: 85, optimalMin: 30, unit: 'ng/dL' },\n source: 'tietz-7ed-2015',\n variants: [\n {\n ageMin: 18,\n range: { max: 85, min: 30, optimalMax: 85, optimalMin: 30, unit: 'ng/dL' },\n sex: 'M',\n },\n {\n ageMin: 18,\n range: { max: 22, min: 4, optimalMax: 22, optimalMin: 4, unit: 'ng/dL' },\n sex: 'F',\n },\n ],\n },\n\n // Total IgE - higher values suggest atopy/allergic sensitization\n IgE_Total: {\n default: { max: 100, min: 0, optimalMax: 100, optimalMin: 0, unit: 'IU/mL' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n },\n\n // IgG - Immunoglobulin G\n IgG: {\n default: { max: 1600, min: 700, optimalMax: 1600, optimalMin: 700, unit: 'mg/dL' },\n source: 'tietz-7ed-2015',\n },\n\n // IgE E1 Cat Dander - Class 0 (≤0.35 kU/L) = negative\n IgE_E1_CatDander: {\n default: { max: 0.35, min: 0, optimalMax: 0.35, optimalMin: 0, unit: 'kU/L' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n },\n\n // IgE GX1 Grasses - Class 0 (≤0.35 kU/L) = negative\n IgE_GX1_Grasses: {\n default: { max: 0.35, min: 0, optimalMax: 0.35, optimalMin: 0, unit: 'kU/L' },\n direction: 'lower-better',\n source: 'tietz-7ed-2015',\n },\n};\n\n// =============================================================================\n// HELPER FUNCTIONS\n// =============================================================================\n\n/**\n * Legacy flat reference ranges for backward compatibility\n * This is derived from biomarkerRangeDefinitions defaults\n */\nexport const defaultReferenceRanges: Record<string, BiomarkerReferenceRange> = Object.fromEntries(\n Object.entries(biomarkerRangeDefinitions).map(([code, def]) => [\n code,\n def.source ? { ...def.default, source: def.source } : def.default,\n ]),\n);\n\n/**\n * Get the reference range for a biomarker code, optionally personalized for user context\n * @param testCode - The biomarker code (e.g., \"HDL\", \"Testosterone\")\n * @param context - Optional user context for personalized ranges\n * @returns Reference range or undefined if not found\n */\nexport function getReferenceRange(\n testCode: string,\n context?: ReferenceRangeContext,\n): BiomarkerReferenceRange | undefined {\n const definition = biomarkerRangeDefinitions[testCode];\n if (!definition) return undefined;\n\n const withSource = (range: BiomarkerReferenceRange): BiomarkerReferenceRange =>\n definition.source ? { ...range, source: definition.source } : range;\n\n // If no context or no variants, return default\n if (!context || !definition.variants || definition.variants.length === 0) {\n return withSource(definition.default);\n }\n\n const { age, biologicalSex, pregnancyTrimester, pregnant } = context;\n\n // Detect whether the biomarker has pregnancy-specific variants at all.\n // Se o biomarcador não modela gestação, uma usuária gestante deve continuar\n // recebendo a variante por sexo/idade (mais informativa que o default). Apenas\n // quando existe ao menos uma variante gestacional é que bloqueamos as variantes\n // não-gestacionais para contextos gestantes — evitando mistura de faixas.\n //\n // Precedência quando pregnant=true: variantes gestacionais têm precedência\n // absoluta sobre variantes etárias. Uma gestante de 65+ anos consultando\n // TSH recebe a faixa gestacional, não a variante ageMin=65. Isto é\n // intencional — em gestação, o eixo HPG domina sobre o envelhecimento\n // fisiológico. Casos raros de gestação pós-menopausa (FIV) seguem essa\n // regra; o consumidor que precise distinguir deve aplicar lógica de\n // contexto adicional.\n //\n // Tratamento de `pregnant: undefined` vs `false`: ambos são tratados como\n // \"não-gestante\" (fallback seguro). O consumidor deve setar pregnant: true\n // explicitamente para ativar variantes gestacionais; contexto sem a flag\n // recebe a faixa padrão da população geral.\n const hasPregnancyVariant = definition.variants.some((v) => v.pregnant === true);\n\n // Find matching variant (first match wins — more specific variants must be\n // listed first). Ordem obrigatória quando há variantes gestacionais:\n // 1. variantes trimestre-específicas (pregnant=true + pregnancyTrimester=N)\n // 2. catch-all gestacional (pregnant=true, sem trimester)\n // 3. variantes por sexo/idade não-gestacionais\n // Reordenar quebraria o matching; a verificação `variant.pregnancyTrimester\n // !== pregnancyTrimester` depende da catch-all vir por último.\n for (const variant of definition.variants) {\n if (variant.pregnant === true) {\n if (!pregnant) continue;\n // Variante com trimestre específico só casa quando o contexto também\n // especifica o mesmo trimestre. Variantes gestacionais sem trimestre\n // (catch-all) casam com qualquer contexto gestante, servindo de fallback.\n if (\n variant.pregnancyTrimester !== undefined &&\n variant.pregnancyTrimester !== pregnancyTrimester\n ) {\n continue;\n }\n } else if (pregnant && hasPregnancyVariant) {\n // Só pulamos variantes não-gestacionais se o biomarcador tem variantes\n // gestacionais; caso contrário, a variante por sexo/idade é aplicável.\n continue;\n }\n\n // Check sex match ('all' matches everyone)\n if (variant.sex !== 'all' && variant.sex !== biologicalSex) {\n continue;\n }\n\n // Check age range\n if (variant.ageMin !== undefined && (age === undefined || age < variant.ageMin)) {\n continue;\n }\n if (variant.ageMax !== undefined && (age === undefined || age > variant.ageMax)) {\n continue;\n }\n\n return withSource(variant.range);\n }\n\n // No matching variant found - return default\n return withSource(definition.default);\n}\n\n/**\n * Get the range direction for a biomarker code.\n * Returns 'range' (default) if not specified.\n */\nexport function getRangeDirection(testCode: string): RangeDirection {\n return biomarkerRangeDefinitions[testCode]?.direction ?? 'range';\n}\n\n/**\n * Get fallback reference range for a biomarker code (default only, no personalization)\n * Used by API when LLM doesn't extract reference values\n * @param biomarkerCode - The biomarker code\n * @returns Reference range with min/max/unit or undefined\n */\nexport function getFallbackReferenceRange(\n biomarkerCode: string,\n): { min: number; max: number; unit: string } | undefined {\n const definition = biomarkerRangeDefinitions[biomarkerCode];\n if (!definition || definition.default.min === undefined || definition.default.max === undefined) {\n return undefined;\n }\n return {\n max: definition.default.max,\n min: definition.default.min,\n unit: definition.default.unit,\n };\n}\n\n/**\n * Apply fallback reference ranges to biomarkers that are missing them\n * @param biomarkers - Array of parsed biomarkers\n * @returns Count of biomarkers that received fallback references\n */\nexport function applyFallbackReferenceRanges<\n T extends {\n code: string;\n referenceMin?: number | null;\n referenceMax?: number | null;\n unit?: string;\n },\n>(biomarkers: T[]): number {\n let fallbackCount = 0;\n\n for (const biomarker of biomarkers) {\n // Skip if already has reference values\n if (biomarker.referenceMin != null && biomarker.referenceMax != null) {\n continue;\n }\n\n const fallback = getFallbackReferenceRange(biomarker.code);\n if (fallback) {\n // Only apply if units are compatible or biomarker has no unit\n const canonicalUnit = getCanonicalUnitForCode(biomarker.code);\n const unitsMatch =\n !biomarker.unit ||\n biomarker.unit.toLowerCase() === fallback.unit.toLowerCase() ||\n (canonicalUnit && biomarker.unit.toLowerCase() === canonicalUnit.toLowerCase()) ||\n // Handle common unit variations\n (biomarker.unit === '%' && fallback.unit === '%');\n\n if (unitsMatch) {\n if (biomarker.referenceMin == null) {\n biomarker.referenceMin = fallback.min;\n }\n if (biomarker.referenceMax == null) {\n biomarker.referenceMax = fallback.max;\n }\n fallbackCount++;\n }\n }\n }\n\n return fallbackCount;\n}\n"]}
|
package/dist/cli.js
CHANGED
|
@@ -1454,7 +1454,7 @@ var BIOMARKER_DEFINITIONS = [
|
|
|
1454
1454
|
en: ["International Normalized Ratio", "INR"],
|
|
1455
1455
|
pt: ["Raz\xE3o Normalizada Internacional", "INR", "RNI"]
|
|
1456
1456
|
},
|
|
1457
|
-
unit: "
|
|
1457
|
+
unit: "raz\xE3o"
|
|
1458
1458
|
},
|
|
1459
1459
|
{
|
|
1460
1460
|
category: "sangue",
|
|
@@ -1465,7 +1465,7 @@ var BIOMARKER_DEFINITIONS = [
|
|
|
1465
1465
|
en: ["Prothrombin Time", "PT", "Pro Time"],
|
|
1466
1466
|
pt: ["Tempo de Protrombina", "TP", "TAP"]
|
|
1467
1467
|
},
|
|
1468
|
-
unit: "
|
|
1468
|
+
unit: "segundos"
|
|
1469
1469
|
},
|
|
1470
1470
|
{
|
|
1471
1471
|
category: "sangue",
|
|
@@ -2151,7 +2151,7 @@ var BIOMARKER_DEFINITIONS = [
|
|
|
2151
2151
|
"\xCDndice Androide/Ginoide"
|
|
2152
2152
|
]
|
|
2153
2153
|
},
|
|
2154
|
-
unit: "
|
|
2154
|
+
unit: "raz\xE3o"
|
|
2155
2155
|
},
|
|
2156
2156
|
{
|
|
2157
2157
|
category: "composicao-corporal",
|
|
@@ -4588,15 +4588,12 @@ var biomarkerRangeDefinitions = {
|
|
|
4588
4588
|
source: "harris-omega3-2004"
|
|
4589
4589
|
},
|
|
4590
4590
|
eGFR: {
|
|
4591
|
-
default: { max: 120, min:
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
sex: "all"
|
|
4598
|
-
}
|
|
4599
|
-
]
|
|
4591
|
+
default: { max: 120, min: 60, optimalMax: 120, optimalMin: 90, unit: "mL/min/1.73m\xB2" },
|
|
4592
|
+
// KDIGO 2024: TFG 60-89 (G2) sem marcador de lesão renal não é DRC, em
|
|
4593
|
+
// nenhuma faixa etária. A variante por idade que existia aqui rebaixava o
|
|
4594
|
+
// piso só para 60+ e ainda limitava o teto a 90, o que sinalizava como
|
|
4595
|
+
// alterado qualquer idoso com função preservada.
|
|
4596
|
+
source: "kdigo-ckd-2024"
|
|
4600
4597
|
},
|
|
4601
4598
|
Eosinophils: {
|
|
4602
4599
|
default: { max: 5, min: 0, optimalMax: 4, optimalMin: 1, unit: "%" },
|
|
@@ -4913,7 +4910,7 @@ var biomarkerRangeDefinitions = {
|
|
|
4913
4910
|
min: 2,
|
|
4914
4911
|
optimalMax: 8,
|
|
4915
4912
|
optimalMin: 3,
|
|
4916
|
-
unit: "
|
|
4913
|
+
unit: "uIU/mL"
|
|
4917
4914
|
},
|
|
4918
4915
|
source: "tietz-7ed-2015"
|
|
4919
4916
|
},
|
|
@@ -4982,7 +4979,7 @@ var biomarkerRangeDefinitions = {
|
|
|
4982
4979
|
LDL_Peak_Size: {
|
|
4983
4980
|
// LDL Peak Size: higher is better (larger particles less atherogenic)
|
|
4984
4981
|
// Quest Ion Mobility reference: optimal >222.9 Å (22.29 nm)
|
|
4985
|
-
default: { max: 250, min: 217.4, optimalMax: 250, optimalMin: 222.9, unit: "
|
|
4982
|
+
default: { max: 250, min: 217.4, optimalMax: 250, optimalMin: 222.9, unit: "Angstrom" },
|
|
4986
4983
|
direction: "higher-better",
|
|
4987
4984
|
source: "caulfield-ionmobility-2008"
|
|
4988
4985
|
},
|
|
@@ -5447,7 +5444,7 @@ var biomarkerRangeDefinitions = {
|
|
|
5447
5444
|
// sem invadir a faixa subclínica. Variante ageMin=65 mantém limite superior
|
|
5448
5445
|
// expandido (tolerância fisiológica do eixo em idosos, SBEM 2013).
|
|
5449
5446
|
TSH: {
|
|
5450
|
-
default: { max: 4, min: 0.4, optimalMax: 3, optimalMin: 1, unit: "
|
|
5447
|
+
default: { max: 4, min: 0.4, optimalMax: 3, optimalMin: 1, unit: "uIU/mL" },
|
|
5451
5448
|
source: "sbem-thyroid-2013",
|
|
5452
5449
|
variants: [
|
|
5453
5450
|
// Variantes gestacionais (ATA 2017 / SBEM): supressão fisiológica por hCG
|
|
@@ -5460,31 +5457,31 @@ var biomarkerRangeDefinitions = {
|
|
|
5460
5457
|
{
|
|
5461
5458
|
pregnant: true,
|
|
5462
5459
|
pregnancyTrimester: 1,
|
|
5463
|
-
range: { max: 2.5, min: 0.1, optimalMax: 2, optimalMin: 0.5, unit: "
|
|
5460
|
+
range: { max: 2.5, min: 0.1, optimalMax: 2, optimalMin: 0.5, unit: "uIU/mL" },
|
|
5464
5461
|
sex: "F"
|
|
5465
5462
|
},
|
|
5466
5463
|
{
|
|
5467
5464
|
pregnant: true,
|
|
5468
5465
|
pregnancyTrimester: 2,
|
|
5469
|
-
range: { max: 3, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: "
|
|
5466
|
+
range: { max: 3, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: "uIU/mL" },
|
|
5470
5467
|
sex: "F"
|
|
5471
5468
|
},
|
|
5472
5469
|
{
|
|
5473
5470
|
pregnant: true,
|
|
5474
5471
|
pregnancyTrimester: 3,
|
|
5475
|
-
range: { max: 3, min: 0.3, optimalMax: 2.5, optimalMin: 0.5, unit: "
|
|
5472
|
+
range: { max: 3, min: 0.3, optimalMax: 2.5, optimalMin: 0.5, unit: "uIU/mL" },
|
|
5476
5473
|
sex: "F"
|
|
5477
5474
|
},
|
|
5478
5475
|
// Catch-all gestacional — usada quando o trimestre não é informado.
|
|
5479
5476
|
// Adota a faixa mais conservadora (2º/3º trimestre: 0.2–3.0).
|
|
5480
5477
|
{
|
|
5481
5478
|
pregnant: true,
|
|
5482
|
-
range: { max: 3, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: "
|
|
5479
|
+
range: { max: 3, min: 0.2, optimalMax: 2.5, optimalMin: 0.5, unit: "uIU/mL" },
|
|
5483
5480
|
sex: "F"
|
|
5484
5481
|
},
|
|
5485
5482
|
{
|
|
5486
5483
|
ageMin: 65,
|
|
5487
|
-
range: { max: 6, min: 0.4, optimalMax: 4, optimalMin: 1, unit: "
|
|
5484
|
+
range: { max: 6, min: 0.4, optimalMax: 4, optimalMin: 1, unit: "uIU/mL" },
|
|
5488
5485
|
sex: "all"
|
|
5489
5486
|
}
|
|
5490
5487
|
]
|
|
@@ -5922,12 +5919,23 @@ var biomarkerRangeDefinitions = {
|
|
|
5922
5919
|
// optimalMax 105 ← HbA1c 5,3 % (teto do controle ótimo)
|
|
5923
5920
|
// max 117 ← HbA1c 5,7 % (teto do não diabético → início do pré-diabetes)
|
|
5924
5921
|
// warningMax 137 ← HbA1c 6,4 % (teto do pré-diabetes → acima disso, diabetes)
|
|
5922
|
+
// optimalMin 82 ← HbA1c 4,5 % (piso do alvo fisiológico da entrada HbA1c)
|
|
5923
|
+
// min 11 ← HbA1c 2,0 % (mesmo piso de sanidade da entrada HbA1c)
|
|
5924
|
+
//
|
|
5925
|
+
// O piso era 70 nos dois campos, e não vinha desta conversão: 70 é o limite
|
|
5926
|
+
// inferior clássico da glicemia **de jejum**, transplantado para uma média
|
|
5927
|
+
// estimada de ~3 meses. Pela fórmula, 70 equivale a HbA1c 4,07 % — ou seja,
|
|
5928
|
+
// marcava como alterado exatamente quem a entrada `HbA1c` documenta que não
|
|
5929
|
+
// deve ser sinalizado, já que HbA1c baixa reflete hemólise, perda sanguínea
|
|
5930
|
+
// ou hemoglobinopatia, e não doença do metabolismo glicêmico. Espelhar o piso
|
|
5931
|
+
// do HbA1c mantém as duas entradas coerentes, que é o que o comentário sempre
|
|
5932
|
+
// afirmou fazer.
|
|
5925
5933
|
//
|
|
5926
5934
|
// Substitui a faixa anterior (optimalMax 126 = corte de glicemia de jejum;
|
|
5927
5935
|
// max 154 = meta terapêutica do diabético, HbA1c 7 %), que classificava como
|
|
5928
5936
|
// "Normal" valores já pré-diabéticos e diabéticos.
|
|
5929
5937
|
eAG: {
|
|
5930
|
-
default: { max: 117, min:
|
|
5938
|
+
default: { max: 117, min: 11, optimalMax: 105, optimalMin: 82, unit: "mg/dL", warningMax: 137 },
|
|
5931
5939
|
source: "sbd-diabetes-2024"
|
|
5932
5940
|
},
|
|
5933
5941
|
// INR - International Normalized Ratio (non-anticoagulated patients)
|
|
@@ -6165,7 +6173,7 @@ async function main() {
|
|
|
6165
6173
|
strict: false
|
|
6166
6174
|
});
|
|
6167
6175
|
if (values.version) {
|
|
6168
|
-
process.stdout.write(`${"0.16.
|
|
6176
|
+
process.stdout.write(`${"0.16.5"}
|
|
6169
6177
|
`);
|
|
6170
6178
|
return;
|
|
6171
6179
|
}
|
package/dist/converter.cjs
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
7
|
-
require('./chunk-
|
|
6
|
+
var _chunkSLTDA7DXcjs = require('./chunk-SLTDA7DX.cjs');
|
|
7
|
+
require('./chunk-73PI5ZLR.cjs');
|
|
8
8
|
require('./chunk-MJ254F5K.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
exports.labObservationToFHIR =
|
|
14
|
+
exports.labObservationToFHIR = _chunkSLTDA7DXcjs.labObservationToFHIR; exports.labReportToFHIR = _chunkSLTDA7DXcjs.labReportToFHIR; exports.labResultToFHIRBundle = _chunkSLTDA7DXcjs.labResultToFHIRBundle; exports.userProfileToFHIR = _chunkSLTDA7DXcjs.userProfileToFHIR;
|
|
15
15
|
//# sourceMappingURL=converter.cjs.map
|
package/dist/converter.js
CHANGED
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
labReportToFHIR,
|
|
4
4
|
labResultToFHIRBundle,
|
|
5
5
|
userProfileToFHIR
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-NFTHC3ZR.js";
|
|
7
|
+
import "./chunk-NMF7MNOP.js";
|
|
8
8
|
import "./chunk-R4MUCMO3.js";
|
|
9
9
|
export {
|
|
10
10
|
labObservationToFHIR,
|
package/dist/importer.cjs
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
require('./chunk-
|
|
7
|
+
var _chunkN5BYRLCCcjs = require('./chunk-N5BYRLCC.cjs');
|
|
8
|
+
require('./chunk-73PI5ZLR.cjs');
|
|
9
9
|
require('./chunk-3ILBFLVQ.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
@@ -13,5 +13,5 @@ require('./chunk-3ILBFLVQ.cjs');
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
exports.MAX_FILE_SIZE =
|
|
16
|
+
exports.MAX_FILE_SIZE = _chunkN5BYRLCCcjs.MAX_FILE_SIZE; exports.MAX_OBSERVATIONS = _chunkN5BYRLCCcjs.MAX_OBSERVATIONS; exports.extractObservationsFromBundle = _chunkN5BYRLCCcjs.extractObservationsFromBundle; exports.mapFHIRObservationToInternal = _chunkN5BYRLCCcjs.mapFHIRObservationToInternal; exports.processImportBundle = _chunkN5BYRLCCcjs.processImportBundle;
|
|
17
17
|
//# sourceMappingURL=importer.cjs.map
|
package/dist/importer.js
CHANGED
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
extractObservationsFromBundle,
|
|
5
5
|
mapFHIRObservationToInternal,
|
|
6
6
|
processImportBundle
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-UHF354DX.js";
|
|
8
|
+
import "./chunk-NMF7MNOP.js";
|
|
9
9
|
import "./chunk-N3ZCOLG2.js";
|
|
10
10
|
export {
|
|
11
11
|
MAX_FILE_SIZE,
|