Construção de um repositório FHIR + o servidor de autorização/recurso OAuth2 no IRIS for Health - Parte 2
IRIS para #FHIR #OAuth2 #InterSystems de Saúde
Olá, caros desenvolvedores!
Neste artigo, vamos focar-nos na OAuth2, um protocolo que é cada vez mais utilizado em combinação com o FHIR para realizar permissões.

1 0
0 38

O arquivo Messages.log contém muitas informações úteis sobre o IRIS. Às vezes, o arquivo fica grande e não é fácil encontrar os dados que estou interessado em revisar. Seria bom pular para uma data e hora específica em que suspeitamos que um problema possa ter começado.

Sempre que preciso de suporte da InterSystems, o WRC pedirá que envie o arquivo Messages.log. Dependendo de onde o IRIS está implantado, pode ser difícil obter o arquivo Messages.log para enviá-lo para a InterSystems.

1 0
0 38

A maioria dos aplicativos transacionais tem um perfil de leitura/escrita (RW) de 70:30. No entanto, alguns casos especiais têm perfis de IO extremamente altos.

Realizei testes de IO de armazenamento na região da AWS ap-southeast-2 (Sydney) para simular os padrões de IO do banco de dados do IRIS e uma taxa de transferência semelhante a de um aplicativo com uma alta taxa de escrita.

1 0
0 38

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.

0 0
0 38

Alguns dos nossos aplicativos oferecem serviços SOAP que usam consultas SQL baseadas em "DSTIME" que retornam registros que foram adicionados ou alterados recentemente. Como os registros não mudam com frequência, essas consultas geralmente retornam uma quantidade pequena de registros e, por isso, levam pouco tempo.

0 0
0 38

Rubrica de perguntas frequentes da InterSystems

No Linux, siga as etapas a seguir para excluir uma instância do InterSystems IRIS (doravante denominada IRIS).

(1) Pare a instância IRIS que você deseja desinstalar usando iris stop

# iris stop <instance name>

(2) Exclua as informações da instância usando o seguinte comando

1 0
0 37

O SDK Nativo para Python da InterSystems é uma interface leve de APIs do InterSystems IRIS que antes estavam disponíveis somente por ObjectScript.

Estou especialmente interessado na capacidade de chamar métodos ObjectScript ou class methods, para ser preciso. Funciona muito bem, mas, por padrão, as chamadas só são compatíveis com argumentos escalares: strings, booleanos, inteiros e floats.

No entanto, se você quiser:
- Transmitir ou retornar estruturas, como dicionários ou listas
- Transmitir ou retornar streams

Você precisará escrever glue code ou usar este projeto (instalação com pip install edpy). O pacote edpy fornece uma simples assinatura:

call(iris, class_name, method_name, args)

que permite chamar qualquer método ObjectScript e receber resultados de volta.

1 0
0 37
Artigo
· Ago. 18, 2023 2min de leitura
InterSystems IRIS em contêineres

A InterSystems também lançou o IRIS como implantações em contêineres. Esta postagem demonstra como o InterSystems IRIS e os aplicativos que dependem do IRIS como um back-end podem ser empacotados em uma imagem e executados em outras máquinas em contêineres e como é simples fazer isso.

Um contêiner executa imagens que possuem todos os executáveis, código binário, bibliotecas e arquivos de configuração necessários. E as imagens podem ser movidas de uma máquina para outra, e um repositório de imagens como o Docker Hub pode simplificar esse processo.

0 0
0 36
Artigo
· Ago. 8, 2023 11min de leitura
Referência para as Classes Web JSON

Prefácio

O InterSystems IRIS a partir da versão 2022.2 inclui uma funcionalidade reformulada para JSON web tokens (JWTs). Antes localizada no pacote da classe %OAuth2, a classe JWT, junto com as outras classes da Web JSON (JWCs), agora está em %Net.JSON. Essa migração ocorreu para modularizar as JWCs. Antes, eles estavam estreitamente ligados à implementação do framework OAuth 2.0. Agora, eles podem ser mantidos e usados separadamente.

2 0
0 36

Com frequência, me pedem para avaliar dados de desempenho relacionados a aplicativos IRIS de clientes para entender se os recursos do sistema são sub ou superprovisionados.

Este exemplo recente é interessante, porque envolve um aplicativo que fez uma migração "lift and shift" de um grande aplicativo de banco de dados IRIS para a nuvem. AWS, no caso.

Um aprendizado importante é que, depois de migrar para a nuvem, os recursos podem ser dimensionados corretamente ao longo do tempo conforme necessário. Não é preciso comprar e provisionar infraestrutura local para o crescimento que você espera alcançar daqui a vários anos no futuro.

É necessário monitoramento contínuo. A taxa de transações do seu aplicativo mudará à medida que seu negócio e o próprio aplicativo ou o uso dele mudar. Isso alterará os requisitos de recursos do sistema. Planejadores também devem considerar picos sazonais na atividade. Claro, uma vantagem da nuvem é que os recursos podem ser aumentados ou reduzidos conforme necessário.

Para mais informações contextuais, há vários posts detalhados sobre AWS e IRIS na comunidade. Um bom ponto de partida é pesquisar "referência da AWS". Também adicionei alguns links úteis no final deste post.

Os serviços da AWS são como blocos de Lego: tamanhos e formatos diferentes podem ser combinados. Ignorei networking, segurança e preparação de uma VPC para este post. Foquei em dois dos componentes de blocos de Lego;
- Requisitos de computação.
- Requisitos de armazenamento.

0 0
0 36

O Subsistema Windows para Linux (WSL) é um recurso do Windows que permite executar um ambiente do Linux na sua máquina do Windows, sem precisar de uma máquina virtual separada ou inicialização dupla.

O WSL foi projetado para oferecer uma experiência perfeita e produtiva a desenvolvedores que querem usar ambos o Windows e o Linux ao mesmo tempo**.

0 0
0 36

Deixe-me apresentar meu novo projeto, que é o irissqlcli, um REPL (Read-Eval-Print Loop)  para o InterSystems IRIS SQL 

  • Destaque de sintaxe
  • Sugestões (tabelas, funções)
  • 20+ formatos de saída
  • Suporte ao stdin
  • Saída em arquivos 

Instale com o pip

pip install irissqlcli

Ou execute com o docker

docker run -it caretdev/irissqlcli irissqlcli iris://_SYSTEM:SYS@host.docker.internal:1972/USER

Conecte ao IRIS

$ irissqlcli iris://_SYSTEM@localhost:1972/USER -W
Password for _SYSTEM:
Server:  InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65
Version: 0.1.0
[SQL]_SYSTEM@localhost:USER> select $ZVERSION
+---------------------------------------------------------------------------------------------------------+
| Expression_1                                                                                            |
+---------------------------------------------------------------------------------------------------------+
| IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30 2023 09:05:12 EST |
+---------------------------------------------------------------------------------------------------------+
1 row in set
Time: 0.063s
[SQL]_SYSTEM@localhost:USER> help
+----------+-------------------+------------------------------------------------------------+
| Command  | Shortcut          | Description                                                |
+----------+-------------------+------------------------------------------------------------+
| .exit    | \q                | Exit.                                                      |
| .mode    | \T                | Change the table format used to output results.            |
| .once    | \o [-o] filename  | Append next result to an output file (overwrite using -o). |
| .schemas | \ds               | List schemas.                                              |
| .tables  | \dt [schema]      | List tables.                                               |
| \e       | \e                | Edit command with editor (uses $EDITOR).                   |
| help     | \?                | Show this help.                                            |
| nopager  | \n                | Disable pager, print to stdout.                            |
| notee    | notee             | Stop writing results to an output file.                    |
| pager    | \P [command]      | Set PAGER. Print the query results via PAGER.              |
| prompt   | \R                | Change prompt format.                                      |
| quit     | \q                | Quit.                                                      |
| tee      | tee [-o] filename | Append all results to an output file (overwrite using -o). |
+----------+-------------------+------------------------------------------------------------+
Time: 0.012s
[SQL]_SYSTEM@localhost:USER>

0 0
0 35

Como observado no artigo anterior, a Native API possui algumas limitações.
Portanto, fiz algumas pesquisas sobre uma interface mais semelhante a um terminal que me forneça acesso como um console ou o terminal IRIS para permitir meu $QUERY em um global e outros comandos úteis que não são suportados/mapeados na NativeAPI para ObjectScript.

As ferramentas básicas estão bem preparadas e disponíveis.

1 2
0 35

Neste artigo, vamos explorar o uso de parâmetros, fórmulas e rótulos no Logi Report Designer (antigo Logi JReport Designer). Para que servem e como criá-los?

Usando a funcionalidade básica do InterSystems Reports Designer, os parâmetros, as fórmulas e os rótulos, você pode melhorar significativamente os detalhes e o conteúdo informativo do relatório gerado. Além disso, essas ferramentas permitem a automação de alguns dos processos, o que acelera e facilita bastante a criação de relatórios.

Vamos analisar cada ferramenta separadamente.

0 0
0 35

Ao usar o VS Code para editar o código-fonte, o modelo de configurações permite que você determine valores específicos à pasta para algumas configurações ao usar um arquivo settings.json localizado em uma subpasta .vscode da pasta raiz do espaço de trabalho. Um conjunto de valores aqui tem precedência sobre outro nas suas configurações pessoais quando você está trabalhando nessa pasta raiz do espaço de trabalho.

0 0
0 35
Artigo
· Fev. 9, 2023 4min de leitura
iris-tripleslash - vamos detonar geral

Fala galera, beleza?

iiii lá vamos nós. Ano novo, nova competição, novo projeto, velhos motivos.

Triple Slash na área!

https://giphy.com/embed/9DcCadyT2FwSvoJJjr
[Isso é um link incorporado, mas você não pode ver conteúdo incorporado diretamente no site, porque recusou os cookies necessários para acessá-lo. Para ver o conteúdo incorporado, você precisa aceitar todos os cookies nas suas Definições de cookies]

https://giphy.com/embed/3o6nV6E62JKoPRQLcc
[Isso é um link incorporado, mas você não pode ver conteúdo incorporado diretamente no site, porque recusou os cookies necessários para acessá-lo. Para ver o conteúdo incorporado, você precisa aceitar todos os cookies nas suas Definições de cookies]

https://giphy.com/embed/zdg7ZNmbk9ZD2
[Isso é um link incorporado, mas você não pode ver conteúdo incorporado diretamente no site, porque recusou os cookies necessários para acessá-lo. Para ver o conteúdo incorporado, você precisa aceitar todos os cookies nas suas Definições de cookies]

2 0
0 35
Artigo
· Dez. 22, 2023 9min de leitura
Banco de Dados de Documentos do IRIS (DocDB)

O Banco de Dados de Documentos do InterSystems IRIS (DocDB) oferece uma abordagem flexível e dinâmica de gestão dos dados de bancos de dados. O DocDB abraça o poder do JSON (JavaScript Object Notation), fornecendo um ambiente sem esquema para armazenar e recuperar dados.

É uma ferramenta poderosa que permite aos desenvolvedores ignorar um monte de código boilerplate na interação com aplicativos existentes, serialização, paginação e integração. O fluxo perfeito do DocDB com os serviços e as operações de Interoperability Rest possibilita um grande salto na produção e no gerenciamento de APIs.

Confira a documentação completa do DocDB aqui. No contexto deste artigo, mostrarei um caso de uso em que o DocDB é uma combinação perfeita.

0 0
0 35
Artigo
· Set. 2, 2022 5min de leitura
UTILIZANDO ALGUMAS FUNÇÕES DO COS

Desde o início dos meus estudos, as funções do ObjectScript sempre me chamaram muita atenção, pois facilitam diversas atividades do dia-a-dia, como a manipulação de strings.

Separei as funções que acho mais úteis e vou explicar um pouco delas aqui:

0 0
0 35

Ao analisar dados, geralmente é preciso procurar indicadores específicos com mais atenção e destacar seções de informações de especial interesse para um usuário.

Por exemplo, examinar as dinâmicas dos dados para regiões ou datas específicas pode nos ajudar a descobrir tendências e padrões ocultos que permitem a tomada de decisões conscientes sobre nosso projeto no futuro.

0 0
0 34
Artigo
· Jul. 4, 2023 5min de leitura
Utilizando Python no Iris

Olá, Criei este artigo inicialmente para demonstrar a usabilidade do Python dentro do Iris e sua funcionalidade, no código abaixo trago um exemplo de algo muito próximo que utilizamos para a solução de um problema, nele recebemos uma Global contendo um XML com mais de 7.000.000 de caractéres, onde fazemos as tratativas de limpeza, organização, conversão para um arquivo JSON e retornamos ele como resposta uma Global.

Class AXS.BP.Exemplo Extends (Ens.BusinessProcess, %XML.Adaptor) [ ClassType = persistent

{

1 0
0 34
Artigo
· Dez. 26, 2023 7min de leitura
Suporte a vetores, ou quase

Atualmente, há bastante conversa sobre o LLM, a IA etc. Os bancos de dados vetoriais fazem um pouco parte disso, e já há várias realizações diferentes para o suporte no mundo fora do IRIS. 

Por que o vetor?

  • Pesquisa de similaridade: os vetores permitem uma pesquisa de similaridade eficiente, como encontrar os itens ou documentos mais parecidos em um banco de dados. Bancos de dados relacionais tradicionais são projetados para pesquisas de correspondência exata, que não são adequadas para tarefas como pesquisa de similaridade em imagens ou texto.
  • Flexibilidade: as representações vetoriais são versáteis e podem ser derivadas de vários tipos de dados, como texto (por embeddings, como Word2Vec e BERT), imagens (por modelos de aprendizado profundo) e muito mais.
  • Pesquisas entre modalidades: os vetores permitem a pesquisa em várias modalidades de dados diferentes. Por exemplo, a partir da representação vetorial de uma imagem, é possível pesquisar imagens semelhantes ou textos relacionados em um banco de dados multimodal.

E vários outros motivos.

Então, para este concurso de python, decidi tentar implementar esse suporte. Infelizmente, não conseguir terminar a tempo, e explicarei abaixo porquê.

0 0
0 34

Os contêineres nos arquivos ECS não são editáveis se o tamanho do arquivo for maior do que o espaço disponível de armazenamento temporário. Por exemplo, se eu tenho 4 GB livres, não posso editar um arquivo de 8 GB. No entanto, se eu iniciar um contêiner com 50 GB de armazenamento temporário (24 GB livre), posso editar normalmente meu arquivo de 8 GB.

0 0
0 33