#InterSystems IRIS for Health

0 Seguidores · 307 Postagens

InterSystems IRIS for Health™ é a primeira e única plataforma de dados do mundo projetada especificamente para o rápido desenvolvimento de aplicações de saúde, para gerenciar os dados mais críticos do mundo. Inclui poderosos recursos prontos para uso: processamento e análise de transações, um modelo de dados de saúde extensível, desenvolvimento de solução baseada em FHIR, suporte para padrões de interoperabilidade em saúde e muito mais. Tudo isso permitindo que os desenvolvedores percebam valor e criem aplicações inovadoras, rapidamente. Saber mais.

Artigo Heloisa Paiva · jan 16, 2025 5m read

Tenho o prazer de anunciar a nova versão do IoP, que aliás não é apenas uma linha de comando. Estou dizendo isso porque o novo mecanismo de pesquisa de IA ainda pensa que o IoP é apenas uma linha de comando. Mas não é. É uma estrutura completa para construir aplicativos sobre a estrutura de interoperabilidade do IRIS com uma abordagem priorizando Python.

A nova versão do IoP: 3.2.0 possui muitas novidades, mas a mais importante é o suporte a DTL (Data Type Language). 🥳

Tanto para mensagens IoP quanto para jsonschema. 🎉

image

Suporte DTL

A partir da versão 3.2.0, o IoP oferece suporte a transformações DTL.

DTL é a camada de transformação de dados na Interoperabilidade do IRIS.

As transformações DTL são usadas para transformar dados de um formato para outro usando um editor gráfico. Também oferece suporte a estruturas jsonschema.

Como usar DTL com Mensagens

Primeiramente, você precisa registrar sua classe de mensagem em um arquivo settings.py.

Para fazer isso, adicione a seguinte linha no arquivo settings.py :

settings.py

from msg import MyMessage

SCHEMAS = [MyMessage]

A seguir, você pode usar o comando de migração do IoP para gerar arquivos de esquema para suas classes de mensagem.

iop --migrate /path/to/your/project/settings.py

Exemplo

msg.py

from iop import Message
from dataclasses import dataclass

@dataclass
class MyMessage(Message):
    name: str = None
    age: int = None

settings.py

from msg import MyMessage

SCHEMAS = [MyMessage]

Migrar os arquivos do esquema.

iop --migrate /path/to/your/project/settings.py

Construindo uma Transformação DTL

Para construir uma transformação DTL, você precisa criar uma nova classe de transformação DTL.

Vá para o Portal de Gerenciamento de Interoperabilidade do IRIS e crie uma nova transformação DTL.

image

Em seguida, selecione as classes de mensagem de origem e destino.

image

E seu esquema.

image

Então você pode começar a construir sua transformação.

image

Você também pode testar sua transformação.

image

Exemplo de carga útil para testar como mensagem de origem:

<test>
  <Message>
    <json><![CDATA[
{
"list_str":["toto","titi"],
"post":{"Title":"foo","Selftext":"baz"},
"list_post":[{"Title":"bar","Selftext":"baz"},{"Title":"foo","Selftext":"foo"}]
}
]]></json>
  </Message>
</test>

Suporte JsonSchema

A partir da versão 3.2.0, o IoP suporta estruturas jsonschema para transformações DTL.

Assim como para classes de mensagens, você precisa registrar seu jsonschema.

Para fazer isso, você precisa invocar seu comando iris:

zw ##class(IOP.Message.JSONSchema).ImportFromFile("/irisdev/app/random_jsonschema.json","Demo","Demo")

Onde o primeiro argumento é o caminho para o arquivo jsonschema, o segundo argumento é o nome do pacote e o terceiro argumento é o nome do esquema.

Então você pode usá-lo em sua transformação DTL.

O esquema estará disponível com o nome de Demo.

Exemplo de arquivo jsonschema:

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "title": "PostMessage",
    "properties": {
        "post": {
            "allOf": [
                {
                    "$ref": "#/$defs/PostClass"
                }
            ]
        },
        "to_email_address": {
            "type": "string",
            "default": null
        },
        "my_list": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "found": {
            "type": "string",
            "default": null
        },
        "list_of_post": {
            "type": "array",
            "items": {
                "allOf": [
                    {
                        "$ref": "#/$defs/PostClass"
                    }
                ]
            }
        }
    },
    "$defs": {
        "PostClass": {
            "type": "object",
            "title": "PostClass",
            "properties": {
                "title": {
                    "type": "string"
                },
                "selftext": {
                    "type": "string"
                },
                "author": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                },
                "created_utc": {
                    "type": "number"
                },
                "original_json": {
                    "type": "string",
                    "default": null
                }
            },
            "required": [
                "title",
                "selftext",
                "author",
                "url",
                "created_utc"
            ]
        }
    }
}

Exemplo de Transformação DTL com JsonSchema ou Classe de Mensagem

Muitos podem ser encontrados no pacote UnitTest no diretório./src/tests/cls.

Class UnitTest.ComplexTransform Extends Ens.DataTransformDTL [ DependsOn = IOP.Message ]
{

Parameter IGNOREMISSINGSOURCE = 1;

Parameter REPORTERRORS = 1;

Parameter TREATEMPTYREPEATINGFIELDASNULL = 0;

XData DTL [ XMLNamespace = "http://www.intersystems.com/dtl" ]
{
<transform sourceClass='IOP.Message' targetClass='IOP.Message' sourceDocType='registerFilesIop.message.ComplexMessage' targetDocType='registerFilesIop.message.ComplexMessage' create='new' language='objectscript' >
<assign value='source.{post}' property='target.{post}' action='set' />
<foreach property='source.{list_str()}' key='k1' >
<assign value='source.{list_str(k1)}_"foo"' property='target.{list_str()}' action='append' />
</foreach>
<foreach property='source.{list_post()}' key='k2' >
<assign value='source.{list_post().Title}' property='target.{list_post(k2).Title}' action='append' />
</foreach>
</transform>
}

}

Nova documentação

O IoP conta com uma nova documentação, disponível em https://grongierisc.github.io/interoperability-embedded-python/.

Você encontrará todas as informações necessárias para começar a usar o IoP.

image

Espero que você goste desta nova versão do IoP. 🎉

0
0 43
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 Heloisa Paiva · Dez. 9, 2024 1m read

A capacidade de reenviar mensagens sempre foi um dos destaques das nossas funcionalidades de interoperabilidade.

Com a versão 2024.3, que será lançada em breve (já disponível como prévia para desenvolvedores), tornamos esse processo ainda mais simples!

0
0 49
Artigo Yuri Marx · Nov. 22, 2024 6m read

O FHIR (Fast Healthcare Interoperability Resources) é o padrão mais utilizado pelo mercado para interoperar e armazenar dados em saúde. Trata-se de um padrão que mapeia dezenas de recursos de dados (Pacientes, Observações, Medicações, Diagnósticos, Alergias, Vacinas, Faturamento, Provedores de Saúde, Atendimentos, dentre outros) e seus relacionamentos (Medicações do Paciente, por exemplo). O acesso a todas estas estruturas de dados se dá pelo uso de APIs REST em formato JSON ou XML. A princípio, a maioria dos fornecedores de soluções FHIR, não disponibiliza acesso aos dados no formato SQL.

4
1 73
InterSystems Oficial Danusa Calixto · Nov. 28, 2024

InterSystems anuncia Disponibilidade Geral do InterSystems IRIS, InterSystems IRIS for Health, e HealthShare Health Connect 2024.3

A versão 2024.3 da plataforma de dados InterSystems IRIS® , InterSystems IRIS® for HealthTM, and HealthShare® Health Connect já está disponível para o público em geral.

Destaques da Versão

Nesta versão, você pode esperar uma série de atualizações interessantes, incluindo:

  1. Extensão muito mais rápida de arquivos de banco de dados e WIJ
  2. Capacidade de reenviar mensagens do Visual Trace
  3. Recursos aprimorados do Rule Editor
  4. Melhorias na pesquisa de vetores
  5. e mais.
0
0 48
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 · Nov. 8, 2024 1m read

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

0
0 28
Artigo Heloisa Paiva · Out. 16, 2024 2m read

Olá Comunidade,

Este artigo tem como objetivo guiá-lo pelo processo de configuração e utilização do recurso Python Runtime Flexível para Python embutido. Antes da versão 2024.2, o instalador do InterSystems IRIS incluía uma versão pré-instalada do Python. Você pode encontrar as bibliotecas Python e os arquivos de aplicação localizados no diretório \lib\python dentro da sua pasta de instalação do IRIS (por exemplo, C:\InterSystems\IRIS20242\lib\python).

0
0 34
Artigo Heloisa Paiva · Out. 14, 2024 9m read

Este programa de demonstração é usado para mostrar como um perfil FHIR personalizado pode ser empregado para validar a conformidade dos dados. O guia de implementação FHIR personalizado foi desenvolvido com base na Versão R4 do FHIR, e, neste exemplo, implementa a extensão do recurso Organização para validar a conformidade dos dados.

Instalação

  1. Faça o Download do projeto via Git clone.
  2. Execute docker-compose up -d para criar e iniciar o contêiner, a execução inicial baixará as imagens de contêiner necessárias e a execução do script levará de 5 a 10 minutos (dependendo da máquina). O InterSystems IRIS for Health image será criado, então o servidor FHIR será instalado e a especificação FHIR personalizada será importada para que possa ser usada para validar os dados.
  3. Importe os arquivos de caso de teste de TestCases no Postman para ver como as várias restrições FHIR são validadas 4.Depois que o contêiner for iniciado, você poderá ver o conteúdo doCustom IG.

Estrutura do código

FHIRValidation
├─ ExampleIG                        
│  ├─ ig.ini
│  ├─ input
│  │  ├─ fsh
│  │  │  ├─ alias.fsh
│  │  │  ├─ codesystems.fsh
│  │  │  ├─ organization.fsh
│  │  │  └─ valuesets.fsh
│  │  └─ pagecontent
│  │     └─ index.md
│  └─ sushi-config.yaml
├─ README.md
├─ README_zh.md
├─ TestCases
│  └─ FHIR Profile-based Validation  testcases.postman_collection.json
├─ docker-compose.yml
└─ image-iris
   ├─ Dockerfile
   └─ src
      ├─ FullIG
      ├─ IGPackages
      │  ├─ hl7.fhir.uv.extensions.r4#5.1.0.tgz
      │  ├─ hl7.terminology.r4#6.0.2.tgz
      │  └─ package.tgz
      └─ init
         └─ init.sh

Examplo IG

Todos os arquivos neste subdiretório são códigos-fonte SUSHI da especificação FHIR personalizada.

Casos de teste

Este subdiretório contém scripts de caso de teste baseados na API REST do FHIR, que precisam ser importados para o Postman

image-iris

Este subdiretório contém os arquivos necessários para a imagem InterSystems IRIS for Health: └─ src ├─ FullIG Este diretório armazena o IG FHIR personalizado gerado porSUSHI ├─ IGPackages Este diretório contém os arquivos de pacote para IGs FHIR personalizados └─ ini tEste diretório contém os scripts de inicialização da imagem Docker IRIS

Introdução ao pacote FHIR

A organização HL7 recomenda o uso de guias de implementação (Guia de Implementação](https://build.fhir.org/ig/FHIR/ig-guidance/)) para explicar como utilizar a especificação FHIR. Além de instruções para leitura por desenvolvedores (por exemplo, HTML), os guias de implementação geralmente incluem artefatos legíveis por máquina e aplicáveis diretamente, que podem ser usados para direcionar tarefas como geração de código e validação de dados.

O Guia de Implementação FHIR usa a especificação Pacote NPM para gerenciar dependências. Todas as definições de estrutura (StructureDefinition), conjuntos de valores (ValueSet) e outros recursos cobertos pelo guia são agrupados em um único pacote que pode ser usado pelo servidor FHIR para ler a especificação, gerar código do cliente ou realizar verificações de qualidade de dados.

O guia de implementação gerado pela ferramenta SUSHI contém vários arquivos de pacote. Neste exemplo, image-iris/src/IGPackages/package.tgz é o pacote gerado, que pode ser diretamente importado pelo Servidor FHIR IRIS. É importante observar que, além dos pacotes de recursos centrais (por exemplo, hl7.fhir.r4.core),a especificação FHIR completa precisa referenciar pacotes de recursos adicionais, como terminologia, extensões e assim por diante.

A documentação atual do mecanismo de referência da especificação FHIR ainda não está completa. Por exemplo, com base na versão R4 da especificação FHIR, além de referenciar hl7.fhir.r4.core, ela também precisa referenciar [hl7.fhir.uv.extensions.r4#5.1.0](https://simplifier.net/packages/hl7.fhir.uv.extensions.r4/ 5.1.0) e hl7.terminology.r4#6.0.2. Essas referências estão documentadas naversão R5mas não declaradas na versão R4, então o desenvolvedor precisa adicioná-las durante o processo de desenvolvimento.

Nesse caso, esses pacotes foram baixados na pasta image-iris/src/IGPackages e serão carregados como dependências antes da personalização do guia de implementação FHIR.

Introdução à validação FHIR

Veja a seção Recursos de Validação da especificação FHIR. A especificação FHIR foi projetada com mecanismos de verificação de qualidade de dados para uma ampla variedade de elementos, incluindo estruturas de dados, bases de atributos, campos de valor, ligações de código, restrições etc. A organização HL7, na especificação FHIR, não define qual intensidade de controle de qualidade seguir, mas recomenda que o princípio detolerância seja aplicado aos dados FHIR.

Para repositórios FHIR que armazenam recursos FHIR, garantir a qualidade dos dados é um pré-requisito para tornar a indústria da saúde valiosa e garantir a segurança das práticas de saúde. Portanto, ao construir um esquema de compartilhamento e troca de dados baseado em repositórios FHIR, mesmo que dados que não atendam aos requisitos de qualidade tenham que ser salvos, deve-se calibrar o sistema para marcar as não-conformidades e promover atividades de governança de dados para salvaguardar a segurança da saúde e os interesses dos consumidores de dados.

ODos vários métodos de validação de dados indicados pela especificação FHIR, o Validador FHIR e as Operações FHIR fornecem a cobertura mais abrangente para validação de qualidade de dados.

Este exemplo usará a operação $validate fornecida pelo InterSystems IRIS for Health para validar dados FHIR que ainda não foram salvos via o parâmetro de perfil. Os usuários também podem modificar o caso de teste para construir um parâmetro HTTP POST para validar o recurso FHIR estoque.

Também deve ser observado que a operação $validate, se chamada corretamente, retornará o resultado da validação via Http 200 e, se houver alguma não-conformidade, uma mensagem de erro será encapsulada no recurso OperationOutcome retornado em vez de identificar o erro via o código Http.

Extensões ao FHIR R4

As seguintes extensões foram feitas ao recurso Organização com base no FHIR R4:

1. Modifique a força de ligação da linguagem

Altere a força de ligação do idioma principal da organização para obrigatório

2. Cardinalidade do campo ativo alterada de 0...1 para 1...1

Isso torna o status do campo ativo um campo obrigatório, com um e somente um elemento

3. Cardinalidade do campo Nome alterada de 0..1 para 1..1

O nome da organização se torna um campo obrigatório com um e somente um elemento. Para referência, hospitais na China podem ter mais de um nome além do nome do hospital se tiverem licenças como um Centro de Emergência, um Centro de Dor Torácica e assim por diante. No entanto, é observado que essas licenças geralmente identificam a capacidade dos serviços prestados pela instituição de saúde em vez do nome legal que ela tem no sistema de registro da organização, e o ciclo de vida de tais licenças não coincide com o ciclo de vida da própria instituição de saúde. Portanto, o nome obtido da licença é apropriadamente considerado como a capacidade de serviço da organização de saúde em vez do nome exclusivo da organização. No FHIR, o nome derivado da capacidade de serviço pode ser fornecido através do recurso HealthcareService, que pode ser mais apropriadamente usado para expressar o conceito acima estabelecendo um relacionamento de referência muitos-para-um com o recurso Organização

4.Aumento no tipo de organização de instituições médicas

De acordo com os tipos de organização do padrão nacional chinês GB/T 20091-2021, os CodeSystem organizationtype-code-system e ValueSet organizationtype-vs são adicionados respectivamente, e a extensão mdm-organizationTypeExtension é adicionada ao recurso Organização através de Extensão. A extensão mdm-organizationTypeExtension é adicionada ao recurso Organização para que o recurso possa ser usado para representar o tipo de organização que identifica os tipos de organização chineses. A extensão é implementada fatiando a Extensão com uma cardinalidade de 1..1 para que o recurso Organização de Saúde deva ter um elemento de tipo de organização.

5. Restrições nos números de identificação de organizações de saúde

O padrão base FHIR não inclui o tipo do código de crédito social unificado para organizações chinesas, por esse motivo o CodeSystem cs-identifierType-code-system é adicionado e o Identificador é fatiado de acordo com seu tipo, para que ele possa expressar o código de crédito social. E o formato do código de crédito social segue as seguintes restrições:

  1. identifier.use deve assumir o valor oficial, ou seja, uso oficial/oficial
  2. identifier.type DEVE seguir cs-identifierType-code-system, system DEVE ser o uri do codesystem e code DEVE ser “USCC”.
  3. identifier.value deve seguir a restrição personalizada uscc-length-18, o campo deve ter 18 dígitos de comprimento, dos quais os primeiros 17 dígitos devem ser numéricos e o último 1 dígito deve ser numérico ou alfabético

Lista de Casos de Teste

1. Sem perfil - Tudo OK

O perfil correspondente do recurso não é declarado, portanto, o Servidor FHIR não validará os valores dos atributos no recurso e retornará apenas Tudo OK.

2. Campo desconhecido

Um atributo não definido isNational foi adicionado ao recurso, portanto, o mecanismo de validação retornou um erro de elemento não reconhecido

3. Cardinalidade errada - menos

Neste IG, a cardinalidade do atributo de nome do recurso Organização foi modificada para 1..1, o que significa que deve haver e somente um nome de organização. O nome não é preenchido neste caso de teste e, portanto, a validação de dados falha. Além disso, pode-se observar que Identifier.type foi estendido para incluir o Código de Crédito Social Uniforme como um tipo de identificador, que não está incluído na especificação FHIR R4, mas a força da ligação de código para este campo é apenas EXEMPLO, o que não força restrições. Portanto, o mecanismo de validação retorna a informação de nível de valor do campo de código não-conformidade sem relatar um erro.

4.Força de ligação

Neste Guia de Implementação (IG), a força de ligação do código do atributo de idioma da organização foi alterada para "obrigatório". Isso significa que o valor do campo deve estar de acordo com o conjunto de valores http://hl7.org/fhir/ValueSet/languages. No caso de teste onde o campo recebe o valor "wrong language" (idioma incorreto), como esse valor não está presente no conjunto de valores obrigatório, a validação resultará em um erro crítico

5.Valor errado

Neste IG, o campo de valor para o tipo de organização vem de organizationtype-code-system, portanto, quando o valor de code no elemento de extensão do tipo mdm-organizationTypeExtension, que tem um valor de "999", que não está no campo de valor, resultará em um erro de nível de erro.

6. Invariante falha

Neste IG, o código de crédito social de uma organização deve seguir a restrição personalizada uscc-length-18 (o campo deve ter 18 dígitos de comprimento, onde os primeiros 17 dígitos devem ser numéricos e o último 1 dígito deve ser numérico ou alfabético), e, portanto, violar essa restrição quando o último dígito for o caractere “%” resultará em um erro.

7.Perfil falha

Um único perfil para uma definição de recurso contém várias restrições, portanto, todos os problemas que não satisfazem o perfil serão detectados durante a validação, como os seguintes problemas neste exemplo:

  1. código de idioma errado
  2. tipo de organização errado
  3. campo de nome ausente
0
0 33
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
InterSystems Oficial Danusa Calixto · Out. 10, 2024

Recentemente, disponibilizamos uma nova versão do InterSystems IRIS no Vector Search Early Access Program, apresentando um novo índice Approximate Nearest Neighbor baseado no algoritmo de indexação Hierarchical Navigable Small World (HNSW). Essa adição permite pesquisas altamente eficientes e aproximadas de vizinhos mais próximos em grandes conjuntos de dados vetoriais, melhorando drasticamente o desempenho e a escalabilidade da consulta.

0
0 54
Artigo Heloisa Paiva · Set. 28, 2024 1m read

Baseado num ótimo exemplo e workshop construído por @Luis Angel Pérez Ramos (veja artigos relacionados e o Open Exchange app relacionado), que incluiu um container local InterSystems for Health (e setup desejado), essa amostra apresentada aqui, adaptada do workshop para usar o InterSystems Cloud FHIR Server, e suas definições relacionadas.

0
0 35
Artigo Heloisa Paiva · Set. 26, 2024 5m read

Na sessão anterior, exploramos o processo de instalação e começamos a escrever o IRIS em Python nativo. Agora procederemos a examinar a global percorrida e interatuar com os objetos da classe IRIS

get: esta função se utiliza para obter valores do nó percorrido

deftraversal_firstlevel_subscript():"""
    ^mygbl(235)="test66,62" and ^mygbl(912)="test118,78"
    """for  i in irispy.node('^mygbl'):
        print(i, gbl_node.get(i,''))

 

node e items: percorrido de um só nível com node  e obtenção dos valores da mesma maeira que $Order(^mygbl(subscript), direction, data).

0
0 35
Artigo Heloisa Paiva · Set. 20, 2024 4m read

Nós concluímos essa série de artigos SMART On FHIR com Auth0 e InterSystems FHIR Repository revisando nossa aplicação desenvolvida em Angular 16.

Vamos relembrar como foi definida a arquitetura da nossa solução:

Nossa aplicação front-end corresponde à segunda coluna e como você pode ver ela tem duas funções:

  1. Redirecionar a requisição de login para Auth0 e receber a resposta
  2. Enviar e receber a resposta de requisições via REST enviadas ao servidor FHIR

Angular

0
0 42
Artigo Heloisa Paiva · Set. 18, 2024 7m read

No último artigo nós apresentamos a arquitetura do nosso projeto SMART On FHIR, então agora é o momento de colocar a mão na massa e começar a configurar os elementos que vamos precisar. 

Vamos começar com Auth0.

Configuração AUTH0

Vamos começar criando uma conta Auth0 com um email válido. Uma vez registrada, vamos criar nossa primeira aplicação e faremos isso do menu a esquerda:

Em nosso exemplo, a aplicação será do tipo Single Page Web Application, como é uma aplicação desenvolvida em Angular 16. Selecionamos esta opção e clicamos em Create.

Na próxima pagina devemos definir os seguintes campos:

0
0 34
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 · Set. 14, 2024 4m read

Introdução

Eu recentemente participei no "mão na massa" fantasticamente organizado pelo @Patrick Jamieson no qual uma aplicação Angular foi configurada junto com um servidor IRIS FHIR seguindo os protocolos definidos pelo SMART On FHIR e eu o achei muito interessante, então decidi desenvolver a minha própria aplicação Angular e então usar o que aprendi e publicar na comunidade.

SMART On FHIR

Vamos ver o que o Google nos conta sobre o SMART On FHIR:

0
0 70
Artigo Heloisa Paiva · Set. 12, 2024 4m read

Olá comunidade

Nós experimentamos anteriormente o Python embutido em IRIS; no entanto, eu ainda não tive a oportunidade de implementar IRIS usando Python nativo. Nesse artigo, vou percorrer os passos que eu usei para começar a aprender e implementar IRIS dentro da fonte Python. Eu também gostaria de agradecer @Guillaume Rongier@Luis Angel Pérez Ramos pela ajuda resolvendo os problemas que encontrei durante minha recente instalação PIP de IRIS no Python, que eu habilitei para funcionar adequadamente.

Vamos começar a escrever IRIS em Python.

0
0 55
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 56
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
InterSystems Oficial Danusa Calixto · Ago. 23, 2024

A versão 2024.1.3 do InterSystems IRIS Adaptive Analytics já está disponível na página de Distribuição de Software da InterSystems. Esta versão inclui o AtScale 2024.1.3 e um arquivo UDAF (User Defined Aggregate Function) atualizado. Esta versão inclui os seguintes novos recursos de modelagem e BI:

0
0 38
Artigo Heloisa Paiva · Ago. 19, 2024 1m read

Perguntas Frequentes de InterSystems

Se necessita migrar seu servidor por algum motivo, pode reduzir o trabalho de configuração do novo ambiente. Basta copiar a informação de configuração de seu ambiente prévio ao novo.

Você pode migrar as seguintes informações de configuração.

  • iris.cpf
  • Configuração do SQL gateway 
  • Configuração do  web gateway *Nota 1
  • rotinas de usuário, etc... armazenadas na base de dados IRISSYS *Nota 2
  • Configuração de segurança 
  • Configuração de tarefas
0
0 55
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 Danusa Calixto · Ago. 16, 2024

Alerta: Corrupção do Banco de Dados com Bancos de Dados de Vários Volumes após Truncament

A InterSystems corrigiu um defeito que pode causar corrupção de banco de dados ou erros <DISKHARD> com bancos de dados multivolume em circunstâncias extremamente raras. Somente bancos de dados que foram truncados estão em risco.
 

O defeito existe nos seguintes produtos e em quaisquer ofertas da InterSystems baseadas neles:

  • InterSystems IRIS® – 2024.1, 2024.1.1 e 2024.2
  • InterSystems IRIS® for Health – 2024.1, 2024.1.1 e 2024.2
  • HealthShare® Health Connect – 2024.1, 2024.1.1 e 2024.2
0
0 35
InterSystems Oficial Danusa Calixto · Ago. 16, 2024

A primeira prévia para desenvolvedores do InterSystems IRIS 2024.3 e do InterSystems IRIS for Health 2024.3 foi publicada no site de prévia para desenvolvedores do WRC. Os contêineres podem ser encontrados em nosso registro de contêineres e são marcados como última prévia.


Esta é uma versão muito inicial no ciclo de lançamento e não há nenhum recurso digno de “destaque” que esteja completo. Eles começarão a chegar em versões de pré-visualização futuras.
 

A documentação inicial pode ser encontrada nos links abaixo

0
0 30