Árvore de páginas

Datasources

Produto:Prontuário Eletrônico do Paciente
Assuntos:
  1. O que são os datasources?
  2. Como criar datasources?
  3. Datasource Manual (lista de opções)
  4. Datasource JSON (lista de registros)
  5. Datasource JSON_Object (registro único)

O que são os datasources?

Datasource é um recurso que permite obter dados externos para os componentes dos formulários dinâmicos.

Esses dados podem ser dinâmicos, quando são obtidos a partir de um ERP ou software periférico, ou pré-definidos pelo usuário, no caso do datasource manual.

Os dados obtidos nos datasources são utilizados principalmente para popular opções nos componentes do formulário (ex. DROPDOWN, RADIO, AUTOCOMPLETE, etc).


Como criar datasources?

Acessar o menu para inclusão de datasources e preencher os campos seguindo as orientações abaixo.

Campo DESCRIÇÃO

Campo de preenchimento obrigatório. Texto livre.

Campo TIPO DE DATASOURCE

Campo de preenchimento obrigatório. Conforme o tipo selecionado, novos campos são requeridos, conforme detalhado nos próximos tópicos. As opções são:

  • Manual (lista de opções)
  • JSON (lista de registros)
  • JSON_Object (registro único)

Campo ATIVO

Habilita e desabilita o datasource na página de construção de formulários.


Datasource Manual (lista de opções)

As opções são definidas pelo próprio usuário, e salvas no banco de dados. Também podem ser modificados pelo usuário a qualquer momento.

O campo OPÇÕES PRÉ-DEFINIDAS deve ser preenchido respeitando o formato informado.

É indicado para listas de poucas opções, como:

  • Sim, Não
  • Escalas (0, 1, 2, 3, ... Boa, Regular, Ruim, ...)

Na configuração dos dados manuais, deve-se observar o seguinte:

  • LABEL é a informação que será exibida para o usuário em tela
  • VALOR é a informação que será salva no banco de dados


Datasource JSON (lista de registros)

As opções são obtidas a partir da uma requisição para um serviço HTTP. O serviço deve retornar um JSON em formato compatível, podendo retorna uma lista de registros.

É indicado para listar informações de cadastros que já existem no ERP (ou software periférico), como:

  • CID
  • Profissionais
  • Alergias

Exemplo de configuração JSON

O campo ENDEREÇO DE ACESSO deve conter a URL do serviço.

Os campos LABEL e VALOR deverão indicar quais as propriedades na lista de objetos do JSON deverão ser mostrados em tela e salvos no banco, respectivamente.

O botão TESTAR pode ser usado para verificar se a requisição está OK.

Este tipo de requisição pode ser realizado sem filtros, trazendo uma lista completa de uma entidade, ou com a utilização de filtros na URL.

Este filtros podem ser de dois tipos, digitados pelo usuário ou utilizando as informações presentes na QUERYSTRING da requisição, ou seja, os parâmetros de entrada configurados na edição do formulário.

Para utilizar dados digitados pelo usuário, deve-se fazer o uso da macro @FILTER na url, muito utilizada em conjunto com o componente AUTOCOMPLETE, por exemplo. Já para utilizar os dados de parâmetro de entrada do formulário, utilizar a macro @QUERY('nome_do_parametro_de_entrada').

Exemplos de requisições:

Exemplo 1: buscando todos os registros de uma consulta sem aplicar filtros

http://localhost/TOTVSBusinessConnect/wsFormDinamico.asmx/GetJSON?codSentenca=XXX&CodAplicacao=O&parameters=

Exemplo 2: buscando os registros de uma consulta filtrando pelo texto digitado em um componente (AUTOCOMPLETE por exemplo)

http://localhost/TOTVSBusinessConnect/wsFormDinamico.asmx/GetJSON?codSentenca=XXX&CodAplicacao=O&parameters=NOMEPACIENTE=@FILTER

Exemplo 3: buscando os registros de uma consulta filtrando por um parâmetro de entrada configurado na edição do formulário.

http://localhost/TOTVSBusinessConnect/wsFormDinamico.asmx/GetJSON?codSentenca=XXX&CodAplicacao=O&parameters=CODPACIENTE=@QUERY('patientId')


Exemplo de retorno JSON


Datasource JSON_Object (registro único)

As informações são obtidas a partir da uma requisição para um serviço HTTP. O serviço deve retornar um JSON em formato compatível, e retornar um único registro.

É utilizado somente para buscar uma coleção de informações específicas, do registro único retornado no JSON que podem ser mostradas no formulário, como:

  • Dados do paciente
  • Dados do atendimento

Em geral essa requisição é feita com a utilização de filtros na URL (código do paciente, por exemplo). Para enviar filtros na URL, utilizar a macro @QUERY('nome_do_parametro_de_entrada'). Os filtros que podem ser enviados nessa requisição do JSON_Object limitam-se aos filtros presentes na QUERYSTRING da requisição do formulário, ou seja, os parâmetros de entrada configurados na edição do formulário. Os filtros mais comuns são: mpi ou patientId (código do paciente) ou attentionId (código do atendimento) - novos filtros poderão estar disponíveis no futuro.

Para mostrar no formulário os dados retornados pelo JSON_Object, deve-se fazer a referência à FUNÇÃO DE ACESSO na fórmula do metadado (ex. DADOSPACIENTE('EIR001_NAME') ).

Dessa forma, é possível que um componente TEXTBOX, por exemplo, exiba o nome do paciente no cabeçalho do formulário.

Exemplo de configuração JSON_Object

O campo ENDEREÇO DE ACESSO deve conter a URL do serviço. Pode ser utilizada a macro @QUERY('nome_do_parametro_de_entrada') para envio de parâmetros na URL.

O campo NOME DA FUNÇÃO DE ACESSO define um nome de função que permite acessar os dados do JSON retornado pela requisição. Este nome de função pode então ser usado na FÓRMULA de METADADO para que o valor seja recuperado para o componente.
O botão TESTAR pode ser usado para verificar se a requisição está OK.

Exemplo: buscando os registros de uma consulta filtrando por um parâmetro de entrada configurado na edição do formulário.

http://localhost/TOTVSBusinessConnect/wsFormDinamico.asmx/GetJSON_OBJECT?codSentenca=XXX&CodAplicacao=O&parameters=CODPACIENTE=@QUERY('patientId')



Exemplo de retorno JSON_Object

.