Usando o utilitário Populate do IRIS para preencher dados
Olá, desenvolvedores. No momento, estou realizando uma demonstração sobre o desenvolvimento de uma IU front-end fazendo análise de dados e configurando um teste de desempenho com grandes objetos de dados. Portanto, o uso do utilitário Populate pode me ajudar a gerar automaticamente alguns dados de amostra com que eu possa brincar.
Neste post, gostaria de compartilhar minha experiência ao usar o utilitário Populate, incluindo o parâmetro POPSPEC.
- No início, criei 2 classes persistentes para o suporte do utilitário Populate ( Extends (%Persistent, %Populate)): popPatient que busca preencher as informações dos pacientes e popSign para simular os dados coletados de um sensor de frequência cardíaca no paciente.


2.1 Para deixar esta demonstração parecida com circunstâncias reais, quero adicionar o intervalo de valores das variáveis para algumas propriedades ao usar MAXVAL e MINVAL. Por exemplo, não se pode esperar que um paciente tenha mil anos de idade.

Faça o mesmo com a frequência cardíaca em BPM

2.2 Se precisamos usar um método de geração automática personalizado, utilizamos POPSPEC para definir os valores gerados. Por exemplo, temos classes pré-definidas que podem ser referenciadas diretamente e gerar números de telefone dos EUA. Porém, no meu caso, quero gerar um formato correspondente ao número de telefone australiano. Também quero registrar o horário de coleta das frequências cardíacas e criar uma lista para colocar todos os valores que quero gerar nela. Para tudo isso, precisamos usar POPSPEC para personalizar a geração de dados a partir de um método definido pelo usuário.
Nesse caso, escrevi dois classMethods simples para predefinir o formato do número de telefone e detectar o carimbo de data/hora atual como o horário de coleta da frequência cardíaca. Em seguida, adicionei o parâmetro POPSPEC à propriedade relacionada


- Execute o método e comece a popular os dados
Você pode simplesmente inserir o comando a seguir no Terminal para popular os dados, substituindo number pelo número de valores que precisam ser preenchidos.
"do ##class(Demo.popPatient).Populate( number )"
"do ##class(Demo.popSign).Populate( number )"
Ou você pode colocar esses dois comandos definidos em um classMethod como este e executar "do ##class(Demo.RunPopulate). StartPop ('times for patient', times for signs')

- Aqui está um exemplo para gerar 10 pacientes e 50 sinais de frequência cardíaca coletados



Espero que esta simples exploração possa ajudar você. Happy Coding!