> For the complete documentation index, see [llms.txt](https://docs.voa.health/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voa.health/integracao/tiss/tutoriais/06-operadora-simulada.md).

# Operadora simulada

Envie um lote sintético, consulte o demonstrativo e interprete as decisões sem acesso à rede.

[Abrir no GitHub](https://github.com/Voa-Health/tiss/blob/main/docs/tutoriais/06-operadora-simulada.ipynb) · [Abrir no Colab](https://colab.research.google.com/github/Voa-Health/tiss/blob/main/docs/tutoriais/06-operadora-simulada.ipynb)

Envie um lote sintético, consulte o demonstrativo e interprete as decisões sem acesso à rede.

```python
from tiss import examples, parse_demonstrativo, validate
from tiss.sandbox import demonstrativo, enviar_lote

lote = examples.load("lote-valido")
resposta = enviar_lote(lote)
assert resposta["aceito"]
protocolo = resposta["protocolo"]
resposta["numero_protocolo"]
```

```
'287036210331'
```

```python
xml = demonstrativo(protocolo)
assert validate(xml).valid
decisoes = parse_demonstrativo(xml)
decisoes
```

```
[Decisao(guia_ref='0001', decision='pago', motivo='', guia_operadora='', tuss_code='', valor_glosa_cents=0, valor_liberado_cents=10000),
 Decisao(guia_ref='0002', decision='pago', motivo='', guia_operadora='', tuss_code='', valor_glosa_cents=0, valor_liberado_cents=10000)]
```

O cenário `sem_autorizacao` glosa todos os itens da primeira guia e mantém as demais pagas.

```python
resposta_com_glosa = enviar_lote(lote, cenario="sem_autorizacao")
xml_com_glosa = demonstrativo(resposta_com_glosa["protocolo"])
assert validate(xml_com_glosa).valid
decisoes_com_glosa = parse_demonstrativo(xml_com_glosa)
decisoes_com_glosa
```

```
[Decisao(guia_ref='0001', decision='glosado', motivo='1818; 1818 - COBRANÇA DE PROCEDIMENTO QUE EXIGE AUTORIZAÇÃO PRÉVIA', guia_operadora='', tuss_code='', valor_glosa_cents=10000, valor_liberado_cents=0),
 Decisao(guia_ref='0002', decision='pago', motivo='', guia_operadora='', tuss_code='', valor_glosa_cents=0, valor_liberado_cents=10000)]
```

Na API hospedada, as rotas `/v1/sandbox/lotes` respondem sem chave.
