Agrega filtro convenio en automation/transaccion/test-rda y fix particular (contrato 12)
- automation: filtro contrato en SQL pacientes+RDA, numero LHXC en run() - transaccion: filtro contrato en preview/send-one/send - test-rda: filtro tipo_usuario (11/07/12), default contrato "12", acepta "12"/"012" - json_generator: detecta particular por CODCONTRATO "12"/"012" además de NIT_EMPRESA PART; fuerza tipousuario="12", codFormaPago="CLIP", plazoDias="0" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
d7afbe9b7d
commit
69372a5673
@@ -142,17 +142,24 @@ def generar_rda_paciente(rows: list, default_profesional: str = "", default_espe
|
||||
autorizacion = str(h.get("AUTORIZACION") or "").strip() or None
|
||||
|
||||
nit_empresa = str(h.get("NIT_EMPRESA") or "").strip()
|
||||
es_particular = nit_empresa.upper() in ("PART", "PARTICULAR", "", "0")
|
||||
cod_contrato = str(h.get("CODCONTRATO") or "").strip() or None
|
||||
# Códigos configurados en TNS para este laboratorio (GET /v2/tablas/FormaPago/ObtenerFormasDePago)
|
||||
cod_contrato_raw = str(h.get("CODCONTRATO") or "").strip()
|
||||
# Particular: por NIT_EMPRESA "PART" o por contrato "12"/"012"
|
||||
es_particular = (
|
||||
nit_empresa.upper() in ("PART", "PARTICULAR", "", "0")
|
||||
or cod_contrato_raw.lstrip("0") == "12"
|
||||
)
|
||||
cod_contrato = cod_contrato_raw or ("12" if es_particular else None)
|
||||
cod_forma_pago = "CLIP" if es_particular else "INST"
|
||||
|
||||
# tipousuario: usar TIPOUSUSISPRO; si es NULL derivar de TIPOUSU + NIT_EMPRESA
|
||||
# tipousuario: particular siempre "12"; para convenios usar TIPOUSUSISPRO o derivar
|
||||
_TIPOUSU_MAP = {"1": "11", "5": "07"} # EPS→11, Póliza→07
|
||||
tipoususispro = str(h.get("TIPOUSUSISPRO") or "").strip()
|
||||
if not tipoususispro:
|
||||
tipousu = str(h.get("TIPOUSU") or "").strip()
|
||||
tipoususispro = _TIPOUSU_MAP.get(tipousu, "12" if es_particular else "11")
|
||||
if es_particular:
|
||||
tipoususispro = "12"
|
||||
else:
|
||||
tipoususispro = str(h.get("TIPOUSUSISPRO") or "").strip()
|
||||
if not tipoususispro:
|
||||
tipousu = str(h.get("TIPOUSU") or "").strip()
|
||||
tipoususispro = _TIPOUSU_MAP.get(tipousu, "11")
|
||||
|
||||
# viaIngreso y modalidadAtencion no existen en RECEPCION → valores fijos de laboratorio
|
||||
via_ingreso = "01" # Demanda espontánea (pacientes llegan directo al lab)
|
||||
|
||||
Reference in New Issue
Block a user