Files
anatomia/data-pipeline/scripts/bone-descriptions.mjs
T

210 lines
13 KiB
JavaScript

// Descrições funcionais dos 206 ossos do esqueleto humano, em PT-BR,
// simplificadas no estilo dos atlas Netter e Sobotta (função + principais
// articulações, sem jargão excessivo — pensado pra revisão rápida de
// prova). Chave = mesma chave EXATA usada em skeletal-whitelist.mjs
// (nome bruto em inglês, sem sufixo de lateralidade), já que a descrição é
// igual para o osso esquerdo e o direito.
//
// Ossos em série (vértebras, costelas, metacarpais/metatarsais, falanges)
// usam texto gerado por função pra manter as ~90 entradas repetitivas
// consistentes e sem erro de digitação, mas com a variação real de cada
// posição (ex: C7 = vértebra proeminente, T1-T12 articulam com costelas).
export const BONE_DESCRIPTIONS = {
// ---- Crânio: neurocrânio ----
"Frontal bone":
"Forma a testa, o teto das órbitas e parte da fossa craniana anterior; protege os lobos frontais do encéfalo.",
"Parietal bone":
"Forma a maior parte do teto e das paredes laterais do crânio (calvária); protege o encéfalo por cima.",
"Temporal bone":
"Aloja o ouvido médio e interno e forma parte da base do crânio; contém a fossa mandibular (articulação temporomandibular) e o processo mastoide, onde se inserem músculos do pescoço.",
"Occipital bone":
"Forma a parte posterior e inferior do crânio; o forame magno, por onde a medula espinhal se continua com o encéfalo, está nele.",
"Sphenoid bone":
"Osso central da base do crânio, em forma de borboleta; abriga a hipófise (sela túrcica) e serve de ponto de ancoragem para vários músculos da mastigação.",
"Ethmoid bone":
"Fica entre as órbitas, formando parte do septo e das paredes laterais do nariz; sua lâmina crivosa permite a passagem dos nervos olfatórios.",
// ---- Crânio: esqueleto facial ----
"Nasal bone": "Forma a ponte (dorso) do nariz, dando suporte à sua porção óssea.",
Maxilla:
"Forma a maior parte do esqueleto facial médio: sustenta os dentes superiores, o palato duro e parte do assoalho da órbita e do nariz.",
"Zygomatic bone":
"Forma a proeminência da bochecha (osso malar) e parte da margem lateral e do assoalho da órbita.",
"Lacrimal bone":
"Pequeno osso na parede medial da órbita que aloja o saco lacrimal, por onde as lágrimas escoam para o nariz.",
"Palatine bone":
"Forma a parte posterior do palato duro (céu da boca) e parte da parede lateral do nariz e do assoalho da órbita.",
"Inferior nasal concha bone":
"Lâmina óssea curva dentro da cavidade nasal que aumenta a superfície de contato para aquecer e umidificar o ar inspirado.",
Vomer: "Osso fino e plano que forma a parte posteroinferior do septo nasal, dividindo as narinas.",
Mandible:
"Único osso móvel do crânio; sustenta os dentes inferiores e forma a articulação temporomandibular — essencial para mastigação e fala.",
// ---- Ossículos da audição ----
Malleus:
"O maior dos três ossículos da audição; recebe a vibração do tímpano e a transmite à bigorna.",
Incus: "Ossículo intermediário da cadeia auditiva, entre o martelo e o estribo.",
Stapes:
"Menor osso do corpo humano; sua base encaixa na janela oval e transmite a vibração sonora ao ouvido interno.",
// ---- Osso hioide ----
"Hyoid bone":
"Único osso do corpo que não se articula diretamente com nenhum outro; suspenso por músculos e ligamentos no pescoço, serve de apoio à língua, à faringe e à laringe durante a deglutição e a fala.",
// ---- Caixa torácica ----
Sternum:
"Osso plano na linha média anterior do tórax; articula-se com as clavículas e as cartilagens costais, protegendo coração e grandes vasos.",
// ---- Cíngulo do membro superior ----
Clavicle:
"Único elo ósseo entre o membro superior e o tronco; transmite forças do braço para o esqueleto axial e protege vasos e nervos que passam sob ela.",
Scapula:
"Osso triangular e plano na face posterior do tórax; sua cavidade glenoide forma a articulação do ombro e serve de origem/inserção para vários músculos do ombro e do dorso.",
// ---- Membro superior livre: braço e antebraço ----
Humerus:
"Osso do braço; sua cabeça forma a articulação do ombro e sua extremidade distal, a do cotovelo — serve de origem/inserção para os músculos do braço.",
Radius:
"Osso lateral do antebraço (lado do polegar); gira sobre a ulna para permitir a pronação e a supinação da mão.",
Ulna: "Osso medial do antebraço; sua extremidade proximal (olécrano) forma a principal articulação-dobradiça do cotovelo.",
// ---- Carpo ----
"Scaphoid bone":
"O maior osso da fileira proximal do carpo; osso mais fraturado do punho, importante na estabilidade e no movimento do punho.",
"Lunate bone":
"Osso do carpo em forma de lua crescente; articula-se diretamente com o rádio, sendo central no movimento do punho.",
"Triquetrum bone": "Osso do carpo na borda medial da fileira proximal, articula-se com o disco articular do punho.",
"Pisiform bone":
"Pequeno osso sesamoide do carpo, embutido no tendão do flexor ulnar do carpo; funciona como polia para esse tendão.",
"Trapezium bone":
"Osso do carpo que se articula com o 1º metacarpal, formando a articulação em sela que dá ao polegar seu grande leque de movimento.",
"Trapezoid bone": "Pequeno osso do carpo entre o trapézio e o capitato, articula-se com o 2º metacarpal.",
"Capitate bone": "O maior osso do carpo, no centro da mão; funciona como o principal ponto fixo do carpo.",
"Hamate bone":
"Osso do carpo com um gancho ósseo (hâmulo) que serve de ponto de fixação para ligamentos e músculos da mão.",
// ---- Cíngulo e membro inferior ----
"Hip bone":
"Osso formado pela fusão de ílio, ísquio e púbis; une o membro inferior à coluna vertebral (pela articulação sacroilíaca) e forma o acetábulo, encaixe da cabeça do fêmur.",
Femur:
"Osso mais longo e forte do corpo; sua cabeça forma a articulação do quadril e seus côndilos distais, a do joelho.",
Patella:
"Maior osso sesamoide do corpo, embutido no tendão do quadríceps; aumenta a alavanca do quadríceps ao estender o joelho e protege a articulação.",
Tibia:
"Osso medial da perna, o principal a sustentar o peso do corpo abaixo do joelho; forma a articulação do joelho proximalmente e do tornozelo distalmente.",
Fibula:
"Osso lateral e fino da perna; não sustenta peso diretamente, mas estabiliza o tornozelo (maléolo lateral) e serve de origem muscular.",
// ---- Tarso ----
Talus:
"Único osso do tarso que se articula com a tíbia e a fíbula, formando o tornozelo; transmite o peso do corpo para o calcâneo e o resto do pé.",
Calcaneus:
"O maior osso do tarso, forma o calcanhar; serve de alavanca para o tendão do calcâneo (Aquiles) na propulsão da marcha.",
"Navicular bone": "Osso do tarso entre o tálus e os cuneiformes, importante no arco longitudinal medial do pé.",
"Medial cuneiform bone": "Osso do tarso que se articula com o 1º metatarsal, participando do arco do pé.",
"Intermediate cuneiform bone": "Osso do tarso entre os cuneiformes medial e lateral, articula-se com o 2º metatarsal.",
"Lateral cuneiform bone": "Osso do tarso que se articula com o 3º metatarsal.",
"Cuboid bone": "Osso do tarso na borda lateral do pé, articula-se com o 4º e 5º metatarsais e sustenta parte do arco lateral do pé.",
};
const ORDINAL_PT = {
first: "1º", second: "2º", third: "3º", fourth: "4º", fifth: "5º",
sixth: "6º", seventh: "7º", eighth: "8º", ninth: "9º", tenth: "10º",
eleventh: "11º", twelfth: "12º",
};
// ---- Vértebras (26): descrição por região + nota específica do nível ----
const CERVICAL_NOTE = {
"Vertebra C3": "", "Vertebra C4": "", "Vertebra C5": "", "Vertebra C6": "",
"Vertebra C7":
" É a vértebra proeminente: seu processo espinhoso longo e pouco bífido é facilmente palpável na base do pescoço, servindo de referência anatômica.",
};
for (const [key, note] of Object.entries(CERVICAL_NOTE)) {
BONE_DESCRIPTIONS[key] =
`Vértebra cervical; seus forames transversos dão passagem à artéria vertebral e seu corpo pequeno reflete a menor carga de peso nessa região, priorizando mobilidade do pescoço.${note}`;
}
for (let i = 1; i <= 12; i++) {
const key = `Vertebra T${i}`;
BONE_DESCRIPTIONS[key] =
"Vértebra torácica; articula-se com um par de costelas (facetas costais), o que limita sua mobilidade e a torna parte estável da caixa torácica.";
}
for (let i = 1; i <= 5; i++) {
const key = `Vertebra L${i}`;
BONE_DESCRIPTIONS[key] =
"Vértebra lombar; corpo grande e robusto, adaptado para sustentar a maior parte do peso do tronco.";
}
BONE_DESCRIPTIONS["Atlas (C1)"] =
"Primeira vértebra cervical; não tem corpo nem processo espinhoso — é um anel ósseo que sustenta o crânio e permite o movimento de acenar 'sim' com a cabeça (articulação atlanto-occipital).";
BONE_DESCRIPTIONS["Axis (C2)"] =
"Segunda vértebra cervical; seu processo odontoide (dente) encaixa no atlas e forma o eixo em torno do qual a cabeça gira lateralmente, como ao acenar 'não'.";
BONE_DESCRIPTIONS["Sacrum"] =
"Formado pela fusão de 5 vértebras sacrais; conecta a coluna vertebral à pelve pelas articulações sacroilíacas, transmitindo o peso do tronco aos membros inferiores.";
BONE_DESCRIPTIONS["Coccyx"] =
"Remanescente da cauda, formado pela fusão de 3 a 5 vértebras rudimentares; serve de inserção para ligamentos e músculos do assoalho pélvico.";
// ---- Costelas (12 pares) ----
const RIB_ORDINALS = ["First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth"];
for (const ord of RIB_ORDINALS) {
const key = `${ord} rib`;
const n = RIB_ORDINALS.indexOf(ord) + 1;
const numPt = ORDINAL_PT[ord.toLowerCase()];
let nota;
if (n === 1) nota = "É a costela mais curta e mais curvada, com sulcos para os vasos subclávios logo acima da 1ª costela.";
else if (n <= 7) nota = "É uma costela verdadeira: sua cartilagem costal se articula diretamente com o esterno.";
else if (n <= 10) nota = "É uma costela falsa: sua cartilagem se une à cartilagem da costela acima em vez de tocar o esterno diretamente.";
else nota = "É uma costela flutuante: não tem conexão anterior com o esterno, terminando livre na musculatura da parede abdominal.";
BONE_DESCRIPTIONS[key] =
`${numPt} costela; junto às demais, forma a caixa torácica, protegendo coração e pulmões e participando dos movimentos respiratórios. ${nota}`;
}
// ---- Metacarpais e metatarsais ----
const HAND_FINGER_NOTE = {
first: "corresponde ao polegar — sua base tem formato em sela, permitindo o grande leque de movimento característico do polegar humano",
second: "corresponde ao dedo indicador",
third: "corresponde ao dedo médio",
fourth: "corresponde ao dedo anelar",
fifth: "corresponde ao dedo mínimo",
};
for (const ord of ["first","second","third","fourth","fifth"]) {
const cap = ord[0].toUpperCase() + ord.slice(1);
BONE_DESCRIPTIONS[`${cap} metacarpal bone`] =
`Osso longo da palma da mão; forma a articulação metacarpofalângica com o dedo correspondente e ${HAND_FINGER_NOTE[ord]}.`;
}
const FOOT_TOE_NOTE = {
first: "corresponde ao hálux (dedão do pé), o principal ponto de apoio na fase final da passada",
second: "corresponde ao 2º dedo do pé",
third: "corresponde ao 3º dedo do pé",
fourth: "corresponde ao 4º dedo do pé",
fifth: "corresponde ao 5º dedo do pé",
};
for (const ord of ["first","second","third","fourth","fifth"]) {
const cap = ord[0].toUpperCase() + ord.slice(1);
BONE_DESCRIPTIONS[`${cap} metatarsal bone`] =
`Osso longo do meio do pé; ${FOOT_TOE_NOTE[ord]} e participa do arco transverso do pé.`;
}
// ---- Falanges (mão e pé) ----
const HAND_DIGIT_LABEL = {
first: "polegar", second: "2º dedo da mão", third: "3º dedo da mão",
fourth: "4º dedo da mão", fifth: "5º dedo da mão",
};
const FOOT_DIGIT_LABEL = {
first: "hálux", second: "2º dedo do pé", third: "3º dedo do pé",
fourth: "4º dedo do pé", fifth: "5º dedo do pé",
};
function phalanxText(segment, digitLabel) {
const seg = { proximal: "mais próxima da mão/pé", middle: "intermediária", distal: "na ponta do dedo, onde se insere a unha" }[segment];
return `Falange ${segment === "proximal" ? "proximal" : segment === "middle" ? "média" : "distal"} do ${digitLabel} — ossinho ${seg}; falanges se articulam entre si para permitir a flexão/extensão dos dedos.`;
}
for (const [ord, label] of Object.entries(HAND_DIGIT_LABEL)) {
const cap = ord[0].toUpperCase() + ord.slice(1);
BONE_DESCRIPTIONS[`Proximal phalanx of ${ord} finger of hand`] = phalanxText("proximal", label);
if (ord !== "first") BONE_DESCRIPTIONS[`Middle phalanx of ${ord} finger of hand`] = phalanxText("middle", label);
BONE_DESCRIPTIONS[`Distal phalanx of ${ord} finger of hand`] = phalanxText("distal", label);
}
for (const [ord, label] of Object.entries(FOOT_DIGIT_LABEL)) {
BONE_DESCRIPTIONS[`Proximal phalanx of ${ord} finger of foot`] = phalanxText("proximal", label);
if (ord !== "first") BONE_DESCRIPTIONS[`Middle phalanx of ${ord} finger of foot`] = phalanxText("middle", label);
BONE_DESCRIPTIONS[`Distal phalanx of ${ord} finger of foot`] = phalanxText("distal", label);
}