{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "API CPC — modelos v1 / SQL v3",
  "$defs": {
    "ClientCredentials": {
      "type": "object",
      "required": [
        "client_id",
        "client_secret"
      ],
      "properties": {
        "client_id": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9_-]{2,63}$",
          "example": "sms_osid"
        },
        "client_secret": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "writeOnly": true
        }
      }
    },
    "Token": {
      "type": "object",
      "required": [
        "access_token",
        "token_type",
        "expires_in"
      ],
      "properties": {
        "access_token": {
          "type": "string"
        },
        "token_type": {
          "const": "Bearer"
        },
        "expires_in": {
          "type": "integer",
          "const": 900
        }
      }
    },
    "Principal": {
      "type": "object",
      "required": [
        "client_id",
        "profile",
        "permissions",
        "environment"
      ],
      "properties": {
        "client_id": {
          "type": "string"
        },
        "profile": {
          "type": "string",
          "example": "consulta_clinica"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z_]+:read$"
          },
          "example": [
            "pacientes:read",
            "atendimentos:read",
            "internacoes:read"
          ]
        },
        "environment": {
          "type": "string",
          "enum": [
            "desenvolvimento",
            "homologacao",
            "producao"
          ]
        }
      }
    },
    "Error": {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "object",
          "required": [
            "status",
            "message",
            "request_id"
          ],
          "properties": {
            "status": {
              "type": "integer"
            },
            "message": {
              "type": "string"
            },
            "request_id": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            }
          }
        }
      }
    },
    "PaginacaoClinica": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "pagina",
        "limite",
        "retornados",
        "tem_proxima"
      ],
      "properties": {
        "pagina": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000
        },
        "limite": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20
        },
        "retornados": {
          "type": "integer",
          "minimum": 0,
          "maximum": 20
        },
        "tem_proxima": {
          "type": "boolean"
        }
      }
    },
    "EvolucaoClinica": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "codigo",
        "numero_atendimento",
        "categoria",
        "tipo_documento",
        "descricao_tipo_documento",
        "data_hora",
        "ativa",
        "anamnese",
        "exame_fisico",
        "suspeita_diagnostica",
        "evolucao",
        "conduta",
        "observacao"
      ],
      "properties": {
        "codigo": {
          "type": "string"
        },
        "numero_atendimento": {
          "type": "string"
        },
        "categoria": {
          "type": "string"
        },
        "tipo_documento": {
          "type": "string"
        },
        "descricao_tipo_documento": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "ativa": {
          "type": "boolean"
        },
        "anamnese": {
          "type": [
            "string",
            "null"
          ]
        },
        "exame_fisico": {
          "type": [
            "string",
            "null"
          ]
        },
        "suspeita_diagnostica": {
          "type": [
            "string",
            "null"
          ]
        },
        "evolucao": {
          "type": [
            "string",
            "null"
          ]
        },
        "conduta": {
          "type": [
            "string",
            "null"
          ]
        },
        "observacao": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "ExecucaoClinica": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "prescricao",
        "item",
        "horario",
        "tipo",
        "codigo",
        "descricao",
        "data_hora"
      ],
      "properties": {
        "prescricao": {
          "type": "string"
        },
        "item": {
          "type": "string"
        },
        "horario": {
          "type": "integer",
          "minimum": 1,
          "maximum": 24
        },
        "tipo": {
          "type": "string",
          "enum": [
            "medicamento",
            "procedimento"
          ]
        },
        "codigo": {
          "type": [
            "string",
            "null"
          ]
        },
        "descricao": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      }
    },
    "EventoAtendimento": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "numero_atendimento",
        "tipo",
        "cnes",
        "data_hora_entrada",
        "data_hora_saida",
        "classificacao_risco",
        "diagnostico",
        "cid",
        "desfecho",
        "leito",
        "data_hora_primeira_reavaliacao",
        "data_hora_segunda_reavaliacao",
        "evolucoes",
        "medicacoes_administradas",
        "procedimentos_realizados",
        "codigo_paciente",
        "nome_unidade",
        "hora_entrada",
        "hora_saida",
        "classificacao_risco_nivel",
        "data_hora_classificacao",
        "profissional_medico",
        "especialidade",
        "data_hora_atendimento",
        "cid_descricao",
        "destino",
        "data_hora_destino",
        "anamnese",
        "data_hora_admissao",
        "hora_admissao",
        "tipo_leito",
        "tipo_internacao",
        "tipo_saida",
        "setor_atual",
        "procedencia",
        "convenio",
        "motivo_internacao",
        "numero_prontuario",
        "observacao"
      ],
      "properties": {
        "numero_atendimento": {
          "type": "string"
        },
        "tipo": {
          "type": "integer",
          "enum": [
            1,
            2,
            3
          ],
          "description": "1 ambulatório; 2 emergência; 3 internação."
        },
        "cnes": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "classificacao_risco": {
          "type": [
            "string",
            "null"
          ]
        },
        "diagnostico": {
          "type": [
            "string",
            "null"
          ]
        },
        "cid": {
          "type": [
            "string",
            "null"
          ]
        },
        "desfecho": {
          "type": [
            "string",
            "null"
          ]
        },
        "leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_primeira_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_segunda_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "evolucoes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvolucaoClinica"
          }
        },
        "medicacoes_administradas": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "procedimentos_realizados": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "codigo_paciente": {
          "type": "string"
        },
        "nome_unidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "classificacao_risco_nivel": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "data_hora_classificacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "profissional_medico": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "nome",
            "crm",
            "cpf"
          ],
          "properties": {
            "nome": {
              "type": [
                "string",
                "null"
              ]
            },
            "crm": {
              "type": [
                "string",
                "null"
              ]
            },
            "cpf": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "especialidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_atendimento": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "cid_descricao": {
          "type": [
            "string",
            "null"
          ]
        },
        "destino": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_destino": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "anamnese": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "tipo_leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_saida": {
          "type": [
            "string",
            "null"
          ]
        },
        "setor_atual": {
          "type": [
            "string",
            "null"
          ]
        },
        "procedencia": {
          "type": [
            "string",
            "null"
          ]
        },
        "convenio": {
          "type": [
            "string",
            "null"
          ]
        },
        "motivo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "numero_prontuario": {
          "type": [
            "string",
            "null"
          ]
        },
        "observacao": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "description": "Evento clínico com os campos comuns de porta e internação. Campos inaplicáveis ou ausentes são nulos. Horas são extraídas do instante completo conhecido. Anamnese, observação e seções de evolução são convertidas de RTF/texto legado para texto simples UTF-8."
    },
    "HistoricoPaciente": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "data",
        "pagination"
      ],
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EventoAtendimento"
          },
          "maxItems": 20
        },
        "pagination": {
          "$ref": "#/$defs/PaginacaoClinica"
        }
      },
      "description": "Histórico conjunto de atendimentos e internações; sem recorte de 24 horas. Página independente por cadastro, com os mesmos filtros pagina_historico/limite_historico. Ordenação crescente por entrada e número do atendimento. tipo=3 identifica internação."
    },
    "PacienteClinico": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "codigo",
        "nome",
        "cpf",
        "numero_sus",
        "data_nascimento",
        "sexo",
        "nome_mae",
        "endereco",
        "historico"
      ],
      "properties": {
        "codigo": {
          "type": "string"
        },
        "nome": {
          "type": [
            "string",
            "null"
          ]
        },
        "cpf": {
          "type": [
            "string",
            "null"
          ]
        },
        "numero_sus": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_nascimento": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "sexo": {
          "type": [
            "string",
            "null"
          ]
        },
        "nome_mae": {
          "type": [
            "string",
            "null"
          ]
        },
        "endereco": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "logradouro",
            "bairro",
            "cep",
            "cidade",
            "uf"
          ],
          "properties": {
            "logradouro": {
              "type": [
                "string",
                "null"
              ]
            },
            "bairro": {
              "type": [
                "string",
                "null"
              ]
            },
            "cep": {
              "type": [
                "string",
                "null"
              ]
            },
            "cidade": {
              "type": [
                "string",
                "null"
              ]
            },
            "uf": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "historico": {
          "$ref": "#/$defs/HistoricoPaciente"
        }
      }
    },
    "ConsultaCpf": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "data",
        "pagination",
        "meta"
      ],
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PacienteClinico"
          },
          "maxItems": 20
        },
        "pagination": {
          "$ref": "#/$defs/PaginacaoClinica"
        },
        "meta": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "dados_ficticios",
            "contrato_provisorio",
            "versao_contrato"
          ],
          "properties": {
            "dados_ficticios": {
              "type": "boolean"
            },
            "contrato_provisorio": {
              "type": "boolean",
              "deprecated": true,
              "description": "Compatibilidade com a fase dev: true no modo fake, false no modo real. Não representa aceite clínico ou homologação."
            },
            "versao_contrato": {
              "const": 3
            }
          }
        }
      }
    },
    "ConsultaPacientes": {
      "$ref": "#/$defs/ConsultaCpf"
    },
    "CadastroPaciente": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "codigo",
        "nome",
        "cpf",
        "numero_sus",
        "data_nascimento",
        "sexo",
        "nome_mae",
        "endereco"
      ],
      "properties": {
        "codigo": {
          "type": "string"
        },
        "nome": {
          "type": [
            "string",
            "null"
          ]
        },
        "cpf": {
          "type": [
            "string",
            "null"
          ]
        },
        "numero_sus": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_nascimento": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "sexo": {
          "type": [
            "string",
            "null"
          ]
        },
        "nome_mae": {
          "type": [
            "string",
            "null"
          ]
        },
        "endereco": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "logradouro",
            "bairro",
            "cep",
            "cidade",
            "uf"
          ],
          "properties": {
            "logradouro": {
              "type": [
                "string",
                "null"
              ]
            },
            "bairro": {
              "type": [
                "string",
                "null"
              ]
            },
            "cep": {
              "type": [
                "string",
                "null"
              ]
            },
            "cidade": {
              "type": [
                "string",
                "null"
              ]
            },
            "uf": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      }
    },
    "EventoComPaciente": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "numero_atendimento",
        "tipo",
        "cnes",
        "data_hora_entrada",
        "data_hora_saida",
        "classificacao_risco",
        "diagnostico",
        "cid",
        "desfecho",
        "leito",
        "data_hora_primeira_reavaliacao",
        "data_hora_segunda_reavaliacao",
        "evolucoes",
        "medicacoes_administradas",
        "procedimentos_realizados",
        "paciente",
        "codigo_paciente",
        "nome_unidade",
        "hora_entrada",
        "hora_saida",
        "classificacao_risco_nivel",
        "data_hora_classificacao",
        "profissional_medico",
        "especialidade",
        "data_hora_atendimento",
        "cid_descricao",
        "destino",
        "data_hora_destino",
        "anamnese",
        "data_hora_admissao",
        "hora_admissao",
        "tipo_leito",
        "tipo_internacao",
        "tipo_saida",
        "setor_atual",
        "procedencia",
        "convenio",
        "motivo_internacao",
        "numero_prontuario",
        "observacao"
      ],
      "properties": {
        "numero_atendimento": {
          "type": "string"
        },
        "tipo": {
          "type": "integer",
          "enum": [
            1,
            2,
            3
          ],
          "description": "1 ambulatório; 2 emergência; 3 internação."
        },
        "cnes": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "classificacao_risco": {
          "type": [
            "string",
            "null"
          ]
        },
        "diagnostico": {
          "type": [
            "string",
            "null"
          ]
        },
        "cid": {
          "type": [
            "string",
            "null"
          ]
        },
        "desfecho": {
          "type": [
            "string",
            "null"
          ]
        },
        "leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_primeira_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_segunda_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "evolucoes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvolucaoClinica"
          }
        },
        "medicacoes_administradas": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "procedimentos_realizados": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "paciente": {
          "$ref": "#/$defs/CadastroPaciente"
        },
        "codigo_paciente": {
          "type": "string"
        },
        "nome_unidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "classificacao_risco_nivel": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "data_hora_classificacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "profissional_medico": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "nome",
            "crm",
            "cpf"
          ],
          "properties": {
            "nome": {
              "type": [
                "string",
                "null"
              ]
            },
            "crm": {
              "type": [
                "string",
                "null"
              ]
            },
            "cpf": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "especialidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_atendimento": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "cid_descricao": {
          "type": [
            "string",
            "null"
          ]
        },
        "destino": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_destino": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "anamnese": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "tipo_leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_saida": {
          "type": [
            "string",
            "null"
          ]
        },
        "setor_atual": {
          "type": [
            "string",
            "null"
          ]
        },
        "procedencia": {
          "type": [
            "string",
            "null"
          ]
        },
        "convenio": {
          "type": [
            "string",
            "null"
          ]
        },
        "motivo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "numero_prontuario": {
          "type": [
            "string",
            "null"
          ]
        },
        "observacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "historico_paciente": {
          "$ref": "#/$defs/HistoricoPaciente",
          "description": "Presente na consulta por número; histórico paginado do paciente vinculado."
        }
      },
      "description": "Evento clínico com os campos comuns de porta e internação. Campos inaplicáveis ou ausentes são nulos. Horas são extraídas do instante completo conhecido. Anamnese, observação e seções de evolução são convertidas de RTF/texto legado para texto simples UTF-8."
    },
    "ConsultaEventos": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "data",
        "pagination",
        "meta"
      ],
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EventoComPaciente"
          },
          "maxItems": 20
        },
        "pagination": {
          "$ref": "#/$defs/PaginacaoClinica"
        },
        "meta": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "dados_ficticios",
            "contrato_provisorio",
            "versao_contrato"
          ],
          "properties": {
            "dados_ficticios": {
              "type": "boolean"
            },
            "contrato_provisorio": {
              "type": "boolean",
              "deprecated": true,
              "description": "Compatibilidade com a fase dev: true no modo fake, false no modo real. Não representa aceite clínico ou homologação."
            },
            "versao_contrato": {
              "const": 3
            }
          }
        }
      }
    },
    "EventoNumeroAtendimento": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "numero_atendimento",
        "tipo",
        "cnes",
        "data_hora_entrada",
        "data_hora_saida",
        "classificacao_risco",
        "diagnostico",
        "cid",
        "desfecho",
        "leito",
        "data_hora_primeira_reavaliacao",
        "data_hora_segunda_reavaliacao",
        "evolucoes",
        "medicacoes_administradas",
        "procedimentos_realizados",
        "paciente",
        "codigo_paciente",
        "nome_unidade",
        "hora_entrada",
        "hora_saida",
        "classificacao_risco_nivel",
        "data_hora_classificacao",
        "profissional_medico",
        "especialidade",
        "data_hora_atendimento",
        "cid_descricao",
        "destino",
        "data_hora_destino",
        "anamnese",
        "data_hora_admissao",
        "hora_admissao",
        "tipo_leito",
        "tipo_internacao",
        "tipo_saida",
        "setor_atual",
        "procedencia",
        "convenio",
        "motivo_internacao",
        "numero_prontuario",
        "observacao",
        "historico_paciente"
      ],
      "properties": {
        "numero_atendimento": {
          "type": "string"
        },
        "tipo": {
          "type": "integer",
          "enum": [
            1,
            2,
            3
          ],
          "description": "1 ambulatório; 2 emergência; 3 internação."
        },
        "cnes": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "classificacao_risco": {
          "type": [
            "string",
            "null"
          ]
        },
        "diagnostico": {
          "type": [
            "string",
            "null"
          ]
        },
        "cid": {
          "type": [
            "string",
            "null"
          ]
        },
        "desfecho": {
          "type": [
            "string",
            "null"
          ]
        },
        "leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_primeira_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "data_hora_segunda_reavaliacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "evolucoes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EvolucaoClinica"
          }
        },
        "medicacoes_administradas": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "procedimentos_realizados": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ExecucaoClinica"
          }
        },
        "paciente": {
          "$ref": "#/$defs/CadastroPaciente"
        },
        "codigo_paciente": {
          "type": "string"
        },
        "nome_unidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "hora_entrada": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "hora_saida": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "classificacao_risco_nivel": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 1,
          "maximum": 5
        },
        "data_hora_classificacao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "profissional_medico": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "nome",
            "crm",
            "cpf"
          ],
          "properties": {
            "nome": {
              "type": [
                "string",
                "null"
              ]
            },
            "crm": {
              "type": [
                "string",
                "null"
              ]
            },
            "cpf": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "especialidade": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_atendimento": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "cid_descricao": {
          "type": [
            "string",
            "null"
          ]
        },
        "destino": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_destino": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "anamnese": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "hora_admissao": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "tipo_leito": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "tipo_saida": {
          "type": [
            "string",
            "null"
          ]
        },
        "setor_atual": {
          "type": [
            "string",
            "null"
          ]
        },
        "procedencia": {
          "type": [
            "string",
            "null"
          ]
        },
        "convenio": {
          "type": [
            "string",
            "null"
          ]
        },
        "motivo_internacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "numero_prontuario": {
          "type": [
            "string",
            "null"
          ]
        },
        "observacao": {
          "type": [
            "string",
            "null"
          ]
        },
        "historico_paciente": {
          "$ref": "#/$defs/HistoricoPaciente",
          "description": "Presente na consulta por número; histórico paginado do paciente vinculado."
        }
      },
      "description": "Evento clínico com os campos comuns de porta e internação. Campos inaplicáveis ou ausentes são nulos. Horas são extraídas do instante completo conhecido. Anamnese, observação e seções de evolução são convertidas de RTF/texto legado para texto simples UTF-8."
    },
    "ConsultaNumeroAtendimento": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "data",
        "pagination",
        "meta"
      ],
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EventoNumeroAtendimento"
          },
          "maxItems": 20
        },
        "pagination": {
          "$ref": "#/$defs/PaginacaoClinica"
        },
        "meta": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "dados_ficticios",
            "contrato_provisorio",
            "versao_contrato"
          ],
          "properties": {
            "dados_ficticios": {
              "type": "boolean"
            },
            "contrato_provisorio": {
              "type": "boolean",
              "deprecated": true,
              "description": "Compatibilidade com a fase dev: true no modo fake, false no modo real. Não representa aceite clínico ou homologação."
            },
            "versao_contrato": {
              "const": 3
            }
          }
        }
      }
    }
  }
}
