Produto: | Prontuário Eletrônico do Paciente |
Assuntos: |
|
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).
Acessar o menu para inclusão de datasources e preencher os campos seguindo as orientações abaixo.
Campo de preenchimento obrigatório. Texto livre.
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:
Habilita e desabilita o datasource na página de construção de formulários.
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:
Na configuração dos dados manuais, deve-se observar o seguinte:
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:
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¶meters=
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¶meters=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¶meters=CODPACIENTE=@QUERY('patientId')
Exemplo de retorno JSON
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:
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.
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.
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¶meters=CODPACIENTE=@QUERY('patientId')