New post

Rechercher

Question
· Nov 8, 2024

EnsLib.HL7.Message.getSegmentByIndex not documented?

Throughout the forum, I find examples of using the method getSegmentByIndex to get the segment as I loop through the HL7 message segments.

Today I spent way too long trying to figure out why I could not modify the segment with this same method. I reached out to my more experienced team and I showed where I got the base code from what I was doing, but I myself could not find the documentation of the method.

1 Comment
Discussion (1)2
Log in or sign up to continue
Article
· Nov 8, 2024 4m read

Usando o Python no InterSystems IRIS – Exportando dados para o Excel

Usando o Python no InterSystems IRIS

Vamos neste breve artigo ver como podemos utilizar o python como linguagem de programação dentro o InterSystems IRIS. Para o nosso exemplo vamos criar um método que exporta os dados de uma tabela do IRIS para um arquivo no formato XLS (MS-Excel). Para isso vamos utilizar a biblioteca pandas do python.

Primeiro, vamos ver a nossa tabela.:

Class Demo.Alunos Extends (%Persistent, %Populate)
{

Property name As %String(MAXLEN = 100);

Property dob As %Date(FORMAT = 4);

Property sex As %String(VALUELIST = ",F,M");

Property course As %String(VALUELIST = ",Engenharia,Arquitetura,Direito,Artes,Letras,Psicologia,Musica");

Property note1 As %Integer(MAXVAL = 10, MINVAL = 0);

Property note2 As %Integer(MAXVAL = 10, MINVAL = 0);

Property debt As %Boolean;

}

Note que estamos utilizando a superclasse %Populate na nossa classe Demo.Alunos. Esta superclasse nos permite popular a nossa tabela com dados que serão criados baseado no tipo de cada propriedade. Para mais detalhes do %Populate veja o link https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_populate

Compilada nossa classe, vamos abrir o terminal do Iris e pedir para criar 100 registros na nossa tabela:

Após criar os registros vamos verificar como ficou a nossa tabela. Abra o SQL Explorer no Portal de Administração do IRIS e veja o conteúdo da tabela:

 

Pronto. Temos nossa tabela criada e populada com 100 registros. Agora precisamos ver o python. Veja o link da documentação do IRIS a seguir: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython

Este link apresenta a documentação de instalação do python no IRIS para os diversos ambientes, e também o uso do irispip (até o IRIS 2024.1) ou pip (a partir do IRIS 2024.2) para a instalação de pacotes.

Uma vez instalado e configurado o python vamos abrir o shell python a partir do terminal do IRIS apenas para verificar se está tudo ok. Veja a tela a seguir:

Ótimo. Estamos com o ambiente montado e pronto para avançarmos. Vamos agora para o pacote que vamos utilizar, o pandas. Para maiores detalhes sobre este pacote veja o link a seguir: https://pandas.pydata.org/

Instale o pandas no seu ambiente obedecendo a documentação do IRIS. Veja o diretório de instalação dos pacotes e qual utilitário (irispip ou pip) usar (vai depender da sua versão de IRIS).

No meu ambiente (IRIS 2024.1) o comando seria, via shell do Windows, ir para o diretório bin da instalação do IRIS e executar o seguinte comando:

.\irispip install --target c:\InterSystems\IRIS_ISS\mgr\python pandas

No meu exemplo o pacote pandas será instalado em mgr\python da minha instalação de IRIS. Veja o caminho para mgr\python da sua instalação e ajuste o comando.

 Instalado o pandas vamos ao código do nosso método que exporta os dados para o Excel:

Class Python.Exporta [ Abstract ]
{

ClassMethod tabela() As %Status [ Language = python ]
{

              import iris
              import pandas as pd
             
              rs = iris.sql.exec("select * from demo.alunos")
              df = rs.dataframe()

              # Salvar o DataFrame como um arquivo XLS
              caminho_arquivo = 'c:\\temp\\dados.xlsx'
              df.to_excel(caminho_arquivo, index=False)
             
              return True
}

}

Salve e compile a classe. Uma vez criado o código vamos executa-lo via terminal:

 

Pronto. Agora é só ir até o local de criação e abrir a tabela:

 

O código python é bem simples. Primeiro criamos um recordset a partir do comando SQL para recuperar as linhas da nossa tabela. Depois convertemos esse recordset em um dataframe pandas. Então usamos o dataframe para exportar os dados no formato XLS.

Este é um exemplo simples de uso do python. Existem várias bibliotecas úteis prontas e disponíveis para uso.

Até a próxima!

1 Comment
Discussion (1)2
Log in or sign up to continue
Article
· Nov 8, 2024 1m read

Número máximo de namespaces e bases de dados

Perguntas frequentes da InterSystems 

O número máximo de namespaces que se podem criar em uma instância é de 2047. No entanto, para utilizar um grande número de namespaces, é necessário configurar a memória adequadamente.

O número máximo de bases de dados (incluso as bases de dados remotas) que se pode criar em uma instância é de 15.998. Dependendo do tipo de licença, pode haver restrições sobre a quantidade que se pode criar. Para mais detalhes, consulte o seguinte documento.

Configuração da Base de Dados [IRIS]
Configuração da Base de Dados

Discussion (0)1
Log in or sign up to continue
Question
· Nov 8, 2024

Debugging %Net.SMTP Requests

I'm having an issue with sending SMTP requests from a specific Microsoft 365 account to Gmail accounts. We can use other Microsoft 365 accounts, but something about this one specific account sending to Gmail fails. The error we get is just telling us that sending to the user xxxxx@gmail.com failed. In order to troubleshoot that, I'm looking for more detail than that.

I see %Net.SMTP objects have a Debug property, but when I set it to 1, I can't see anything happening differently. What does that debug value do? And is there any way to see a more fully detailed SMTP response that I'm just overlooking?

4 Comments
Discussion (4)3
Log in or sign up to continue
Article
· Nov 8, 2024 1m read

Cómo entrar en el Salón de la Fama del Portal de Ideas

¡Hola Comunidad!

Esperamos que ya sepáis que, cuando tenéis una idea interesante sobre productos o servicios de InterSystems, deberíais publicarla en el Portal de Ideas. Los miembros de la Comunidad de Desarrolladores que implementan las ideas propuestas son añadidos al "Salón de la Fama". ¿Queréis ser aceptados en el Salón de la Fama de Ideas de InterSystems? Seguid leyendo para descubrir cómo podéis entrar en la lista.

 

El Salón de la Fama se creó para rendir homenaje a los héroes que implementaron ideas del Portal de Ideas. Contiene los nombres de las ideas implementadas, los nombres de los desarrolladores que las hicieron realidad y la lista de proyectos.

Para ser mencionado en esta página:

1. Elegid una idea de la categoría "Community Opportunity" que os guste y podáis implementar.

2. Implementad esta idea y publicad el proyecto de implementación en el portal Open Exchange. Completad el campo "Ideas Portal" al publicar vuestra aplicación, incluyendo un enlace a la idea que habéis implementado.

O...

Publicad un comentario en la idea implementada en el Portal de Ideas con un enlace a vuestra aplicación en Open Exchange.

3. Los expertos del equipo de la Comunidad revisarán vuestra aplicación publicada. Después de eso, ¡bienvenidos al Salón de la Fama!

¡Buena suerte en vuestros proyectos de implementación de ideas!

Discussion (0)1
Log in or sign up to continue