查找

公告
· 一月 6

Recapitulação do InterSystems Developer Community, Dezembro 2025

Olá e bem-vindo ao Recapitulação da comunidade de desenvolvedores Dezembro 2025.
Estatísticas gerais
21 novas postages publicadas em Dezembro:
 17 novos artigos
 4 novos anúncios
2 novos membros ingressaram em Dezembro
1,522 postagens publicadas ao todo
652 membros ingressaram ao todo
Principais publicações
Principais autores do mês
Artigos
#InterSystems IRIS
Use o IRIS Load Data no VSCode
Por Yuri Marx
Scripting com .Net Core 10 e IRIS SDK
Por Heloisa Paiva
Utilitário IRIS IO: Um Guia Completo para Importação Inteligente no VS Code
Por Heloisa Paiva
Integração com Git para o Iniciante Absoluto: Boas Práticas de Controle de Origem com o IRIS através do VSCode
Por Heloisa Paiva
Depuração 101: Seu Primeiro Breakpoint e Acompanhamento de Variáveis no VS Code
Por Evandro Wendt
Índices: O Poder Silencioso por Trás de Consultas Rápidas
Por Heloisa Paiva
Pergunte às suas classes IRIS usando Ollama, IRIS VectorDB e LangChain.
Por Evandro Wendt
Minha experiência com APIs e integração de POS
Por Heloisa Paiva
Usando o IRIS como um banco de dados vetorial
Por Heloisa Paiva
"Os Erros HTTP Ocultos" (Por trás do IIS)
Por Heloisa Paiva
Quando considerar o uso de useIrisFsGroup em suas implantações do IKO
Por Evandro Wendt
Aproveitando o Server Manager ao criar extensões do VS Code que se conectam a servidores InterSystems
Por Evandro Wendt
Arquivos temporários e singletons: limpem o que vocês gerarem.
Por Evandro Wendt
#DIM vs SET – ObjectScript
Por Evandro Wendt
 
#Open Exchange
 
#InterSystems IRIS for Health
 
#Outro
Desvendando o LangGraph
Por André Dienes Friedrich
 
Anúncios
Dezembro, 2025Month at a GlanceInterSystems Developer Community
讨论 (0)1
登录或注册以继续
文章
· 一月 6 阅读大约需 1 分钟

Incluindo ou removendo esses hífens (-) na sua operação FHIR personalizada

Muitas vezes, ao trabalhar com dados FHIR, por exemplo com o IRIS For Health, você vai achar útil criar uma operação FHIR personalizada. O padrão FHIR já vem com um conjunto de operações definidas (como $everything), mas uma operação personalizada é útil quando você precisa criar funcionalidades extras que vão além do conjunto de operações padrão do FHIR. A documentação guia você passo a passo (embora este comentário possa ser útil para quem está começando). Uma coisa que eu destacaria, puramente por propósitos estéticos, é como nomear sintaticamente sua função de forma que você possa chamá-la usando hífens. A documentação realmente explica isso:

Se a sua operação contiver um hífen (-), basta remover o hífen do nome do método. Por exemplo, se a operação em todo o sistema for $my-operation, nomeie o método como FHIRSystemOpMyOperation.

Embora eu apenas queira deixar isso mais explícito aqui:

Para uma operação sem hífen, por exemplo $thisismyoperation, nomeie seu método como FHIRSystemOpThisismyoperation (sim, a letra "T" de "This" deve estar maiúscula).

 

Se você quiser, em vez disso, que sua operação seja $this-is-my-operation, seu método deve ser FHIRSystemOpThisIsMyOperation. (A letra maiúscula indica que deve haver um hífen antes dela).

讨论 (0)1
登录或注册以继续
文章
· 一月 6 阅读大约需 2 分钟

Encontre e Exiba Valores a partir de textos

A utilidade retorna os valores desejados do texto e exibe múltiplos valores, se existirem, com base na string de início e na string de término.

Class Test.Utility.FunctionSet Extends %RegisteredObject
{

/// W !,##class(Test.Utility.FunctionSet).ExtractValues("Some random text VALUE=12345; some other VALUE=2345; more text VALUE=345678;","VALUE=",";")
 

ClassMethod ExtractValues(text As %String, startStr As %String, endStr As %String) As %String
{    //Initialize Valriables
   Set values = ""
   Set start = 1
   
   While start '= 0 {
 Set start = $FIND(text, startStr, start)
 IF start = 0 QUIT }
     Set end = $FIND(text, endStr, start)
     IF end = 0 QUIT }
    //S value = $E(text, start, end-2)
     value = $E(text, start, end-$L(endStr)-1)
     IF values '= "" {
  Set values = values _" "_value   
     }Else {
  values = value   
     }
     start = end
   }
    values
} }

Output:

W !,##class(Test.Utility.FunctionSet).ExtractValues("Some random text VALUE=12345; some other VALUE=2345; more text VALUE=345678;","VALUE=",";")

12345 2345 345678

讨论 (0)1
登录或注册以继续
文章
· 一月 6 阅读大约需 1 分钟

Usando IRIS como una base de datos vectorial

Las capacidades integradas de búsqueda vectorial de InterSystems IRIS nos permiten buscar datos no estructurados y semiestructurados. Los datos se convierten en vectores (también llamados “embeddings”) y luego se almacenan e indexan en InterSystems IRIS para búsqueda semántica, generación aumentada por recuperación (RAG), análisis de texto, motores de recomendación y otros casos de uso.

Esta es una demostración sencilla de IRIS siendo utilizado como una base de datos vectorial y para búsquedas por similitud en IRIS.

Requisitos previos:

  1. Python
  2. InterSystems IRIS for Health - ya que se usará como la base de datos vectorial

Repositorio: https://github.com/piyushisc/vectorsearchusingiris

Pasos a seguir:

  1. Clonar el repositorio.
  2. Abrir VS Code, conectarse a la instancia y espacio de nombres deseados de IRIS y compilar las clases.
  3. Abrir la terminal de IRIS e invocar el comando: do ##class(vectors.vectorstore).InsertEmbeddings(), Esto lee el texto del archivo text.txt genera los embeddings y los almacena en IRIS.
  4. Invocar el comando: do ##class(vectors.vectorstore).VectorSearch("search_terms") con las palabras deseadas para realizar la búsqueda por similitud. IRIS devolverá los tres resultados más cercanos:alt text
讨论 (0)1
登录或注册以继续
文章
· 一月 6 阅读大约需 2 分钟

Causa e solução do erro <SLMSPAN> ao eliminar uma global

Rubrica de FAQ da InterSystems

Se você tentar eliminar uma global que está mapeada no nível de subscrito a partir do nó raiz, você receberá um erro e ela não será excluída. Isso ocorre porque o comando kill para globais mapeadas no nível de subscrito não pode ser usado atravessando mapeamentos.

// Suppose subscript-mapped globals exist in different databases, as shown below:
^TEST(A*~K*) -> database A
^TEST(L*~Z*) -> database B

// Trying to kill from the top level will result in a <SLMSPAN> error.
NAMESPACE>Kill ^TEST
<SLMSPAN> <- This error is output.

Para excluir apenas a global no namespace (banco de dados) atual, use o seguinte:

NAMESPACE>Kill ^["^^."]TEST

Globais mapeadas no nível de subscrito devem ser movidas para o banco de dados e eliminadas diretamente.

Para alternar para o banco de dados, use o seguinte:

zn "^^c:\intersystems\iris\mgr\user"
or
set $namespace="^^c:\intersystems\iris\mgr\user"

Ao importar globais com $System.OBJ.Load, o comportamento padrão é eliminar as globais antes de importá-las.
Como resultado, se as globais de destino estiverem mapeadas no nível de subscrito, ocorre um erro <SLMSPAN>. Nesse caso, especifique o parâmetro /mergeglobal como segundo argumento de $System.OBJ.Load, conforme abaixo, para evitar a eliminação prévia:

Set sc = $System.OBJ.Load(path," /mergeglobal",.errors)

enlightened [Referências]
Mapped globals cannot be exported.
How do I compile mapped classes and routines?

讨论 (0)1
登录或注册以继续