#Ensemble

0 Seguidores · 95 Postagens

InterSystems Ensemble é uma plataforma completa e fácil de usar que permite aos usuários conectarem pessoas, processos e aplicações em tempo recorde.

Saber mais

Documentação

Artigo Heloisa Paiva · Out. 19, 2025 14m read

Visão Geral

Esta interface web foi projetada para facilitar o gerenciamento de Tabelas de Pesquisa de Dados (Data Lookup Tables) por meio de uma página web amigável. É particularmente útil quando os valores da sua tabela de pesquisa são grandes, dinâmicos e mudam frequentemente. Ao conceder aos usuários finais acesso controlado a esta interface web (permissões de leitura, escrita e exclusão limitadas a esta página), eles podem gerenciar os dados da tabela de pesquisa de forma eficiente, de acordo com suas necessidades.

Os dados gerenciados por meio desta interface podem ser utilizados perfeitamente em regras ou transformações de dados do HealthConnect, eliminando a necessidade de constante monitoramento e gerenciamento manual das tabelas de pesquisa, economizando tempo significativo.

Nota: 

Se a Tabela de Pesquisa de Dados padrão não atender aos seus requisitos de mapeamento, você pode criar uma tabela personalizada e adaptar esta interface web, juntamente com sua classe de suporte, com modificações mínimas. O código de exemplo da classe está disponível mediante solicitação.

0
0 15
Artigo Heloisa Paiva · Out. 17, 2025 3m read

Para gerenciar o acúmulo de dados de produção, o InterSystems IRIS permite aos usuários controlar o tamanho do banco de dados eliminando (expurgando) periodicamente os dados. Esta purga pode ser aplicada a mensagens, registros, processos de negócio e alertas gerenciados.

Consulte a documentação para obter mais detalhes sobre a configuração da tarefa de expurgo:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_settings

0
0 16
Artigo Heloisa Paiva · Out. 9, 2025 3m read

Quando precisamos integrar o Caché/IRIS com outros bancos de dados relacionais, uma pergunta comum surge: “Como configuro a conexão JDBC?”. A documentação oficial nem sempre fornece um guia passo a passo direto, o que pode ser frustrante, especialmente para iniciantes.

Neste artigo, vou guiá-lo por todo o processo de configuração de uma conexão JDBC com MySQL, desde o download do conector até o espelhamento de tabelas no Caché/IRIS.

0
0 18
Artigo Heloisa Paiva · Set. 16, 2025 3m read

Começar a usar ObjectScript é realmente empolgante, mas também pode parecer um pouco estranho se você está acostumado com outras linguagens. Muitos iniciantes tropeçam nos mesmos obstáculos, então aqui estão alguns "pegadinhas" que você vai querer evitar. (Além de algumas dicas amigáveis para contorná-las.)

Nomear Coisas Aleatoriamente

Todos nós já fomos culpados de nomear algo como Test1 ou MyClass apenas para seguir em frente rapidamente. Mas quando seu projeto cresce, esses nomes se tornam um pesadelo.

0
0 35
Artigo Heloisa Paiva · Set. 9, 2025 3m read

Rubrica InterSystems FAQ

Você pode verificar o espaço em disco a qualquer momento usando a classe utilitária do sistema: SYS.Database e a consulta: FreeSpace.

Aqui está como testar no terminal IRIS (vá para o namespace %SYS e então execute):

zn"%SYS"set stmt=##class(%SQL.Statement).%New()
set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
set rset=stmt.%Execute()
do rset.%Display()

O exemplo de resultado de saída é o seguinte:

0
0 20
Artigo Heloisa Paiva · Set. 6, 2025 1m read

Rubrica InterSystems FAQ

O mirror sincroniza apenas arquivos de banco de dados.

Para sincronizar outros arquivos necessários para sua aplicação (arquivos CSP, imagens, documentos, etc.) entre os dois servidores que compõem o conjunto de espelhamento, siga uma das seguintes abordagens:

  1. Coloque esses arquivos em um disco compartilhado, usando um NAS ou dispositivo similar.
  2. Ou use um software de sincronização de arquivos para sincronizá-los entre os dois servidores.
0
0 20
Artigo Larissa Prussak · Ago. 29, 2025 1m read

InterSystems FAQ rubric

Por padrão, a ordem das colunas em uma tabela é determinada automaticamente pelo sistema.
Para alterar a ordem, defina explicitamente a ordem de cada propriedade utilizando a palavra-chave SqlColumnNumber ao definir a classe.

Exemplo:

Property Name As %String [SqlColumnNumber = 2];

Consulte a documentação abaixo.

SqlColumnNumber

Se você deseja alterar o nome da tabela SQL, especifiqueSqlTableName. Se você deseja alterar o nome da coluna (nome do campo), especifiqueSqlFieldName.

Ambos se aplicam apenas a classes persistentes.

0
0 19
Artigo Larissa Prussak · Jul. 24, 2025 2m read

Se você está investigando Globals estruturadas complexas, isso pode facilmente se tornar um exercício cansativo de digitação.
Diferente do Global Explorer no System Management Portal, o Global-Inspector permite um tipo de navegação aprofundada (drill-down), permitindo explorar nível por nível dos subscritos. Você também tem a opção de visualizar o conteúdo armazenado ou mostrar apenas a estrutura de subscritos. Globals que armazenam tabelas SQL podem não ser tão interessantes, mas no espaço SYSTEM, você encontrará verdadeiras árvores com ramos e ramificações completamente diferentes.

2
0 26
Artigo Henry Pereira · Ago. 3, 2025 5m read

artisan cover

Se você já viu um artesão em ação — seja um ceramista moldando o barro até virar arte ou um luthier transformando madeira bruta em um violão extraordinário — sabe que a mágica não está nos materiais, e sim no cuidado, na técnica e no processo. Tenho uma guitarra feita por um luthier que me inspira todos os dias. Mas, vou confessar, criar algo assim é um talento que não tenho.

Por outro lado, no digital, vejo muita gente esperando essa mesma “mágica” de uma IA generativa... prompts genéricos como “crie um app” e esperando resultados espetaculares. Espera-se que a IA faça milagres com zero contexto.

Foi dessa frustração que nasceu o dc-artisan — uma ferramenta para quem quer ser um verdadeiro artesão na criação de prompts. A proposta? Ajudar qualquer pessoa a transformar aquela ideia bruta e mal formata em um prompt funcional, eficiente e cheio de contexto.

Assim como o artesão não faz belas peças por sorte, gerar bons resultados com IA exige intenção, preparo e um bom processo. O problema quase nunca é a IA em si — é como nós a utilizamos. Igual ao luthier que escolhe a madeira certa e molda cada detalhe, engenhar prompts bons exige clareza, estrutura e propósito.

Acreditamos que o mundo merece muito mais do que “prompts mágicos” que só levem à decepção. A IA generativa mostra todo seu potencial guiada por humanos com clareza, objetivos reais e estrutura bem pensada. Nenhum artesão cria beleza por acidente — gerar boas respostas com IA requer preparo e cuidado.

Engenharia de Prompt é uma Arte — e o dc-artisan é Sua Oficina

O dc-artisan trata a criação de prompts como um ofício — algo sistematizado, que pode ser aprendido, testado e aprimorado. Ele oferece uma caixa de ferramentas completa, indo além da tentativa-e-erro.

De início, o dc-artisan busca entender seu prompt, ele interage diretamente com você:

  • Perguntas inteligentes: O dc-artisan analisa seu prompt e faz perguntas pontuais para entender o que você realmente quer, quem é o público, qual o formato esperado e que informações faltam. Por exemplo:
    • “Você espera qual tipo de saída? Um resumo textual, código ou dados estruturados?”
    • “Quem é o público-alvo?”
    • “Qual será o tipo de conteúdo usado com esse prompt?”

prompt enhance

Essas interações te ajudam a entender não apenas o “o que” você quer dizer, mas o “por quê”.

Com o objetivo claro, o dc-artisan analisa a estrutura do seu prompt e oferece sugestões personalizadas — para melhorar a clareza, ajustar o tom e preencher lacunas críticas de contexto.

E o melhor: tudo isso dentro do editor favorito — o VS Code! Você pode incluir variáveis diretamente no seu prompt (como {task} ou {audience}), o que oferece flexibilidade e reaproveitamento. É possível visualizar instantaneamente como os prompts ficam com diferentes substituições — e ver exatamente como vão funcionar.

Mas não para por aí.

Teste, Ajuste e Melhore Seus Prompts

O dc-artisan também ajuda você a fazer tuning de prompts para extrair o melhor desempenho. Basta fazer o upload de um CSV com casos de teste para que a ferramenta avalie de forma automatizada a consistência, a qualidade da saída e o impacto da estrutura do prompt em diferentes contextos.

O dc-artisan analisa cada resposta e gera um relatório completo com métricas de similaridade — assim você pode otimizar seus prompts com dados reais, não com achismo.

testing

Criar Prompts Sem Contexto Não É Técnica — É Caos

Criar prompts sem estrutura é como tentar esculpir madeira vendado. Algo pode sair... mas dificilmente vai soar como um bom instrumento.

Muitos caem em dois extremos: prompts vagos e curtos demais, ou blocos enormes de conteúdo jogados sem organização. Nenhum dos dois funciona. Ou a IA não entende o que você quer, ou se perde em um mar de informações inúteis.

E quando o contexto é longo ou confuso demais, até LLMs avançadas perdem o rumo. Em vez de pensar, elas repetem o conteúdo anterior ou se prendem a padrões do início da conversa. Ironicamente, modelos com contexto grandes (como 32k tokens) são ainda mais propensos a este erro.

A solução para esse problema? RAG (Retrieval-Augmented Generation): não dar qualquer informação à IA, mas sim as relevantes, no momento certo.

Como o dc-artisan e o Modo RAG Pipeline Entram em Cena

O dc-artisan une criação de prompts com gestão de contexto. Ele não só te ajuda a escrever prompts melhores — ele garante que a IA receba informação relevante, e não um tsunami aleatório.

Com o Modo RAG Pipeline, você pode:

  • 🗂️ Enviar e dividir documentos: PDF, DOCX, Markdown, TXT — tudo isso pode ser dividido em blocos e enviado para sua base vector.
  • 🧬 Inspecionar blocos de texto: Veja cada bloco de embedding vector com clareza.
  • 🧹 Gerenciar conteúdo: Remova diretamente blocos desatualizados ou irrelevantes, mantendo a “memória” da IA enxuta e refinada.

rag

Essa ideia foi inspirada pelo Portal de Ideias da InterSystems (DPI-I-557)

Arquitetura Robusta e Flexível

Um dos maiores diferenciais do dc-artisan está por trás dos panos: seu backend. A extensão roda sobre o InterSystems IRIS Interoperability, com um adapter para o liteLLM que desenvolvemos.

Essa estrutura garante flexibilidade e integração com múltiplas LLMs. Você não fica preso a uma única IA. Pode alternar e conectar, no mesmo ambiente, com plataformas como OpenAI, Gemini, Claude, Azure OpenAI entre outras.

Cada vez mais desenvolvedores estão percebendo que prompting não é sobre “mágica” — é sobre propósito, clareza e contexto. Não se trata de chutar palavras certas, mas projetar prompts como engenheiros e não como feiticeiros.

Assim como luthiers criam instrumentos com alma a partir de madeira, você também pode esculpir prompts com contexto, previsíveis e eficazes com uma ferramenta feita sob medida para isso.

dc-artisan não é só uma ferramenta — é uma mudança de mentalidade: do improviso para a precisão, da sorte para a técnica, da intuição para a arte.

🎸 Pronto pra criar prompts com as próprias mãos?
⚙️ Abra o VS Code, instale o dc-artisan e comece a esculpir seu prompt como um artesão — não como um mágico.

dc-artisan

2
0 26
InterSystems Oficial Danusa Calixto · Mar. 26, 2025 5m read

A interface de usuário de interoperabilidade agora inclui experiências de usuário modernizadas para os aplicativos Editor DTL e Configuração da Produção que estão disponíveis para aceitação em todos os produtos de interoperabilidade. Você pode alternar entre as visualizações modernizada e padrão. Todas as outras telas de interoperabilidade permanecem na interface de usuário padrão. Observe que as alterações são limitadas a esses dois aplicativos e identificamos abaixo a funcionalidade que está disponível atualmente.

0
0 38
Artigo Danusa Calixto · Mar. 21, 2025 1m read

Rubrica de FAQ da InterSystems
 

Pode ser feito com o TRY-CATCH:

#dim ex As%Exception.AbstractExceptionTRY {
    //Code that causes an error
  }
  CATCH ex {
     do ex.Log()
  }

Se você usar o ^%ETN, chame-o a partir do bloco BACK (BACK^%ETN).

Por favor, dê uma olhada também no artigo relacionado: Como buscar erros de aplicação (^ERRORS) usando um comando

0
0 30
InterSystems Oficial Danusa Calixto · Mar. 7, 2025

A partir da plataforma de dados InterSystems IRIS® versão 2025.1, a InterSystems está oficialmente descontinuando o MultiValue e incluindo-o na lista de Recursos Descontinuados e Obsoletos. Embora a InterSystems continue a oferecer suporte aos clientes existentes que usam o MultiValue, ele não é recomendado para novos aplicativos.

O Que Isso Significa:

0
0 22
Artigo Heloisa Paiva · Fev. 19, 2025 7m read


Olá!

Este artigo é uma pequena visão geral de uma ferramenta que ajuda a entender classes e sua estrutura dentro dos produtos InterSystems: do IRIS ao Caché, Ensemble e HealthShare.

Em resumo, ela visualiza uma classe ou um pacote inteiro, mostra as relações entre as classes e fornece todas as informações possíveis para desenvolvedores e líderes de equipe sem fazê-los ir ao Studio e examinar o código lá.

Se você está aprendendo os produtos InterSystems, revisando muitos projetos ou apenas interessado em algo novo nas soluções de tecnologia InterSystems - você é mais do que bem-vindo para ler a visão geral do ObjectScript Class Explorer!

0
0 63
Artigo Heloisa Paiva · Fev. 3, 2025 3m read

Variáveis de host são um recurso de programação bastante comum em muitas implementações de SQL.
Uma pergunta recente no DC me alertou para o fato de que, no IRIS, Caché, Ensemble, ... variáveis de host existem apenas dentro do SQL incorporado:

>  Você pode fornecer variáveis de host apenas para consultas SQL incorporadas.  <

Exemplos relacionados estão incluídos na documentação disponível.

Esta é uma descrição de uma solução alternativa caso você não use/não possa usar SQL incorporado.

1
0 36
Artigo Danusa Calixto · Dez. 22, 2023 2m read

Rubrica de perguntas frequentes da InterSystems

Para resolver o erro <PROTECT>, remova o atributo somente leitura do banco de dados da biblioteca de todo o sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (baseado em Caché))

Quando terminar de importar a rotina, lembre-se de alterá-la novamente para somente leitura.
 

[Versão 2013.1 e acima]
[Portal de Gerenciamento] > [Administração do Sistema] > [Configuração] > [Configuração do Sistema] > [Banco de Dados Local] Desmarque "Mount read-only" (Montar somente leitura) no link do nome do banco de dados.

[Versão 2011.1 - Versão 2012.2]
[Portal de Gerenciamento] > [Administração do Sistema] > [Configuração] > [Configuração] > [Banco de dados local] Mude "Read-only?" (Somente leitura?) de [Editar] do banco de dados relevante.  

[Versão 2010.2 ou mais recente]
[Portal de Gerenciamento de Sistemas] > [Configuração] > [Banco de Dados Local] Mude "Read-only?" (Somente leitura?) de [Editar] do banco de dados relevante. 

Geralmente, o banco de dados da biblioteca de todo o sistema (IRISLIB/CACHELIB) armazena as rotinas com % que são reservadas pelos produtos da InterSystems. As rotinas escritas pelo usuário com nomes de rotinas %a* a %y* são armazenadas no banco de dados da biblioteca de todo o sistema(IRISLIB/CACHELIB).

Ao salvar rotinas definidas pelo usuário com % no sistema, recomendamos nomes que começam com %Z ou %z.

As rotinas que começam com %Z, %z são armazenadas no banco de dados do sistema ("IRISSYS" para InterSystems IRIS e "CAHESYS" para Caché/Ensemble/HealthShare) e são transferidas ao fazer upgrade dos produtos da InterSystems.

Observe que as rotinas com %, além das %Z e %z salvas no banco de dados da biblioteca de todo o sistema (IRISLIB/CACHELIB), serão excluídas durante o upgrade.

1
1 119
Artigo Marcio Sorvi · Dez. 19, 2024 3m read

Nós estávamos com uma ocorrência em um cliente em que todas as licenças estavam sendo consumidas e a CPU bastane onerada.

Consultávamos no portal de administração, na lista de processos, mas como o problema era intermitente, não conseguiamos identificar o "vilão".

Fizemos um programa simples, que coleta os processos e algumas informações destes, tais como : IP, executável etc.​​​​​​, e gravamos em arquivo .csv.

No portal de administração -> Operação do Sistema -> Gerenciador de Tarefas, cadastramos uma nova tarefa que executa este programa a cada 10 minutos.

1
0 48
Artigo Marcio Sorvi · Dez. 19, 2024 1m read

Eu criei uma classe que gera código para query customizada a partir de uma global qualquer em um determinado namespace,  fazendo com que a global responda ao padrão SQL imediatamente.

Veja abaixo tela com exemplo de uma Global.

Na tela seguinte, como exemplo, executo método passando parâmetros (global e namespace):

Por último, acesso o portal de Administração e executo a query já com a Global respondendo em SQL

​​​​​​​

Os campos que são exibidos no SQL são correspondentes aos Pieces e níveis da global.

​​​​​​​Exemplo:

​​​​​​​Index1 -> o índice no primeiro nível da global

0
0 55
Artigo Heloisa Paiva · Nov. 10, 2024 1m read

Rubrica InterSystems FAQ 

Isso pode ser obtido com uma query de lista da classe %SYS.Namespace

1. Crie uma rotina assim:

getnsp
   set statement=##class(%SQL.Statement).%New()
   set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
   set resultset=statement.%Execute()
   while resultset.%Next() {
       write resultset.%Get("Nsp"),!
   }
   quit

2. Rode no seu terminal

USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER

O método de executar queries de classe introduzido nesse artigo pode ser aplicado em uma variedade de classes

0
0 38
Artigo Heloisa Paiva · Out. 10, 2024 2m read

Olá comunidade!

Eu trago aqui uma dica para poupar algumas horas do seu dia. A documentação InterSystems especifica muito bem como criar um script de freeze para as instâncias, mas não traz exemplos em instâncias espelhadas, onde queremos deixar o script automático, mas só rodar efetivamente na instância primária.

Primeiro, vamos criar uma classe abstrata no namespace %SYS com métodos que verificam se a instância é primária e, caso positivo, executam o freeze.

0
0 46
Artigo Heloisa Paiva · Set. 16, 2024 1m read

[FAQ] Preguntas frecuentes de InterSystems

O seguinte código baixa https://www.intersystems.com/assets/intersystems-logo.png e salva o arquivo como c:\temp\test.png.

É necessário definir uma configuração SSL chamada SSLTEST antes de executar esse código

0
0 36
Artigo Heloisa Paiva · Ago. 31, 2024 5m read

Rubrica InterSystems FAQ 

Os dados dos produtos InterSystems (linha de tabela, instância de objeto) são guardados em variáveis globais.
O tamanho de dados de cada global pode ser obtido clicando nas propriedades da global que você quer ver da página Portal de Adminitração > Sistema > Configuração > Base de dados Local > Globais, então clicando no botão Calcular Tamanho na página de atributos globais que aparece.
Para exibir os tamanhos de globais num namespace, você pode usar ^%GSIZE no terminal
A execução do método é a seguinte:

0
0 55
Artigo Heloisa Paiva · Ago. 29, 2024 1m read

Se você encontrou o problema de que nem todas as linhas do seu resultado estão retornando no seu snapshot, você está no lugar certo.

Ao usar snapshots, existe uma informação não trivial de que eles têm um máximo de linhas que vem por padrão como 250.

Para mudar isso é muito simples. Ao invés de enviar o snapshot como referência direto no seu método de execução de query ou procedure, vamos inicializá-lo antes e definir um valor na propriedade MaxRowsToGet.

0
0 34
Artigo Heloisa Paiva · Ago. 16, 2024 3m read

Rubrica InterSystems FAQ 

Globais temporárias armazenadas nas bases de dados IRISTEMP/CACHETEMP são usadas quando um processo não precisa guardar dados indefinidamente, mas requere a poderosa performance das globais. As bases de dados IRISTEMP/CACHETEMP não são jounralizadas, então usar globais temporárias não cria arquivos de journal.

O sistema usa as bases de dados IRISTEMP/CACHETEMP para armazenamento temporário e estão disponíveis para usuários para o mesmo objetivo.

0
0 60
InterSystems Oficial Gerson Saito · Jul. 17, 2024

A partir de 15 de outubro de 2024, o suporte para Caché e Ensemble no MacOS será Descontinuado.

Caché & Ensemble 2018.1.9 continuará a ter suporte, no entanto, não haverá mais lançamentos de manutenção para MacOS. Isso significa que Caché & Ensemble 2018.1.9 será a versão final desses produtos no MacOS.

Como lembrete, as versões de manutenção do Caché e do Ensemble nas outras plataformas suportadas terminarão em 31 de março de 2027.
Mais detalhes sobre isso podem ser encontrados no anúncio do ano passado.

0
0 57
Artigo Heloisa Paiva · Jun. 8, 2024 1m read

Rubrica InterSystems FAQ

Para desabilitar esse timeout, defina o timeout da query como desabilitado nas configurações de DSN (Data Source Name - Nome da fonte de dados):

Painel de controle Windows > Ferramentas de Administração > Fontes de Dados (ODBC) > Configuração de DSN do sistema

Se você marcar "Desabiltar o timeout de query", o timeout será desabilitado.

Se quiser mudar isso no lado da aplicação, você pode definir no nível da ODBC API.

Defina o atributo SQL_ATTR_QUERY_TIMEOUT quando chamar a função ODBC SQLSetStmtAttr antes de conectar à fonte de dados.

0
0 74