Nueva publicación

Pesquisar

Resumen
· 28 mayo, 2024

Última llamada: última semana para participar en el concurso

Hola a todos:

Este domingo termina nuestro concurso de artículos ¿te animas a participar?

 

🏆 3º Concurso de Artículos Técnicos en español 🏆
Descripción del concurso: Escribe un artículo en español en la Comunidad de Desarrolladores, sobre cualquier tema relacionado con la tecnología de InterSystems.

Duración: del 6 de mayo al 2 de junio de 2024.

Premios para todos los participantes: Todas las personas que publiquen un artículo en español durante la vigencia del concurso recibirán un premio.

Premio principal: LEGO Ferrari Daytona SP3 / Banco Mágico Gringotts™ - Edición para coleccionistas.

Toda la información aquí: https://es.community.intersystems.com/node/565946 

Artículo
· 28 mayo, 2024 Lectura de 1 min

Uso de la búsqueda vectorial para comparar la similitud entre artículos

Principio: Tras dividir el artículo cargado por el usuario en frases mediante Python, se obtiene el valor incrustado y se almacena en la base de datos Iris. A continuación, la similitud entre las frases se compara a través de la búsqueda vectorial Iris, y finalmente se muestra en la página front-end.

Los pasos de instalación pueden consultarse en el archivo README o Léame. Debe tenerse en cuenta que el modelo BERT utilizado en el ejemplo tiene algunos requisitos de memoria. Si se produce una situación de atasco a largo plazo durante el proceso de prueba, se pueden considerar otros modelos como MiniLM (que se utiliza en la demo online). Tened en cuenta que si utilizáis otros modelos, es necesario modificar Article Similarity SentenceVector y ArticleSimilarity El LEN y MiniLM para la incrustación en vector son 384.

Actualmente, la aplicación muestra por defecto frases con una similitud de 0,7 o superior, que puede encontrarse en Article Similarity Modified en el método GetSenSimiEmbedding de GetSimilarityBussinessOperation (actualmente se muestra como 0,5 en la demo online).

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 28 mayo, 2024 Lectura de 6 min

FHIR アダプターを使ってレガシーシステムに FHIR サービスを提供 - リソースの投稿編

前回の記事では特定の HIS のデータベースに格納されたリソースを取得する方法を確認したので、今回は、HIS に、システムで受け取る FHIR リソースを起点とする新しいレコードを追加する方法を説明します。

FHIR の CRUD 操作

FHIR の主な機能の 1 つに、Rest API による CRUD 操作のサポートがあります。つまり、FHIR と連携するすべてのシステムには、GET、POST、PUT、および DELETE タイプの HTTP 呼び出しがサポートされていなければなりません。 この記事では、FHIR アダプターをインストールした際に自動的に構成されたエンドポイントへの POST 呼び出しを処理する方法を見てみましょう。

FHIR のリソースストレージ呼び出しに関する仕様を確認すると、呼び出しに使用する URL は、以下のフォーマットを使用している必要があります。

http(s)://server_url/{endpoint}/{Resource}

この記事の例では、セキュリティで保護された呼び出しは行わないため、以下のような URL になります。

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 27 mayo, 2024 Lectura de 4 min

Linuxで SSL/TLS を使用して ODBC 接続を行う方法

こちら の記事では、LinuxでODBC接続を行う方法  をご紹介しました。

今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、ODBCで SSL/TLS 接続をする方法をご紹介します。

LinuxでODBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでODBC接続できる環境を用意していることを前提にご説明します。

手順は以下のようになります。手順の詳細は、この後で説明します。


1.CA証明書を用意します

2.TLS 構成ファイルの設定を行います

3.TLS 構成ファイル odbcssl.ini を作成します

4.環境変数 ISC_SSLconfigurations で <path>/odbcssl.ini を指定します

5.IRISへのODBC接続確認をします



1.CA証明書を用意します

CA証明書に問題がないか証明書情報を確認します。
※ ***.***.***.*** :接続先IRISサーバのIPアドレス

# openssl s_client -connect ***.***.***.***:1972 -showcerts -CAfile /home/ec2-user/ca_certificate.crt < /dev/null
CONNECTED(00000003)
:
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE

「Verify return code: 0 (ok)」が返れば、CA証明書に問題はありません。


2.TLS 構成ファイルの設定を行います

最初に、ODBCドライバインストール情報を確認します。

# odbcinst -j
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8


/etc/odbc.ini に、SSL/TLS 接続を定義する [SampleTLS] という名前の、以下のエントリを追加します。

# /etc/odbc.ini
[ODBC Data Sources]
SampleTLS = SampleTLS

[SampleTLS]
Description=InterSystems ODBC
Driver = /intersystems/iris/bin/libirisodbcur6435.so
Host=***.***.***.***
Namespace=USER
UID=_SYSTEM
Password=SYS
Port=1972
Protocol = TCP

Authentication Method = 2
Security Level = 10
SSL Server Name = SampleTLS


3.TLS 構成ファイル odbcssl.ini を作成します

# /etc/odbcssl.ini
[SampleTLS]
CAFile=/home/ec2-user/ca_certificate.crt
CertFile=
KeyFile=
Password=
KeyType=2
VerifyPeer=0
TLSMinVersion=16
TLSMaxVersion=32
CipherList=ALL:!aNULL:!eNULL:!EXP:!SSLv2


各項目の内容については、以下のドキュメントを参照してください。
TLS 構成ファイルの設定

また、設定ファイルのサンプルは、IRISクライアントインストールディレクトリ下の \dev\odbc\redist\ssl に、
 irisodbc.ini.template
 odbcssl.ini.template
​​​がありますので、参考になさってください。


4.環境変数 ISC_SSLconfigurations で <path>/odbcssl.ini を指定します

# export ISC_SSLconfigurations=/etc/odbcssl.ini

# echo $ISC_SSLconfigurations
/etc/odbcssl.ini

※すべてのユーザで使用できるようにする場合は、環境変数を永続化させます。

# vi /etc/profile

# ---- 以下を追加
export ISC_SSLconfigurations=/etc/odbcssl.ini

 

5.IRISへのODBC接続確認をします

%SuperServer の設定 をした接続先のIRISでは、「スーパーサーバSSL/TLSサポート」を「有効」または「必須」に設定してください。

# isql -v SampleTLS
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> SELECT count(*) FROM INFORMATION_SCHEMA.TABLES
+---------------------+
| Aggregate_1         |
+---------------------+
| 430                 |
+---------------------+
SQLRowCount returns 1
1 rows fetched
SQL>


※(2024/5/27現在)2024.1までのバージョンについて

Failed to load irisconnect executable!
のエラーとなる場合、irisconnect.so ファイルを /usr/lib64/ ディレクトリにリンクする必要があります。
クライアントインストールディレクトリのbin下に、irisconnect.so ファイルがありますので、そちらをリンクするようにしてください。

ln /intersystems/iris/bin/irisconnect.so /usr/lib64/irisconnect.so


詳細は以下のドキュメントをご覧ください。
UNIX® での ODBC データ・ソースの定義

Comentarios (0)0
Inicie sesión o regístrese para continuar
Artículo
· 27 mayo, 2024 Lectura de 4 min

Unir bases de datos de excel con IRIS

¡Hola a todos! 

Llevo muchos años trabajando con Excel y, últimamente, lo he enfocado al tratamiento de bases de datos.

Realmente mi experiencia con Excel ha sido para labores financieras, no tanto analíticas de datos en sí, pero en un proyecto reciente he podido trabajar mucho con SQL y me he interesado un poco por el tema (no soy para nada una experta, ¡aviso!)

Me he preguntado cómo podría unir varios excels en uno para, por ejemplo, entregárselo al Data Análisis utilizando la tecnología InterSystems. He recopilado la información en un pequeño artículo. Espero que sea útil y por supuesto estoy abierta a correcciones. 

Vamos a utilizar InterSystems IRIS. Lo que buscaremos es leer los archivos Excel, procesarlos y por último fusionarlos. 

PRIMERO: Qué necesitaremos

Vale, para empezar, deberíamos tener instalado InterSystems IRIS.

Necesitaremos instalar las librerías de Python pandas y openpyxl para poder trabajar con Excel.

Importarte: hay que asegurarse de tener InterSystems Embedded Python habilitado en el entorno IRIS.

SEGUNDA: Lectura de un Excel con Python

Como InterSystems IRIS soporta la integración con Python, podemos leer/manipular archivos Excel. Por ejemplo podríamos usar este script: 

import pandas as pd

def merge_excels(file_paths, output_path):

    dataframes = []

    

    for file in file_paths:

        df = pd.read_excel(file)

        dataframes.append(df)

    

    merged_df = pd.concat(dataframes, ignore_index=True)

    merged_df.to_excel(output_path, index=False)

    

    return output_path

# Ejemplo de uso:

files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']

output_file = 'merged_output.xlsx'

merge_excels(files, output_file)

Tercero: integración en IRIS

Vamos a ejecutar dicho script de Python desde InterSystems IRIS. Para ello recurriremos al soporte de Embedded Python. Lo que tendríamos que hacer es crear una class (o clase, vaya) en ObjectScript para llamar a dicho Script.

Class ExcelApp.ExcelMerger Extends %RegisteredObject

{

    ClassMethod MergeExcelFiles(filePaths As %String, outputFile As %String) As %String [ Language = python ]

    {

        import pandas as pd

        def merge_excels(file_paths, output_path):

            dataframes = []

            

            for file in file_paths:

                df = pd.read_excel(file)

                dataframes.append(df)

            

            merged_df = pd.concat(dataframes, ignore_index=True)

            merged_df.to_excel(output_path, index=False)

            

            return output_path

        files = filePaths.split(",")

        result = merge_excels(files, outputFile)

        return result

    }

}

CUARTO: fusionar desde IRIS

Por último, con el método MergeExcelFiles desde InterSystems IRIS podríamos fusionar los archivos Excel.

Set filePaths = "file1.xlsx,file2.xlsx,file3.xlsx"

Set outputFile = "merged_output.xlsx"

Set result = ##class(ExcelApp.ExcelMerger).MergeExcelFiles(filePaths, outputFile)

Write "Archivos fusionados y guardados en: ", result

EN DEFINITIVA:

No sé si esto sería lo más eficiente o útil, como digo, soy bastante novata en tratamiento de datos. Si conocéis algún tutorial para potenciar el uso de excel en este sentido es bien recibido.

Si sigo entrando en proyectos donde me pidan este aspecto seguiré indagando poco a poco ¡Gracias!

1 Comentario
Comentarios (1)2
Inicie sesión o regístrese para continuar