# US-MMD003-001: Registrar Diagnostico Computarizado ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD003-001 | | **Epica** | EPIC-MMD-003 - Diagnosticos | | **Modulo** | diagnosticos | | **Prioridad** | P0 | | **Story Points** | 8 | | **Sprint** | Sprint 3 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** mecanico, **quiero** registrar los codigos de error (DTC) obtenidos del scanner, **para** documentar las fallas detectadas y tener historial de diagnosticos. ## Descripcion Detallada El mecanico conecta el scanner al vehiculo y obtiene codigos de falla (DTC - Diagnostic Trouble Codes). Estos codigos deben registrarse en el sistema con su descripcion, sistema afectado y gravedad. --- ## Criterios de Aceptacion **Escenario 1: Agregar codigo DTC** ```gherkin DADO que realizo un escaneo del vehiculo CUANDO agrego el codigo "P0201" ENTONCES el sistema muestra: | Codigo | P0201 | | Descripcion | Inyector Cilindro 1 - Circuito Abierto | | Sistema | Inyeccion | | Gravedad | Critico | Y se agrega a la lista de codigos encontrados ``` **Escenario 2: Agregar multiples codigos** ```gherkin DADO que el vehiculo tiene varias fallas CUANDO agrego codigos: P0201, P0300, P0171 ENTONCES todos se agregan al diagnostico Y veo resumen de fallas por sistema ``` **Escenario 3: Marcar codigo como resuelto** ```gherkin DADO que repare la falla P0201 CUANDO marco el codigo como "Resuelto" ENTONCES el codigo cambia de estado Y se registra fecha de resolucion ``` **Escenario 4: Buscar codigo en base de datos** ```gherkin DADO que quiero buscar un codigo CUANDO escribo "P02" ENTONCES el sistema sugiere codigos que inician con P02 Y muestra descripcion de cada uno ``` **Escenario 5: Registrar freeze frame** ```gherkin DADO que el codigo tiene datos congelados CUANDO registro freeze frame: | RPM | 2500 | | Temp Motor | 92C | | Carga | 65% | ENTONCES se guarda junto al codigo ``` --- ## Codigos DTC Comunes Diesel | Codigo | Descripcion | Sistema | |--------|-------------|---------| | P0087 | Presion riel combustible baja | Inyeccion | | P0088 | Presion riel combustible alta | Inyeccion | | P0201-P0208 | Circuito inyector cil 1-8 | Inyeccion | | P0300 | Multiples cilindros - falla | Motor | | P0401 | EGR flujo insuficiente | Emision | | P0404 | EGR rango/rendimiento | Emision | | P2146 | Inyector grupo A - circuito | Inyeccion | | P2263 | Turbo - rendimiento | Turbo | --- ## Tareas Tecnicas **Database:** - [ ] DB-030: Crear tabla `diagnostics` en schema `service_management` - [ ] DB-031: Crear tabla `diagnostic_dtc` para codigos - [ ] DB-032: Crear tabla `dtc_catalog` con codigos conocidos - [ ] DB-033: Cargar catalogo de codigos DTC diesel **Backend:** - [ ] BE-070: Crear DiagnosticEntity - [ ] BE-071: Crear DiagnosticDtcEntity - [ ] BE-072: Endpoint POST /api/diagnostics - [ ] BE-073: Endpoint POST /api/diagnostics/:id/dtc - [ ] BE-074: Busqueda de codigos en catalogo **Frontend:** - [ ] FE-070: Crear DiagnosticForm component - [ ] FE-071: Crear DtcInput con autocompletado - [ ] FE-072: Crear DtcList component - [ ] FE-073: Crear FreezeFrameForm --- ## Dependencias **Depende de:** - [ ] MMD-001: Fundamentos - [ ] MMD-005: Vehiculos (vinculado a vehiculo) **Bloquea:** - [ ] US-MMD003-006: Recomendaciones --- ## Definition of Done (DoD) - [ ] Agregar codigos DTC - [ ] Busqueda con autocompletado - [ ] Registro de freeze frame - [ ] Marcar como resuelto - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06