{% extends 'app_base.html' %}{% block content %}

Agenda

Controle completo do atendimento: confirmação, chegada, atendimento, reagendamento, falta, cancelamento e histórico.

{% for a in appointments %}{% set charge = charges.values()|selectattr('appointment_id','equalto',a.id)|rejectattr('status','equalto','CANCELADO')|first %} {% else %}{% endfor %}
DataPacienteServiçoProfissionalStatusValorFinanceiroAções
{{ a.date }}
{{ a.time or '—' }}
{{ a.patient_name }}{% if a.reschedule_count %}
Reagendado {{ a.reschedule_count }}x
{% endif %}
{{ a.service_name or '—' }}{{ a.professional_name or '—' }}{{ a.status }}R$ {{ a.value or '0.00' }}{% if charge %}{{ charge.status }} · R$ {{ charge.balance_amount }}{% elif 'finance' in session_user.permissions and a.status not in ['Cancelado','Faltou'] %}
{% else %}—{% endif %}
{% if a.status=='Agendado' %}
{% endif %}{% if a.status not in ['Concluído','Cancelado','Faltou'] %}{% endif %}
Nenhum agendamento.
{% macro form_fields(a=None,new=false) -%}
Falta e cancelamento usam ações próprias para preservar motivo e histórico.
{% if new and 'finance' in session_user.permissions %}{% endif %}
{%- endmacro %}

Novo agendamento

{{ form_fields(None,true) }}

O ClinicOS verifica conflito de horário do profissional antes de gravar.

{% for a in appointments %}

{{ a.patient_name }}

{{ a.date }} às {{ a.time or '—' }} · {{ a.professional_name or 'Sem profissional' }}
Serviço{{ a.service_name or '—' }}
Status{{ a.status }}
Unidade{{ a.unit or '—' }}
ValorR$ {{ a.value or '0.00' }}
{% if a.notes %}
Observações

{{ a.notes }}

{% endif %}

Fluxo do atendimento

{% if a.status not in ['Confirmado','Chegou','Em atendimento','Concluído','Cancelado','Faltou'] %}
{% endif %} {% if a.status in ['Agendado','Confirmado'] %}
{% endif %} {% if a.status in ['Agendado','Confirmado','Chegou'] %}
{% endif %} {% if a.status in ['Agendado','Confirmado','Chegou','Em atendimento'] %}
{% endif %}
{% if 'patients' in session_user.permissions %}Abrir paciente{% if 'records' in session_user.permissions %} / prontuário{% endif %}{% endif %}

Histórico

{% for h in (a.history or [])|reverse %}
{{ h.action }}
{{ h.at }} · {{ h.actor or 'Sistema' }}
{% if h.details %}
{{ h.details }}
{% endif %}
{% else %}
Sem eventos anteriores registrados.
{% endfor %}

Editar agendamento

{{ form_fields(a,false) }}
{% if a.status not in ['Concluído','Cancelado','Faltou'] %}

Reagendar consulta

{{ a.patient_name }}
Atual: {{ a.date }} às {{ a.time }}

Registrar falta

Registrar que {{ a.patient_name }} não compareceu?

Cancelar agendamento

{{ a.patient_name }} · {{ a.date }} {{ a.time }}

{% endif %} {% endfor %} {% endblock %}