Mostrando entradas con la etiqueta diente. Mostrar todas las entradas
Mostrando entradas con la etiqueta diente. Mostrar todas las entradas

jueves, 14 de agosto de 2025

Estructura JSON de un diente para periodontograma


Notación

En este artículo se usa la siguiente notación: ps es "profundidad de sondaje" y mg es "margen gingival". bop es "bleeding on probe", que es si hay sangrado. Los primeros 2 son valores numéricos, el último es un verdadero/falso.

Consigna: Estructura de Datos

Crea una estructura de datos JSON que represente un solo diente (usando la numeración universal de los dientes, por ejemplo, el 11 para el incisivo central superior derecho). Esta estructura debe capturar los siguientes datos:

  • El número del diente.

  • Un valor booleano para indicar si el diente está ausente.

  • Un grado de movilidad (un número del 0 al 3).

  • Los seis puntos de medición (tres en la cara vestibular y tres en la cara lingual) con los siguientes datos para cada punto:

    • Profundidad de sondaje (ps) en milímetros (un número entero).

    • Margen gingival (mg) en milímetros (un número entero).

    • Sangrado (bop - Bleeding on Probing), un valor booleano.


Respuesta

{
"numero": number, // Número del diente (11-48)
"ausente": boolean, // Indica si el diente está ausente
"movilidad": number, // Grado de movilidad (0-3)
"vestibular": {
"distal": { "ps": number, "mg": number, "sangrado": boolean },
"media": { "ps": number, "mg": number, "sangrado": boolean },
"mesial": { "ps": number, "mg": number, "sangrado": boolean }
},
"lingual": {
"distal": { "ps": number, "mg": number, "sangrado": boolean },
"media": { "ps": number, "mg": number, "sangrado": boolean },
"mesial": { "ps": number, "mg": number, "sangrado": boolean }
},
"mesial": {
"distal": { "ps": number, "mg": number, "sangrado": boolean },
"media": { "ps": number, "mg": number, "sangrado": boolean },
"mesial": { "ps": number, "mg": number, "sangrado": boolean }
},
"distal": {
"distal": { "ps": number, "mg": number, "sangrado": boolean },
"media": { "ps": number, "mg": number, "sangrado": boolean },
"mesial": { "ps": number, "mg": number, "sangrado": boolean }
},
"incisalOclusal": {
"distal": { "ps": number, "mg": number, "sangrado": boolean },
"media": { "ps": number, "mg": number, "sangrado": boolean },
"mesial": { "ps": number, "mg": number, "sangrado": boolean }
}
}

Devolución de la respuesta

La estructura de datos que propones es un excelente punto de partida. Es un buen intento, pero tiene algunas partes que se pueden mejorar.


Análisis de tu respuesta

Tu respuesta captura la idea central de una estructura de datos anidada para un diente. Sin embargo, hay un par de detalles cruciales para una implementación realista:

  • Puntos de medición: Mencionas vestibular, lingual, mesial, distal, e incisalOclusal como caras, cada una con 3 puntos de medición. En la práctica clínica, la convención es que se miden 6 puntos: 3 en la cara vestibular (mesial-vestibular, vestibular, distal-vestibular) y 3 en la cara lingual o palatina (mesial-lingual/palatina, lingual/palatina, distal-lingual/palatina). La profundidad de sondaje y el margen gingival no se miden en las caras mesial, distal u oclusal/incisal por separado, sino en esos 6 puntos alrededor del perímetro del diente.

  • Identificación de los datos: Utilizas number y boolean como placeholders, lo cual es correcto, pero un ejemplo con datos reales sería más claro para un futuro desarrollador.


Solución propuesta

Aquí tienes una estructura de datos más precisa y optimizada, siguiendo la convención de las mediciones clínicas. Se simplifica el anidamiento para facilitar la gestión del estado en el frontend.

{
"numero": 11,
"ausente": false,
"movilidad": 1, // Escala de 0 a 3
"caras": {
"vestibular": {
"mesial": { "ps": 4, "mg": 2, "bop": true },
"media": { "ps": 3, "mg": 1, "bop": false },
"distal": { "ps": 4, "mg": 2, "bop": true }
},
"lingual": {
"mesial": { "ps": 5, "mg": 3, "bop": true },
"media": { "ps": 4, "mg": 2, "bop": true },
"distal": { "ps": 5, "mg": 3, "bop": false }
}
}
}

Esta estructura es más compacta y representa de forma más precisa la forma en que los datos se recogen.

Referencias: Caras de los dientes | tercios dentales | odontología con Cri