Ir al contenido principal

Entradas

Mostrando entradas de julio, 2026

La IA trabaja en Propuesta de Tratamiento (parte 2)

 No quiero la optimización del acceso a la tabla prestaciones que has propuesto. Por favor te voy a pedir que organicemos el trabajo que nos queda pendiente. Me parece una muy buena idea. De hecho, creo que llegamos a un punto donde conviene dejar de diseñar "por inspiración" y empezar a trabajar con una hoja de ruta. Lo que considero terminado Módulo Odontograma ✅ Migraciones ✅ Modelo ✅ Control de concurrencia ( revision ) ✅ Documento JSON ✅ API de actualización ✅ schema_version ✅ TratamientoSeleccionadoParaPropuesta ✅ Métodos auxiliares del modelo ( tratamientosSeleccionadosParaPropuesta() , desmarcarTratamientosParaPropuesta() ) Catálogo ✅ Migración prestaciones ✅ Modelo ✅ Enum PrestacionId ✅ Seeder Propuestas de tratamiento ✅ Migración tratamiento_propuestas ✅ Modelo ✅ Enum TratamientoPropuestaEstado Ítems de propuesta ✅ Migración ✅ Modelo Diseño funcional ✅ Flujo completo consensuado. ✅ Estados. ✅ Estrategi...

Implementación de módulo Propuesta de Tratamiento (presupuesto) (haciendo que la IA genere código)

 Quiero EmitirTratamientoPropuestaAction. Antes de escribir una sola línea de código, quiero detenerme porque creo que llegamos al punto donde se define la arquitectura del sistema. Y en este punto me falta información importante . Si implemento la acción hoy, voy a tener que inventar reglas de negocio, y prefiero que esas reglas las definamos nosotros. La acción EmitirTratamientoPropuestaAction es, en mi opinión, el caso de uso más importante del módulo. Va a modificar simultáneamente: el odontograma, la tabla tratamiento_propuestas , la tabla tratamiento_propuesta_items , el contador de números de propuesta. Todo eso debe ocurrir dentro de una única transacción. Por eso necesito que me respondas estas cuestiones antes de implementarla. ¿Qué parámetro recibe la Action? ¿Cuál de estas opciones preferís? A. Paciente $paciente B. Odontograma $odontograma C. int $pacienteId D. otro (indicá cuál) ¿Qué devuelve? A. TratamientoPropuesta B. DT...

Documentación del sistema: narrativa de flujo de negocio y de interacción (parte 6)

Esta es la última publicación de esta serie. La IA ya está generando artefactos de codebase que no me aporta nada publicándolos, siendo que irá todo a parar al codebase de mi proyecto que es el lugar donde debe estar. Ni que hablar que el contenido de la publicación ya ha quedado desfasado con respecto al título de la misma: esto ya no se trata de la narrativa del flujo de negocio ni de la interacción.  Estoy de acuerdo con el orden que has establecido. Quiero que hagas la migración de prestaciones. Perfecto. Voy a hacerla siguiendo todas las decisiones que ya tomamos, sin introducir nuevas. <?php use Illuminate\Database\Migrations\ Migration ; use Illuminate\Database\Schema\ Blueprint ; use Illuminate\Support\Facades\ Schema ; return new class extends Migration { /** * Run the migrations. */ public function up (): void { Schema :: create ( 'prestaciones' , function ( Blueprint $table ) { // Código único e inmutable de la ...

Documentación del sistema: narrativa de flujo de negocio y de interacción (parte 5)

 Te voy a pasar las definiciones para las migraciones. A menos que detectes un error de severidad alta, no me respondas hasta que yo te avise de que haya terminado de dar toda la información, la cual daré en varios mensajes. Entendido. No responderé a cada mensaje mientras vayas enviando las definiciones. Solo interrumpiré si detecto un problema de severidad alta que haga inviable o muy riesgoso el diseño. Cuando me indiques que terminaste de enviar toda la información, haré una revisión integral y te devolveré observaciones y, si corresponde, propuestas de mejora. La tabla prestaciones queda definida de la siguiente manera: ¿Qué significa a, b y c? Significa: a. Nombre del campo b. Descripción/observaciones c. Tipo de dato CAMPO 1 a. id b. código de prestación, que sea un string o un enum si lo permite mysql. PK c. string o enum de strings CAMPO 2 a. nombre b. Nombre visible c. varchar (60) CAMPO 3 a. precio_base b. Valor sugerido c. moneda argentina con 2 decimales CAMPO 4 a. tim...