CREATE TABLE agenda( 
      id  integer generated by default as identity     NOT NULL , 
      clinica_id integer    NOT NULL , 
      profissional_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      horario_inicial time    DEFAULT '08:00'  NOT NULL , 
      horario_final time    DEFAULT '18:00'  NOT NULL , 
      visualizacao_inicial varchar  (30)    DEFAULT 'agendaWeek'  NOT NULL , 
      horario_inicio_intervalo time   , 
      horario_fim_intervalo time   , 
      duracao integer    DEFAULT 30  NOT NULL , 
      dias blob sub_type 1    NOT NULL , 
      procedimento_id integer   , 
      cor varchar  (10)   , 
      aceita_agendamento_online char  (1)    DEFAULT 'F' , 
      publica char  (1)    DEFAULT 'F' , 
      fl_permite_choque_horario char  (1)    DEFAULT 'T' , 
 PRIMARY KEY (id)) ; 

CREATE TABLE agendamento( 
      id  integer generated by default as identity     NOT NULL , 
      paciente_id integer    NOT NULL , 
      estado_agenda_id integer    NOT NULL , 
      agenda_id integer    NOT NULL , 
      especialidade_id integer   , 
      dt_inicial timestamp    NOT NULL , 
      dt_final timestamp    NOT NULL , 
      agendamento_original_id integer   , 
      observacao blob sub_type 1   , 
      ativo char  (1)    DEFAULT 'T' , 
      ano_inicial blob sub_type 1   , 
      mes_inicial blob sub_type 1   , 
      ano_mes_inicial blob sub_type 1   , 
      ano_final blob sub_type 1   , 
      mes_final blob sub_type 1   , 
      ano_mes_final blob sub_type 1   , 
      online char  (1)    DEFAULT 'F' , 
      link_atendimento_online blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE agendamento_procedimento( 
      id  integer generated by default as identity     NOT NULL , 
      agendamento_id integer    NOT NULL , 
      procedimento_id integer    NOT NULL , 
      convenio_id integer    NOT NULL , 
      quantidade float    NOT NULL , 
      valor float   , 
      valor_total float   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE agenda_profissional( 
      id  integer generated by default as identity     NOT NULL , 
      profissional_id integer    NOT NULL , 
      agenda_id integer    NOT NULL , 
      fl_manipula_atendimento char    DEFAULT 'N'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE anexo( 
      id  integer generated by default as identity     NOT NULL , 
      atendimento_id integer    NOT NULL , 
      arquivo blob sub_type 1    NOT NULL , 
      observacao blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE atendimento( 
      id  integer generated by default as identity     NOT NULL , 
      agendamento_id integer    NOT NULL , 
      paciente_id integer    NOT NULL , 
      profissional_id integer    NOT NULL , 
      dt_inicio timestamp    NOT NULL , 
      dt_final timestamp   , 
      valor_total float   , 
      ano_inicial blob sub_type 1   , 
      mes_inicial blob sub_type 1   , 
      ano_mes_inicial blob sub_type 1   , 
      mes_final blob sub_type 1   , 
      ano_final blob sub_type 1   , 
      ano_mes_final blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE atendimento_material( 
      id  integer generated by default as identity     NOT NULL , 
      material_id integer    NOT NULL , 
      atendimento_id integer    NOT NULL , 
      quantidade float    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE atendimento_medico_visualiza( 
      id  integer generated by default as identity     NOT NULL , 
      atendimento_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE atendimento_procedimento( 
      id  integer generated by default as identity     NOT NULL , 
      convenio_id integer    NOT NULL , 
      atendimento_id integer    NOT NULL , 
      procedimento_id integer    NOT NULL , 
      quantidade float    NOT NULL , 
      valor float   , 
      valor_total float   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE bloqueio( 
      id  integer generated by default as identity     NOT NULL , 
      agenda_id integer    NOT NULL , 
      dt_inicio timestamp    NOT NULL , 
      dt_final timestamp    NOT NULL , 
      observacao blob sub_type 1   , 
      horario_bloqueio_original integer   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE categoria_conta( 
      id  integer generated by default as identity     NOT NULL , 
      tipo_conta_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE cep_cache( 
      id  integer generated by default as identity     NOT NULL , 
      cep varchar  (12)    NOT NULL , 
      codigo_ibge blob sub_type 1   , 
      rua blob sub_type 1   , 
      cidade blob sub_type 1   , 
      uf blob sub_type 1   , 
      cidade_id integer   , 
      bairro blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE cidade( 
      id  integer generated by default as identity     NOT NULL , 
      estado_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      codigo_ibge blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE clinica( 
      id  integer generated by default as identity     NOT NULL , 
      system_unit_id integer    NOT NULL , 
      cidade_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      cnpj blob sub_type 1    NOT NULL , 
      telefone blob sub_type 1    NOT NULL , 
      email blob sub_type 1    NOT NULL , 
      endereco blob sub_type 1    NOT NULL , 
      bairro blob sub_type 1    NOT NULL , 
      cep blob sub_type 1    NOT NULL , 
      numero blob sub_type 1   , 
      complemento blob sub_type 1   , 
      logo_documento blob sub_type 1   , 
      url_sistema blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE clinica_convenio( 
      id  integer generated by default as identity     NOT NULL , 
      convenio_id integer    NOT NULL , 
      clinica_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE conta( 
      id  integer generated by default as identity     NOT NULL , 
      pessoa_id integer    NOT NULL , 
      categoria_conta_id integer    NOT NULL , 
      tipo_conta_id integer    NOT NULL , 
      clinica_id integer    NOT NULL , 
      atendimento_id integer   , 
      data_emissao date    NOT NULL , 
      total_parcelas integer    DEFAULT 1  NOT NULL , 
      quitada char  (1)    DEFAULT 'N'  NOT NULL , 
      descricao blob sub_type 1    NOT NULL , 
      conta_origem_id integer   , 
      total_conta float    NOT NULL , 
      mes blob sub_type 1   , 
      ano blob sub_type 1   , 
      ano_mes blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE convenio( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE documento( 
      id  integer generated by default as identity     NOT NULL , 
      atendimento_id integer    NOT NULL , 
      tipo_documento_id integer    NOT NULL , 
      procedimento_id integer   , 
      texto blob sub_type 1    NOT NULL , 
      dt_preenchimento timestamp    NOT NULL , 
      autenticador blob sub_type 1   , 
      dt_validade date    NOT NULL , 
      medico_assistente blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE email_config( 
      id  integer generated by default as identity     NOT NULL , 
      clinica_id integer    NOT NULL , 
      port blob sub_type 1   , 
      username blob sub_type 1   , 
      password blob sub_type 1   , 
      host blob sub_type 1   , 
      from_email blob sub_type 1   , 
      from_name blob sub_type 1   , 
      smtp_auth char  (1)    DEFAULT 'T' , 
 PRIMARY KEY (id)) ; 

CREATE TABLE especialidade( 
      id  integer generated by default as identity     NOT NULL , 
      descricao blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE estado( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      sigla char  (2)    NOT NULL , 
      codigo_ibge blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE estado_agenda( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      estado_inicial char    DEFAULT 'N'  NOT NULL , 
      estado_final char    DEFAULT 'N'  NOT NULL , 
      cor varchar  (10)    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE estado_agendamento( 
      id  integer generated by default as identity     NOT NULL , 
      agendamento_id integer    NOT NULL , 
      estado_agenda_id integer    NOT NULL , 
      system_users_id integer   , 
      atribuido_em timestamp    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE exame( 
      id  integer generated by default as identity     NOT NULL , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      codigo_referencia blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE exame_atendimento( 
      id  integer generated by default as identity     NOT NULL , 
      atendimento_id integer    NOT NULL , 
      exame_id integer    NOT NULL , 
      indicacao_clinica blob sub_type 1    NOT NULL , 
      dt_exames date    NOT NULL , 
      quantidade integer    DEFAULT 1  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE formulario( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
      ordem integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE grupo( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      cor varchar  (10)    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE lancamento( 
      id  integer generated by default as identity     NOT NULL , 
      conta_id integer    NOT NULL , 
      tipo_pagamento_id integer    NOT NULL , 
      parcela integer    DEFAULT 1  NOT NULL , 
      dt_vencimento date    NOT NULL , 
      valor float    NOT NULL , 
      dt_pagamento date   , 
      ano_pagamento blob sub_type 1   , 
      mes_pagamento blob sub_type 1   , 
      ano_mes_pagamento blob sub_type 1   , 
      ano_vencimento blob sub_type 1   , 
      mes_vencimento blob sub_type 1   , 
      ano_mes_vencimento blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE material( 
      id  integer generated by default as identity     NOT NULL , 
      unidade_medida_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      estoque_minimo float   , 
      dt_vencimento date   , 
      estoque_atualizado float   , 
      lote blob sub_type 1   , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE medicamento( 
      id  integer generated by default as identity     NOT NULL , 
      prescricao_id integer    NOT NULL , 
      medicamento blob sub_type 1    NOT NULL , 
      quantidade blob sub_type 1    NOT NULL , 
      posologia blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE mensagem( 
      id  integer generated by default as identity     NOT NULL , 
      agendamento_id integer    NOT NULL , 
      template_clinica_id integer   , 
      system_user_id integer    NOT NULL , 
      titulo blob sub_type 1   , 
      template blob sub_type 1   , 
      enviado_em timestamp   , 
      tipo_mensagem blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE mensagem_acao( 
      id  integer generated by default as identity     NOT NULL , 
      mensagem_id integer    NOT NULL , 
      url blob sub_type 1   , 
      label blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE movimentacao( 
      id  integer generated by default as identity     NOT NULL , 
      material_id integer    NOT NULL , 
      system_user_id integer    NOT NULL , 
      dt_movimentacao blob sub_type 1   , 
      quantidade float   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE pessoa( 
      id  integer generated by default as identity     NOT NULL , 
      nome varchar  (255)    NOT NULL , 
      documento blob sub_type 1   , 
      email varchar  (255)   , 
      telefone varchar  (20)   , 
      system_users_id integer   , 
      sexo char  (1)   , 
      nome_civel varchar  (255)   , 
      rg blob sub_type 1   , 
      dt_nascimento date   , 
      profissao blob sub_type 1   , 
      tratamento blob sub_type 1   , 
      observacao blob sub_type 1   , 
      assinatura blob sub_type 1   , 
      usuario varchar  (255)   , 
      senha varchar  (255)   , 
      foto blob sub_type 1   , 
      aceita_receber_mensagen_whatsapp char  (1)    DEFAULT 'F'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE pessoa_endereco( 
      id  integer generated by default as identity     NOT NULL , 
      pessoa_id integer    NOT NULL , 
      cidade_id integer    NOT NULL , 
      cep varchar  (10)    NOT NULL , 
      rua varchar  (500)    NOT NULL , 
      bairro varchar  (500)    NOT NULL , 
      numero varchar  (100)    NOT NULL , 
      complemento varchar  (500)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE pessoa_especialidade( 
      id  integer generated by default as identity     NOT NULL , 
      pessoa_id integer    NOT NULL , 
      especialidade_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE pessoa_grupo( 
      id  integer generated by default as identity     NOT NULL , 
      pessoa_id integer    NOT NULL , 
      grupo_id integer    NOT NULL , 
      cor varchar  (10)    DEFAULT '#ffffff' , 
 PRIMARY KEY (id)) ; 

CREATE TABLE prescricao( 
      id  integer generated by default as identity     NOT NULL , 
      atendimento_id integer    NOT NULL , 
      controle_especial char  (1)    DEFAULT 'N'  NOT NULL , 
      dt_prescricao date    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE procedimento( 
      id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      cor varchar  (10)    NOT NULL , 
      duracao time   , 
      codigo_referencia blob sub_type 1   , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE procedimento_material( 
      id  integer generated by default as identity     NOT NULL , 
      procedimento_id integer    NOT NULL , 
      material_id integer    NOT NULL , 
      quantidade float   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE procedimento_preco( 
      id  integer generated by default as identity     NOT NULL , 
      procedimento_id integer    NOT NULL , 
      convenio_id integer    NOT NULL , 
      valor float    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE questao( 
      id  integer generated by default as identity     NOT NULL , 
      formulario_id integer    NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      tipo_campo blob sub_type 1    NOT NULL , 
      fl_obrigatorio char    DEFAULT 'N'  NOT NULL , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
      opcoes blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE resposta( 
      id  integer generated by default as identity     NOT NULL , 
      resposta_formulario_id integer    NOT NULL , 
      questao_id integer    NOT NULL , 
      resposta blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE resposta_formulario( 
      id  integer generated by default as identity     NOT NULL , 
      formulario_id integer    NOT NULL , 
      atendimento_id integer    NOT NULL , 
      dt_resposta date   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_group( 
      id integer    NOT NULL , 
      name blob sub_type 1    NOT NULL , 
      uuid varchar  (36)   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_group_program( 
      id integer    NOT NULL , 
      system_group_id integer    NOT NULL , 
      system_program_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_preference( 
      id varchar  (255)    NOT NULL , 
      preference blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_program( 
      id integer    NOT NULL , 
      name blob sub_type 1    NOT NULL , 
      controller blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_unit( 
      id integer    NOT NULL , 
      name blob sub_type 1    NOT NULL , 
      connection_name blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_user_group( 
      id integer    NOT NULL , 
      system_user_id integer    NOT NULL , 
      system_group_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_user_program( 
      id integer    NOT NULL , 
      system_user_id integer    NOT NULL , 
      system_program_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_users( 
      id integer    NOT NULL , 
      name blob sub_type 1    NOT NULL , 
      login blob sub_type 1    NOT NULL , 
      password blob sub_type 1    NOT NULL , 
      email blob sub_type 1   , 
      frontpage_id integer   , 
      system_unit_id integer   , 
      active char  (1)   , 
      accepted_term_policy char  (1)   , 
      accepted_term_policy_at blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE system_user_unit( 
      id integer    NOT NULL , 
      system_user_id integer    NOT NULL , 
      system_unit_id integer    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE template_acao( 
      id  integer generated by default as identity     NOT NULL , 
      template_clinica_id integer    NOT NULL , 
      url blob sub_type 1   , 
      label blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

CREATE TABLE template_clinica( 
      id  integer generated by default as identity     NOT NULL , 
      chave blob sub_type 1    NOT NULL , 
      descricao blob sub_type 1    NOT NULL , 
      clinica_id integer    NOT NULL , 
      habilitado char  (1)    DEFAULT 'T'  NOT NULL , 
      template blob sub_type 1   , 
      titulo blob sub_type 1   , 
      tipo_template blob sub_type 1   , 
      readonly char  (1)    DEFAULT 'F'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tipo_conta( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tipo_documento( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      texto_padrao blob sub_type 1    NOT NULL , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE tipo_pagamento( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      ativo char  (1)    DEFAULT 'S'  NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE unidade_medida( 
      id  integer generated by default as identity     NOT NULL , 
      nome blob sub_type 1    NOT NULL , 
      sigla blob sub_type 1    NOT NULL , 
 PRIMARY KEY (id)) ; 

CREATE TABLE whatsapp_config( 
      id  integer generated by default as identity     NOT NULL , 
      clinica_id integer    NOT NULL , 
      phone blob sub_type 1   , 
      status blob sub_type 1   , 
      api_token blob sub_type 1   , 
      api_key blob sub_type 1   , 
 PRIMARY KEY (id)) ; 

 
 CREATE UNIQUE INDEX unique_idx_cep_cache_cep ON cep_cache COMPUTED BY (cep);
  
 ALTER TABLE agenda ADD CONSTRAINT fk_agenda_1 FOREIGN KEY (clinica_id) references clinica(id); 
ALTER TABLE agenda ADD CONSTRAINT fk_agenda_2 FOREIGN KEY (profissional_id) references pessoa(id); 
ALTER TABLE agenda ADD CONSTRAINT fk_agenda_3 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE agendamento ADD CONSTRAINT fk_agendamento_1 FOREIGN KEY (paciente_id) references pessoa(id); 
ALTER TABLE agendamento ADD CONSTRAINT fk_agendamento_2 FOREIGN KEY (estado_agenda_id) references estado_agenda(id); 
ALTER TABLE agendamento ADD CONSTRAINT fk_agendamento_3 FOREIGN KEY (agenda_id) references agenda(id); 
ALTER TABLE agendamento ADD CONSTRAINT fk_agendamento_4 FOREIGN KEY (especialidade_id) references especialidade(id); 
ALTER TABLE agendamento_procedimento ADD CONSTRAINT fk_agendamento_procedimento_1 FOREIGN KEY (agendamento_id) references agendamento(id); 
ALTER TABLE agendamento_procedimento ADD CONSTRAINT fk_agendamento_procedimento_2 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE agendamento_procedimento ADD CONSTRAINT fk_agendamento_procedimento_3 FOREIGN KEY (convenio_id) references convenio(id); 
ALTER TABLE agenda_profissional ADD CONSTRAINT fk_agenda_profissional_1 FOREIGN KEY (profissional_id) references pessoa(id); 
ALTER TABLE agenda_profissional ADD CONSTRAINT fk_agenda_profissional_2 FOREIGN KEY (agenda_id) references agenda(id); 
ALTER TABLE anexo ADD CONSTRAINT fk_anexo_1 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE atendimento ADD CONSTRAINT fk_atendimento_2 FOREIGN KEY (paciente_id) references pessoa(id); 
ALTER TABLE atendimento ADD CONSTRAINT fk_atendimento_3 FOREIGN KEY (profissional_id) references pessoa(id); 
ALTER TABLE atendimento ADD CONSTRAINT fk_atendimento_1 FOREIGN KEY (agendamento_id) references agendamento(id); 
ALTER TABLE atendimento_material ADD CONSTRAINT fk_atendimento_material_1 FOREIGN KEY (material_id) references material(id); 
ALTER TABLE atendimento_material ADD CONSTRAINT fk_atendimento_material_2 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE atendimento_medico_visualiza ADD CONSTRAINT atendimento_medico_visualiza_641f923ef35dc FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE atendimento_procedimento ADD CONSTRAINT fk_atendimento_procedimento_1 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE atendimento_procedimento ADD CONSTRAINT fk_atendimento_procedimento_2 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE atendimento_procedimento ADD CONSTRAINT fk_atendimento_procedimento_3 FOREIGN KEY (convenio_id) references convenio(id); 
ALTER TABLE bloqueio ADD CONSTRAINT fk_bloqueio_1 FOREIGN KEY (agenda_id) references agenda(id); 
ALTER TABLE categoria_conta ADD CONSTRAINT fk_categoria_conta_1 FOREIGN KEY (tipo_conta_id) references tipo_conta(id); 
ALTER TABLE cidade ADD CONSTRAINT fk_cidade_1 FOREIGN KEY (estado_id) references estado(id); 
ALTER TABLE clinica ADD CONSTRAINT fk_clinica_1 FOREIGN KEY (system_unit_id) references system_unit(id); 
ALTER TABLE clinica ADD CONSTRAINT fk_clinica_2 FOREIGN KEY (cidade_id) references cidade(id); 
ALTER TABLE clinica_convenio ADD CONSTRAINT fk_clinica_convenio_2 FOREIGN KEY (clinica_id) references clinica(id); 
ALTER TABLE clinica_convenio ADD CONSTRAINT fk_clinica_convenio_1 FOREIGN KEY (convenio_id) references convenio(id); 
ALTER TABLE conta ADD CONSTRAINT fk_conta_2 FOREIGN KEY (tipo_conta_id) references tipo_conta(id); 
ALTER TABLE conta ADD CONSTRAINT fk_conta_3 FOREIGN KEY (pessoa_id) references pessoa(id); 
ALTER TABLE conta ADD CONSTRAINT fk_conta_4 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE conta ADD CONSTRAINT fk_conta_5 FOREIGN KEY (clinica_id) references clinica(id); 
ALTER TABLE conta ADD CONSTRAINT fk_conta_1 FOREIGN KEY (categoria_conta_id) references categoria_conta(id); 
ALTER TABLE documento ADD CONSTRAINT fk_documento_1 FOREIGN KEY (tipo_documento_id) references tipo_documento(id); 
ALTER TABLE documento ADD CONSTRAINT fk_documento_2 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE documento ADD CONSTRAINT fk_documento_3 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE email_config ADD CONSTRAINT fk_email_config_1 FOREIGN KEY (clinica_id) references clinica(id); 
ALTER TABLE estado_agendamento ADD CONSTRAINT fk_estado_agendamento_1 FOREIGN KEY (agendamento_id) references agendamento(id); 
ALTER TABLE estado_agendamento ADD CONSTRAINT fk_estado_agendamento_2 FOREIGN KEY (estado_agenda_id) references estado_agenda(id); 
ALTER TABLE estado_agendamento ADD CONSTRAINT fk_estado_agendamento_3 FOREIGN KEY (system_users_id) references system_users(id); 
ALTER TABLE exame_atendimento ADD CONSTRAINT fk_exame_atendimento_1 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE exame_atendimento ADD CONSTRAINT fk_exame_atendimento_2 FOREIGN KEY (exame_id) references exame(id); 
ALTER TABLE lancamento ADD CONSTRAINT fk_lancamento_1 FOREIGN KEY (conta_id) references conta(id); 
ALTER TABLE lancamento ADD CONSTRAINT fk_lancamento_2 FOREIGN KEY (tipo_pagamento_id) references tipo_pagamento(id); 
ALTER TABLE material ADD CONSTRAINT fk_material_1 FOREIGN KEY (unidade_medida_id) references unidade_medida(id); 
ALTER TABLE medicamento ADD CONSTRAINT fk_medicamento_1 FOREIGN KEY (prescricao_id) references prescricao(id); 
ALTER TABLE mensagem ADD CONSTRAINT fk_message_1 FOREIGN KEY (agendamento_id) references agendamento(id); 
ALTER TABLE mensagem ADD CONSTRAINT fk_message_2 FOREIGN KEY (template_clinica_id) references template_clinica(id); 
ALTER TABLE mensagem ADD CONSTRAINT fk_message_3 FOREIGN KEY (system_user_id) references system_users(id); 
ALTER TABLE mensagem_acao ADD CONSTRAINT fk_mensagem_acao_1 FOREIGN KEY (mensagem_id) references mensagem(id); 
ALTER TABLE movimentacao ADD CONSTRAINT fk_movimentacao_1 FOREIGN KEY (material_id) references material(id); 
ALTER TABLE movimentacao ADD CONSTRAINT fk_movimentacao_2 FOREIGN KEY (system_user_id) references system_users(id); 
ALTER TABLE pessoa ADD CONSTRAINT fk_pessoa_1 FOREIGN KEY (system_users_id) references system_users(id); 
ALTER TABLE pessoa_endereco ADD CONSTRAINT fk_pessoa_endereco_1 FOREIGN KEY (pessoa_id) references pessoa(id); 
ALTER TABLE pessoa_endereco ADD CONSTRAINT fk_pessoa_endereco_2 FOREIGN KEY (cidade_id) references cidade(id); 
ALTER TABLE pessoa_especialidade ADD CONSTRAINT fk_pessoa_especialidade_1 FOREIGN KEY (pessoa_id) references pessoa(id); 
ALTER TABLE pessoa_especialidade ADD CONSTRAINT fk_pessoa_especialidade_2 FOREIGN KEY (especialidade_id) references especialidade(id); 
ALTER TABLE pessoa_grupo ADD CONSTRAINT fk_pessoa_grupo_1 FOREIGN KEY (pessoa_id) references pessoa(id); 
ALTER TABLE pessoa_grupo ADD CONSTRAINT fk_pessoa_grupo_2 FOREIGN KEY (grupo_id) references grupo(id); 
ALTER TABLE prescricao ADD CONSTRAINT fk_prescricao_1 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE procedimento_material ADD CONSTRAINT fk_procedimento_material_1 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE procedimento_material ADD CONSTRAINT fk_procedimento_material_2 FOREIGN KEY (material_id) references material(id); 
ALTER TABLE procedimento_preco ADD CONSTRAINT fk_procedimento_preco_1 FOREIGN KEY (procedimento_id) references procedimento(id); 
ALTER TABLE procedimento_preco ADD CONSTRAINT fk_procedimento_preco_2 FOREIGN KEY (convenio_id) references convenio(id); 
ALTER TABLE questao ADD CONSTRAINT fk_questao_1 FOREIGN KEY (formulario_id) references formulario(id); 
ALTER TABLE resposta ADD CONSTRAINT fk_resposta_2 FOREIGN KEY (resposta_formulario_id) references resposta_formulario(id); 
ALTER TABLE resposta ADD CONSTRAINT fk_resposta_1 FOREIGN KEY (questao_id) references questao(id); 
ALTER TABLE resposta_formulario ADD CONSTRAINT fk_resposta_formulario_1 FOREIGN KEY (formulario_id) references formulario(id); 
ALTER TABLE resposta_formulario ADD CONSTRAINT fk_resposta_formulario_2 FOREIGN KEY (atendimento_id) references atendimento(id); 
ALTER TABLE system_group_program ADD CONSTRAINT fk_system_group_program_1 FOREIGN KEY (system_program_id) references system_program(id); 
ALTER TABLE system_group_program ADD CONSTRAINT fk_system_group_program_2 FOREIGN KEY (system_group_id) references system_group(id); 
ALTER TABLE system_user_group ADD CONSTRAINT fk_system_user_group_1 FOREIGN KEY (system_group_id) references system_group(id); 
ALTER TABLE system_user_group ADD CONSTRAINT fk_system_user_group_2 FOREIGN KEY (system_user_id) references system_users(id); 
ALTER TABLE system_user_program ADD CONSTRAINT fk_system_user_program_1 FOREIGN KEY (system_program_id) references system_program(id); 
ALTER TABLE system_user_program ADD CONSTRAINT fk_system_user_program_2 FOREIGN KEY (system_user_id) references system_users(id); 
ALTER TABLE system_users ADD CONSTRAINT fk_system_user_1 FOREIGN KEY (system_unit_id) references system_unit(id); 
ALTER TABLE system_users ADD CONSTRAINT fk_system_user_2 FOREIGN KEY (frontpage_id) references system_program(id); 
ALTER TABLE system_user_unit ADD CONSTRAINT fk_system_user_unit_1 FOREIGN KEY (system_user_id) references system_users(id); 
ALTER TABLE system_user_unit ADD CONSTRAINT fk_system_user_unit_2 FOREIGN KEY (system_unit_id) references system_unit(id); 
ALTER TABLE template_acao ADD CONSTRAINT fk_template_acao_1 FOREIGN KEY (template_clinica_id) references template_clinica(id); 
ALTER TABLE template_clinica ADD CONSTRAINT fk_template_clinica_1 FOREIGN KEY (clinica_id) references clinica(id); 
ALTER TABLE whatsapp_config ADD CONSTRAINT fk_whatsapp_config_1 FOREIGN KEY (clinica_id) references clinica(id); 

  
