El pipeline vive en
cli/data/pipeline_examples/triage.yml (con el bug corregido en este
documento — el archivo original declaraba los steps con name: en vez del obligatorio
id:, lo que hacía que tecsas3 pipe validate fallara con Paso 0 (None) falta: id, resource).Paso 1 — Inspeccionar el caso de uso
Los tres pasos que necesita el workflow son:- Listar pacientes con nivel de riesgo rojo. El endpoint
paciente listacepta el flag--riesgo(color del semáforo) y pagina los resultados con--page-size. La documentación del recurso está encli/src/tecsas3_cli/resources/paciente.py:165-203. - Pasar la lista a
ia ai-query. El recursoiaexponeai-query(ia.py:389-402) que recibe un prompt libre vía--preguntay devuelve la respuesta del proveedor configurado (Gemini por defecto). - Exportar a FHIR.
fhir export(fhir.py:120-138) acepta--formato fhiry opcionalmente--paciente(UUID) o--savepara guardar a disco.
Paso 2 — Crear el archivo del pipeline
Copia el bloque siguiente atriage.yml en tu directorio de trabajo:
id:en lugar dename:— el validador (pipeline.py:109-123) exige{"id", "resource", "command"}como mínimo. Renombrarnameaides la primera acción obligatoria.args:como mapa, no como lista — el orquestador expande cada parclave: valora--clave valor(ver_args_to_argv()enpipeline.py:84-106). Pasar una lista desnuda con strings sueltos no llega al parser de Typer.continue_on_error: trueen el export — si el export FHIR falla por un404 paciente_no_encontrado, queremos que el resumen IA siga siendo entregado.
Este pipeline requiere un tenant con
agent y plan configurados para acceder a
/api/ia/v2/. Verifica con tecsas3 --json --no-input auth whoami | jq '.tenant, .plan_id' antes de ejecutarlo. Si el plan devuelve null, el backend responderá
403 tenant_context_required en el step ia ai-query.Paso 3 — Validar antes de ejecutar
name: en vez de id: produce:
Paso 4 — Ejecutar y capturar todos los outputs
--output-all (recortada):
Paso 5 — Iterar y depurar
Tres flags cubren el 90% de los casos de depuración:
Para pipelines largos,
--output-all permite pipear la salida completa a jq y filtrar
por step, exit code o status:
Errores comunes y cómo se manifiestan
Próximos pasos
- Combina este pipeline con
batch runpara ingestar los pacientes resultantes en otro tenant. - Versiona los pipelines en git y valídalos en CI con
tecsas3 pipe validate. - Para prompts ricos, pasa el output completo como string multilínea con YAML
|(como en el ejemplo detriage_summary).
Referencias
cli/src/tecsas3_cli/resources/pipeline.py:46-65— resolución de placeholderscli/src/tecsas3_cli/resources/pipeline.py:109-123—_validate_steps()(campos mínimos)cli/src/tecsas3_cli/resources/paciente.py:165-203—paciente listcon--riesgocli/src/tecsas3_cli/resources/ia.py:389-402—ia ai-querycli/src/tecsas3_cli/resources/fhir.py:120-138—fhir exportcon--formato fhircli/data/pipeline_examples/triage.yml— origen del pipeline (con bug a corregir)