Páginas filhas
  • 04 - API - Preenchimento da Ficha Médica do candidato no TOTVS Processo Seletivo.

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Este documento tem como objetivo exemplificar a forma de utilização da API de preenchimento da ficha médica do candidaton o candidato no TOTVS Processo Seletivo.

Esta API possibilita incluir, atualizar ou acessar a ficha médica do candidato do TOTVS Processo Seletivo.

É importante importante ressaltar que neste modelo o aplicativo RM.Host é responsável por hospedar e expor os serviços de APIs. Veja mais sobre a configuração clicando aqui

...

Por questão de segurança e rastreabilidade, as requisições serão permitidas somente para um usuários usuário cadastrado no RM, portanto é necessário conceder as devidas permissões apara o perfil do usuário que irá executar as requisições.

...

O TOTVS Processo Seletivo irá considerar as parametrizações referente referentes ao termo de consentimento de uso de imagem e voz que foram definidas no  no TOTVS Educacional, para maiores informações clique aqui.

  • No TOTVS Processo Seletivo

(Este item tem que ser revisto ao cria a o preenchimento da ficha pela central do candidato)

...

  • , é necessário indicar que a utilização da ficha médica está habilitada para o processo seletivo. A configuração deve ser realizada em "Edição de Processo Seletivo" > Parâmetros > Matrícula > Confirmação Matrícula > Utiliza ficha médica flexível. Para maiores informações acesse Parâmetro - Matrícula.

Image Added

Caso o parâmetro não esteja marcado, as chamadas para as APIs da ficha médica GET, POST e PUT, devem ter as seguintes informações no seu retorno:

Image Added

Dicas

...

A construção do modelo da ficha médica que será utilizada é realizada no TOTVS Educacional, no TOTVS Educacional será possível permitido definir um único modelo ativo por contexto, ou seja, o modelo que estiver ativo naquele contexto será o modelo disponibilizado para preenchimento em todo o RM (Portal do aluno, Portal Gestão Educacional ou Portal do TOTVS Processo Seletivo).

...

Dica

Para ter acesso a estrutura do modelo ativo e que será  será utilizado pela API de preenchimento da ficha médica, orientamos consumir a API abaixo:

Máscara de Url:  http://{domínio}:{porta}/api/educational/v1/medicalrecord/templates/{Id. Modelo}?Expand=wrapper,section,field

Exemplo de configuração:

Domínio: localhost

Porta: 8051

Expand=wrapper,section,field: indica que a requisição ira retornar os agrupadores, seções e campos.

Id. Modelo: Identificador do modelo da ficha médica que que esta está ativo no contexto.

Url Utilizada: http://localhost:8051/api/educational/v1/medicalrecord/templates/9?Expand=wrapper,section,field

Expandir
titleVer resultado JSON...
Bloco de código
languagejs
firstline1
titleResultado Positivo (JSON)
linenumberstrue
{
    "idModel": 9,
    "companyCode": 1,
    "branchCode": 1,
    "levelEducationCode": 1,
    "name": "Exemplo ficha de saúde aluno",
    "active": "S",
    "observation": "Teste",
    "wrappers": [
        {
            "id": 13,
            "idModel": 9,
            "title": "Questionário 1",
            "displayOrder": 1,
            "sections": [
                {
                    "idSection": 8,
                    "idWrapper": 13,
                    "title": "Seção 1",
                    "inactive": "N",
                    "displayOrder": 0,
                    "fields": [
                        {
                            "id": 56,
                            "title": "Faz algum tipo de controle médico?",
                            "fieldType": 8,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 2,
                            "optionsForSelection": [
                                {
                                    "idField": 56,
                                    "sequential": 1,
                                    "text": "Sim",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                },
                                {
                                    "idField": 56,
                                    "sequential": 2,
                                    "text": "Não",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                }
                            ]
                        },
                        {
                            "id": 57,
                            "title": "Já esteve internado alguma vez? ",
                            "fieldType": 10,
                            "size": 50,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": [
                                {
                                    "idField": 57,
                                    "sequential": 1,
                                    "text": "Sim",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                },
                                {
                                    "idField": 57,
                                    "sequential": 2,
                                    "text": "Não",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                }
                            ]
                        },
                        {
                            "id": 58,
                            "title": "Descreva sobre a internação",
                            "fieldType": 2,
                            "size": 500,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": -2,
                            "optionsForSelection": []
                        },
                        {
                            "id": 59,
                            "title": "Já teve ataque, desmaio, perda de sentido? ",
                            "fieldType": 7,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": [
                                {
                                    "idField": 59,
                                    "sequential": 1,
                                    "text": "Sim",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                },
                                {
                                    "idField": 59,
                                    "sequential": 2,
                                    "text": "Não",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                }
                            ]
                        }
                    ]
                }
            ],
            "fields": [
                {
                    "id": 24,
                    "title": "Usa medicamentos controlado",
                    "descriptiveText": "teste cadastro hhhh",
                    "fieldType": 8,
                    "size": 60,
                    "mask": "9999-99999",
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 1,
                    "optionsForSelection": [
                        {
                            "idField": 24,
                            "sequential": 1,
                            "text": "ooo",
                            "inactive": "N",
                            "optionUsedPeople": false
                        }
                    ]
                }
            ]
        },
        {
            "id": 14,
            "idModel": 9,
            "title": "Questionário 2",
            "displayOrder": 2,
            "sections": [
                {
                    "idSection": 9,
                    "idWrapper": 14,
                    "title": "Patologia ",
                    "inactive": "N",
                    "displayOrder": 0,
                    "fields": [
                        {
                            "id": 60,
                            "title": "Possui algum tipo de alergia? ",
                            "descriptiveText": "teste cadastro hhhhsSSS",
                            "fieldType": 1,
                            "size": 10,
                            "mask": "9999-99999",
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": []
                        },
                        {
                            "id": 61,
                            "title": "Possui algum problema respiratório, reumatismo infeccioso ou sopro no coração?",
                            "fieldType": 11,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": []
                        },
                        {
                            "id": 62,
                            "title": "Qual problema respiratório?",
                            "fieldType": 1,
                            "size": 100,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": []
                        },
                        {
                            "id": 63,
                            "title": " É diabético?",
                            "fieldType": 7,
                            "required": "N",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": [
                                {
                                    "idField": 63,
                                    "sequential": 1,
                                    "text": "Sim",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                },
                                {
                                    "idField": 63,
                                    "sequential": 2,
                                    "text": "Não",
                                    "inactive": "N",
                                    "optionUsedPeople": false
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "id": 15,
            "idModel": 9,
            "title": "COVID-19",
            "displayOrder": 3,
            "fields": [
                {
                    "id": 64,
                    "title": " Já tomou todas as vacinas, inclusive a da COVID-19?",
                    "fieldType": 8,
                    "size": 50,
                    "required": "S",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": [
                        {
                            "idField": 64,
                            "sequential": 1,
                            "text": "Sim",
                            "inactive": "N",
                            "optionUsedPeople": false
                        },
                        {
                            "idField": 64,
                            "sequential": 2,
                            "text": "nao",
                            "inactive": "N",
                            "optionUsedPeople": false
                        },
                        {
                            "idField": 64,
                            "sequential": 3,
                            "text": "talve",
                            "inactive": "N",
                            "optionUsedPeople": false
                        }
                    ]
                },
                {
                    "id": 65,
                    "title": "Qual vacina da COVID-19?",
                    "fieldType": 1,
                    "size": 50,
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": []
                },
                {
                    "id": 66,
                    "title": "Data da Dose única da COVID-19:",
                    "fieldType": 4,
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": []
                },
                {
                    "id": 67,
                    "title": "Data em que tomou a 1º dose da COVID-19:",
                    "fieldType": 4,
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": []
                },
                {
                    "id": 68,
                    "title": "Data em que tomou a 2º dose da COVID-19:",
                    "fieldType": 4,
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": []
                },
                {
                    "id": 69,
                    "title": "Data em que tomou a dose de reforço da COVID-19",
                    "fieldType": 4,
                    "required": "N",
                    "inactive": "N",
                    "displayOrder": 0,
                    "optionsForSelection": []
                }
            ]
        },
        {
            "id": 16,
            "idModel": 9,
            "title": "Contato Escolar",
            "displayOrder": 0,
            "sections": [
                {
                    "idSection": 10,
                    "idWrapper": 16,
                    "title": "Em caso de emergência a escola deverá comunicar:",
                    "inactive": "N",
                    "displayOrder": 0,
                    "fields": [
                        {
                            "id": 70,
                            "title": "Nome",
                            "fieldType": 1,
                            "size": 100,
                            "required": "S",
                            "inactive": "N",
                            "displayOrder": 1,
                            "optionsForSelection": []
                        },
                        {
                            "id": 71,
                            "title": "Telefone",
                            "fieldType": 3,
                            "size": 20,
                            "mask": "(99)9999-9999",
                            "required": "S",
                            "inactive": "N",
                            "displayOrder": 0,
                            "optionsForSelection": []
                        },
                        {
                            "id": 72,
                            "title": "Parentesco",
                            "fieldType": 1,
                            "size": 40,
                            "mask": "(99)9999-9999",
                            "required": "S",
                            "inactive": "N",
                            "displayOrder": -1,
                            "optionsForSelection": []
                        }
                    ]
                }
            ]
        }
    ]
}

...

  • GET ( Retorna a ficha médica cadastrada)
  • POST (Criar Cria nova ficha médica)
  • PUT (Atualiza informações da ficha médica)

...

Informações
iconfalse
titleExemplo de Configuração

Domínio: localhost

Porta: 8051

Cód. Coligada: 1,  Id. Processo Seletivo: 161, Cód. Usuário PS: 386, Id. Ficha Médica:-1, Cód. Filial: 1, Nível de Ensino:1, Cód. Usuário PS Responsável pela atualização:26

Url Utilizada: http://localhost:8051/api/educational/v1/ApplicantRegistries/1|161|386/medicalRecord/-1?BranchCode=1&LevelEducationCode=1&ResponsibleApplicantCode=26

Dica
titleId. Ficha Médica

"Id. Ficha Médica" se passado -1 o sistema retornará  a ficha médica do modelo que esta ativo, caso contrário deverá ser passada o Id. Ficha médica do candidato (tabela SFICHAMEDICAPESSOA)

Aviso

O cadastro do campo é global, ou seja, um mesmo campo cadastrado poderá ser utilizado em outros contexto ou em vários modelos do mesmo contexto.

Por exemplo: Campo cadastrado "Qual é o seu tipo sanguíneo?", esse mesmo campo poderá ser adicionado em outros modelos de outros contexto ou do mesmo contexto.

É importante ressaltar que o campo nasce global de forma nativa, e permite que  a informação preenchida pelo aluno também seja global, por exemplo, se o aluno preencher o campo "Qual é o seu tipo sanguíneo?" na ficha médica da filial 01, e depois se esse aluno for transferido para a filial 02, e a ficha médica da filial 02 usar o mesmo campo no seu modelo de ficha médica, essa informação já vai estar preenchida na ficha médica da filial 02.

O mesmo aproveitamento acontecerá, no seguinte cenário: o usuário realiza a cópia da ficha médica "X" para o mesmo contexto, passando a ter a ficha médica "X Cópia". Na sequência inativa a ficha médica "X",  ativa a ficha médica "X Cópia" e acrescenta alguns novos campos, com isso quando o aluno acessar a ficha médica o sistema vai mostrar a ficha médica ativa "X Cópia" e carregara os campos já preenchidos pelo aluno.

Considerando os cenários acima, podem existir casos que para o modelo ativo no TOTVS Educacional, o candidato ainda não possui possua nenhuma ficha médica preenchida, no entanto existem campos associado associados a esse modelo que já foram preenchidos pelo candidato em outro momento através de outro modelo, neste caso a ficha médica será retornada com os campos que já estão preenchidos e o idMedicalRecord será igual a  -1 indicando que será uma nova ficha médica.

...