Fix profesional/especialidad: use MEDICO.CODIGO first, add config defaults
- SQL query now prioritizes MEDICO.CODIGO over RECEPCION.USUARIO as profesional (USUARIO is the billing clerk; MEDICO is the medical professional) - Add profesional_default and especialidad_default config keys for when Firebird data is empty or contains invalid values (e.g. especialidad = ".") - generar_rda_paciente accepts default_profesional and default_especialidad params - ensure_defaults in queries.py now updates existing query records on startup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
fbdce1c790
commit
c70f0f1062
@@ -51,7 +51,7 @@ WHERE p.DOCIDENT = :doc_num""",
|
||||
rel.PRECIO,
|
||||
rel.FECHA_REPORTADO,
|
||||
m.COD_ESPECIALIDAD,
|
||||
COALESCE(NULLIF(TRIM(r.USUARIO), ''), TRIM(m.CODIGO), '') AS profesional
|
||||
COALESCE(NULLIF(TRIM(m.CODIGO), ''), NULLIF(TRIM(r.USUARIO), ''), '') AS profesional
|
||||
FROM RECEPCION r
|
||||
JOIN RELACION rel ON rel.IDRECEPCION = r.IDRECEPCION
|
||||
LEFT JOIN MEDICO m ON m.CODIGO = r.COD_MEDICO
|
||||
@@ -79,7 +79,7 @@ WHERE r.NUM_FACTURA = :num_factura""",
|
||||
rel.PRECIO,
|
||||
rel.FECHA_REPORTADO,
|
||||
m.COD_ESPECIALIDAD,
|
||||
COALESCE(NULLIF(TRIM(r.USUARIO), ''), TRIM(m.CODIGO), '') AS profesional
|
||||
COALESCE(NULLIF(TRIM(m.CODIGO), ''), NULLIF(TRIM(r.USUARIO), ''), '') AS profesional
|
||||
FROM RECEPCION r
|
||||
JOIN RELACION rel ON rel.IDRECEPCION = r.IDRECEPCION
|
||||
LEFT JOIN MEDICO m ON m.CODIGO = r.COD_MEDICO
|
||||
@@ -101,6 +101,11 @@ def ensure_defaults():
|
||||
"INSERT INTO queries (name, query_type, query_text, description) VALUES (?, ?, ?, ?)",
|
||||
(q["name"], q["query_type"], q["query_text"], q["description"]),
|
||||
)
|
||||
else:
|
||||
conn.execute(
|
||||
"UPDATE queries SET query_text = ?, description = ? WHERE name = ?",
|
||||
(q["query_text"], q["description"], q["name"]),
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user