Buscar

Limpiar filtro

#InterSystems Package Manager (IPM)

44 Publicaciones0 Seguidores

#InterSystems IRIS for Health

452 Publicaciones1 Seguidores
Anuncio
Jose-Tomas Salvador · 30 jun, 2023

Próximos cambios en los contenedores de InterSystems

Cuando IRIS 2023.2 esté disponible (GA), haremos algunas mejoras en la forma de etiquetar y distribuir los contenedores de IRIS e IRIS for Health. Los contenedores de IRIS han sido etiquetados usando el número completo de compilación (build), por ejemplo 2023.1.0.235.1. Los clientes llevan un tiempo solicitando etiquetas más estables, para no tener que cambiar sus archivos de Docker/Kubernetes cada vez que se lanza una nueva versión. Y con eso en mente, estamos realizando los siguientes cambios en la forma que etiquetamos las imágenes de los contenedores. Etiquetas Major.Minor: Los contenedores se etiquetarán con el año y la versión, pero no con el resto del número de compilación completo. Por ejemplo, donde actualmente se accede a una imagen como containers.intersystems.com/intersystems/iris:2023.2.0.606.0 Ahora se accederá como containers.intersystems.com/intersystems/iris:2023.2 Etiquetas latest-em y latest-cd Tags: Las versiones más recientes de mantenimiento extendido y entrega continua se etiquetarán como latest-em y latest-cd, respectivamente. Esto proporciona una notación abreviada que puede ser utilizada en la documentación, ejemplos y entornos de desarrollo. No recomendamos usar estas etiquetas en entornos de producción. Versiones de prueba (Preview): Las versiones de prueba para desarrolladores se etiquetarán claramente con -preview para que se puedan separar fácilmente los contenedores previos al lanzamiento de los contenedores listos para producción. La versión de prueba más reciente se etiquetará de forma útil como latest-preview. Si estáis buscando el número de compilación completo de un contenedor de InterSystems, está disponible como una etiqueta, que se puede ver con el comando docker inspect. Por ejemplo: docker inspect --format '{{ index .Config.Labels "com.intersystems.platform-version"}}' containers.intersystems.com/intersystems/iris:2023.1.0.235.1 Los contenedores no se distribuirán más a través de la página de descargas del WRC. Si sois alguno de los pocos clientes que descargan contenedores de la página de descargas del WRC, es momento de cambiar al Registro de Contenedores de InterSystems (documentación). Mientras estamos aquí, recordemos que hemos estado publicando manifiestos multi-arquitectura para los contenedores de IRIS. Esto significa que al descargar el contenedor de IRIS etiquetado como 2022.3, se descargará el contenedor adecuado para la arquitectura de CPU de tu máquina (Intel/AMD o ARM). Si tenéis que descargar un contenedor para una arquitectura de CPU específica, hay etiquetas disponibles para contenedores de arquitecturas específicas. Por ejemplo, 2022.3-linux-amd64 descargará el contenedor Intel/AMD y 2022.3-linux-arm64v8 descargará el contenedor ARM. Pronto dejaremos de publicar en los repositorios iris-arm64, ya que la multi-arquitectura optimiza el proceso de obtener los contenedores adecuados en las máquinas correctas. Si tenéis alguna duda o pregunta, contactad por favor con el Centro de Soporte Internacional (WRC).
Artículo
Kristina Lauer · 26 dic, 2024

Obtened una certificación en tecnología de InterSystems

Con los exámenes de certificación estándar de la industria de InterSystems, vosotros y vuestro equipo podéis certificaros para validar vuestras habilidades y demostrar vuestra experiencia en la tecnología de InterSystems. ¡Encontrad el examen adecuado para vuestro rol! Desarrolladores: Especialista en Desarrollo de Soluciones Core de InterSystems IRIS y Especialista en SQL de InterSystems IRIS Administradores de sistemas: Especialista en Administración de Sistemas de InterSystems IRIS Integradores de sistemas: Especialista en Interfaces HL7 de InterSystems Implementadores técnicos de CCR: Especialista en Implementación Técnica de InterSystems CCR Implementadores de Unified Care Record: Especialista Técnico en HealthShare Unified Care Record Implementadores de Patient Index: Especialista Técnico en HealthShare Patient Index ¿Sabíais que las empresas con cuatro o más empleados certificados pueden obtener la certificación organizacional? Contactad con certification@intersystems.com o visitad el sitio web de Certificación de InterSystems para más información.
Artículo
Kurro Lopez · 14 abr, 2025

InterSystems para dummies – Machine learning

Como todos sabemos, InterSystems es una gran empresa. Sus productos pueden ser tan útiles como complejos. Sin embargo, a veces nuestro orgullo nos impide admitir que quizá no entendamos algunos conceptos o productos que InterSystems nos ofrece. Hoy comenzamos una serie de artículos que explican, de forma sencilla y clara, cómo funcionan algunos de los complejos productos de InterSystems. En este ensayo, aclararé qué es el Machine Learning y cómo aprovecharlo... porque esta vez, SABRÁS con certeza de qué estoy hablando. ¿Qué (demonios) es Machine Learning? El Machine Learning (aprendizaje automático) es una rama de la inteligencia artificial que se centra en el desarrollo de algoritmos y modelos que permiten a las computadoras aprender a realizar tareas específicas basadas en datos, sin necesidad de ser programadas explícitamente para cada tarea. En lugar de seguir instrucciones específicas, las máquinas aprenden a través de la experiencia, identificando patrones en los datos y haciendo predicciones o tomando decisiones basadas en ellos. El proceso implica alimentar algoritmos con conjuntos de datos (llamados conjuntos de entrenamiento) para que aprendan y mejoren su rendimiento con el tiempo. Estos algoritmos pueden diseñarse para realizar una amplia gama de tareas, como el reconocimiento de imágenes, el procesamiento del lenguaje natural, la predicción de tendencias financieras, el diagnóstico médico y mucho más. En resumen, el Machine Learning permite a las computadoras aprender de los datos y mejorar con la experiencia, lo que les permite realizar tareas complejas sin necesidad de una programación explícita para cada situación de forma autónoma... Es una definición muy interesante. Sin embargo, supongo que necesitas un ejemplo, así que aquí vamos: Bueno, imagina que cada día escribes en algún lugar la hora del amanecer y del atardecer. Si alguien te preguntara si el sol saldrá al día siguiente, ¿qué dirías? Solo has anotado la hora del amanecer y el atardecer. Al observar tus datos, concluirías que, con un 100% de probabilidad, el sol saldrá mañana. Sin embargo, no puedes ignorar que existe la posibilidad de que, debido a una catástrofe natural, no puedas ver el amanecer al día siguiente. Por eso, deberías decir que la probabilidad de presenciar un amanecer al día siguiente es, de hecho, del 99,99%. Considerando tu experiencia personal, puedes proporcionar una respuesta que coincida con tus datos. El Machine Learning es lo mismo, pero realizado por una computadora. Observa la tabla a continuación: A B 1 2 2 4 3 6 4 8 ¿Cómo se relacionan las columnas A y B? La respuesta es sencilla: el valor de B es el doble del de A. B=A*2 es un patrón. Ahora, examine la otra tabla: A B 1 5 2 7 3 9 4 11 Este es un poco más complicado… Si no has descubierto el patrón, es B=(A*2) +3. Un humano, por ejemplo, puede deducir la fórmula, lo que significa que cuantos más datos tengas, más fácil será adivinar el patrón que se esconde tras este misterio. Así pues, el Machine Learning utiliza la misma lógica para revelar el patrón oculto en los datos. ¿Cómo empezar? Primero, necesitarás un ordenador. Sí, dado que este artículo trata sobre Machine Learning, tener solo un cuaderno y un lápiz no será suficiente. En segundo lugar, necesitará una instancia de IRIS Community. Puede descargar una imagen de Docker y ejecutar su prueba aquí. Tenga en cuenta que debe tener ML integrado, por ejemplo, la última versión de InterSystems IRIS Community. docker pull intersystems/iris-ml-community:latest-em o docker pull intersystems/iris-community:latest Si lo necesitas en otra plataforma, consulta en https://hub.docker.com/r/intersystems/iris-ml-community/tags o en https://hub.docker.com/r/intersystems/iris-community/tags. Luego, crea un contenedor a partir de este contenedor y ejecútalo: docker run --name iris-ml -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-m Si eres de la vieja escuela, puedes descargar una versión gratuita para evaluarla. Sin embargo, es importante tener una cuenta de InterSystems. Consúltala en https://login.intersystems.com/login/SSO.UI.Register.cls. Posteriormente, solicite una copia de evaluación en https://evaluation.intersystems.com/Eval/. Instálalo y ejecuta tu instancia. Ahora, accede al portal de IRIS: http://localhost:52773/csp/user/EnsPortal.ProductionConfig.zen Usuario: Superusuario Contraseña: SYS Nota: Es posible que se te pida cambiar la contraseña la primera vez. No te preocupes, crea una contraseña que puedas recordar fácilmente. Abre la "Configuración de Machine Learning" para revisar las versiones instaladas. En este punto, puedes ver las configuraciones del proveedor de ML instaladas. Earth, "water" and fire... ¿Cuál es la mejor? Todos son buenos. Lo importante es cómo entrenar a tu dragón, es decir... tus datos. Busca más información sobre los modelos existentes: AutoML: AutoML es un sistema automatizado de aprendizaje automático desarrollado por InterSystems y alojado en la plataforma de datos InterSystems IRIS®. Está diseñado para crear rápidamente modelos predictivos precisos utilizando tus datos. Automatiza varios componentes clave del proceso de aprendizaje automático. Haz clic en el siguiente enlace para obtener más información: https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=GAUTOML_Intro H2O: Es un modelo de aprendizaje automático de código abierto. El proveedor H2O no admite la creación de modelos de series temporales. Siga el siguiente enlace para obtener más información: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GIML_Configuration_Providers#GIML_Configuration_Providers_H2O PMML: (Lenguaje de Marcado de Modelado Predictivo). Es un estándar basado en XML que expresa modelos analíticos. Permite a las aplicaciones definir modelos estadísticos y de minería de datos, de modo que puedan reutilizarse y compartirse fácilmente. Para más información, consulte el siguiente enlace: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=APMML ¿Cuál es el primer paso? Al igual que en el ejemplo del amanecer y el atardecer, necesitamos datos para entrenar nuestro modelo. Es fundamental conocer el objetivo de los datos y los valores que se deben predecir. También es crucial tener datos claros y sin duplicados. También debes averiguar cuál es el conjunto mínimo de datos. Voy a usar el proveedor AutoML porque es de Intersystems, ¡jaja! 😉 Existen varios tipos de algoritmos: Árboles de decisión: Primero se clasifica la información y luego se aplica la siguiente pregunta para evaluar la probabilidad. Ejemplo: ¿Lloverá mañana? Comprueba si el cielo está nublado (muy o ligeramente nublado) o despejado. Si está muy nublado, comprueba la humedad. Después, comprueba la temperatura... Si está muy nublado, con alta humedad y baja temperatura, mañana lloverá. Bosques aleatorios: Se trata de un conjunto de árboles de decisión, cada uno de los cuales "vota" por una clase. La mayoría de los votos define el modelo seleccionado. Redes neuronales: Esto no significa que Skynet esté por llegar... Sin embargo, es demasiado complejo para explicarlo en pocas palabras. La idea general es "copiar" la función de las neuronas humanas. Esto significa que cada dato de entrada es analizado por una "neurona", que, a su vez, proporciona los datos de entrada a la siguiente "neurona" para analizar los datos de salida. Si quieres experimentar con redes neuronales usando Python, puedes crear una y comprobar su funcionamiento. Consulta https://colab.research.google.com/drive/1XJ-Lph5auvoK1M4kcHZvkikOqZlmbytI?usp=sharing. A través del enlace anterior, puedes ejecutar una rutina en Python con la ayuda de la biblioteca TensorFlow. Para obtener el patrón de las tablas A y B, haz lo siguiente: import tensorflow as tf import numpy as np tableA = np.array([1, 2, 3, 4, 5, 6, 7], dtype=float) tableB = np.array([5, 7, 9, 11, 13, 15, 17], dtype=float) hidden1 = tf.keras.layers.Dense(units=3, input_shape=[1]) hidden2 = tf.keras.layers.Dense(units=3) exit = tf.keras.layers.Dense(units=1) model = tf.keras.Sequential([hidden1, hidden2, exit]) model.compile( optimizer=tf.keras.optimizers.Adam(0.1), loss='mean_squared_error' ) print("Start training...") history = model.fit(tableA, tableB, epochs=1000, verbose=False) print("Model trained!") import matplotlib.pyplot as plt plt.xlabel("# Epoch") plt.ylabel("Loss magnitud") plt.plot(history.history["loss"]) print("Doing a predicction!") result = model.predict([100]) print("The result is " + str(result) ) print("Internal variables of the model") print(hidden1.get_weights()) print(hidden2.get_weights()) print(exit.get_weights()) El código anterior utiliza los valores de A y B para crear un modelo que compara y determina la relación entre ambos valores. Una vez realizada la predicción, se obtiene el valor correcto; en este ejemplo, la predicción es 203. ¿Cómo funciona en IRIS? El Machine Learning en IRIS se denomina "integratedML". Se implementó desde InterSystems IRIS 2023.2 como una función experimental, lo que significa que no es compatible con entornos de producción. Sin embargo, esta función ha sido ampliamente probada e InterSystems cree que puede aportar un valor significativo a los clientes. Puede encontrar más información en la documentación sobre el uso de integratedML. Aun así, dado que esta es una lección de Machine Learning para principiantes, explicaré su funcionamiento de la forma más sencilla posible. Nota: Estoy utilizando un contenedor con una imagen de containers.intersystems.com/iris-ml-community docker pull containers.intersystems.com/iris-ml-community Puede descargar la imagen y ejemplos de IRIS desde https://github.com/KurroLopez/iris-mll-fordummies. 📣SUGERENCIA: Puedes abrir el terminal desde Docker con el siguiente comando: docker-compose exec iris iris session iris Estudio de Sleepland University La Universidad Sleepland ha realizado una amplia investigación sobre el insomnio, realizando miles de entrevistas y creando una base de datos con diversos parámetros de pacientes con y sin insomnio. Los datos recopilados incluyen lo siguiente: Género (masculino/femenino) Edad (edad de la persona en años) Ocupación (ocupación o profesión de la persona) Duración del sueño (horas que la persona duerme al día) Calidad del sueño (puntuación subjetiva de la calidad del sueño, del 1 al 10) Nivel de actividad física (minutos que la persona realiza actividad física al día) Nivel de estrés (puntuación subjetiva del nivel de estrés que experimenta la persona, del 1 al 10) Categoría del IMC (categoría del IMC de la persona: bajo peso, normal, sobrepeso) Sistólica (presión arterial sistólica) Diastólica (presión arterial diastólica) Frecuencia cardíaca (frecuencia cardíaca en reposo de la persona en latidos por minuto) Pasos diarios (pasos que la persona da al día) Trastorno del sueño (ninguno, insomnio, apnea del sueño) Para el primer ejemplo, creé una clase (St.MLL.insomniaBase) con las columnas mencionadas anteriormente: Class St.MLL.insonmniaBase Extends %Persistent { /// Gender of patient (male/female) Property Gender As %String; /// The age of the person in years Property Age As %Integer; /// The occupation or profession of the person Property Occupation As %String; /// The number of hours the person sleeps per day Property SleepDuration As %Numeric(SCALE = 2); /// A subjective rating of the quality of sleep, ranging from 1 to 10 Property QualitySleep As %Integer; /// The number of minutes the person engages in physical activity daily Property PhysicalActivityLevel As %Integer; /// A subjective rating of the stress level experienced by the person, ranging from 1 to 10 Property StressLevel As %Integer; /// The BMI category of the person: Underweight, Normal, Overweight Property BMICategory As %String; /// Systolic blood pressure Property Systolic As %Integer; /// Diastolic blood pressure Property Diastolic As %Integer; /// The resting heart rate of the person in BPM Property HeartRate As %Integer; /// The number of steps the person takes per day Property DailySteps As %Integer; /// None, Insomnia, Sleep Apnea Property SleepDisorder As %String; } Luego, creé algunas clases derivadas de insomniaBase: insomnia01, insomniaValidate01 e insomniaTest01. Esto me permitió tener las mismas columnas para cada tabla. Eventualmente, necesitaremos rellenar nuestras tablas con valores de muestra, así que diseñé un método de clase para tal fin. Class St.MLL.insomnia01 Extends St.MLL.insomniaBase { /// Populate values ClassMethod Populate() As %Status { write "Init populate "_$CLASSNAME(),! &sql(TRUNCATE TABLE St_MLL.insomnia01) …… write $CLASSNAME()_" populated",! Return $$$OK } 📣SUGERENCIA: Para abrir el terminal, escriba el siguiente comando: docker-compose exec iris iris session iris Usando el terminal, llame al método Populate de esta clase Do ##class(St.MLL.insomnia01).Populate() Si hacemos todo correctamente, tendremos una tabla con los valores para entrenar nuestro ML. También necesitamos crear una nueva tabla para la validación. Es fácil, ya que solo se necesita una parte de los datos proporcionados para el entrenamiento. En este caso, será el 50% de los elementos. Por favor, ejecute la siguiente sentencia en la terminal. Do ##class(St.MLL.insomniaValidate01).Populate() Por último, prepararemos algunos datos de prueba para ver los resultados de nuestro entrenamiento. Do ##class(St.MLL.insomniaTest01).Populate() Entrena, entrena y entrena... te volverás más fuerte Ahora tenemos todos los datos necesarios para entrenar nuestro modelo. ¿Cómo hacerlo? Solo necesitas 4 sencillas instrucciones: CREATE MODEL TRAIN MODEL VALIDATE MODEL SELECT PREDICT Creando el modelo CREATE MODEL crea los metadatos del modelo de Machine Learning especificando el nombre del modelo, el campo de destino que se predecirá y el conjunto de datos que proporcionará el campo de destino. En nuestra muestra disponemos de algunos parámetros para evaluar los trastornos del sueño por lo que diseñaremos los siguientes modelos: insomnia01SleepModel: Por género, edad, duración del sueño y calidad del sueño. Comprueba si la edad y los hábitos de sueño afectan a algún tipo de trastorno del sueño. insomnia01BMIModel: Por género, edad, ocupación y categoría de IMC. Examinar si la edad, la ocupación y el IMC afectan algún tipo de trastorno del sueño. insomnia01AllModel: Todos los factores. Inspeccione si todos los factores afectan algún tipo de trastorno del sueño. Ahora vamos a crear todos esos modelos. Utilizando la gestión de SQL en el portal de IRIS, escriba la siguiente frase: CREATE MODEL insomnia01AllModel PREDICTING (SleepDisorder) From St_MLL.insomnia01 En este punto, nuestro modelo sabe qué columna predecir. Puede comprobar qué se creó y qué contiene la columna de predicción con la siguiente sentencia: SELECT * FROM INFORMATION_SCHEMA.ML_MODELS Asegúrese de que el nombre de la columna de predicción y las propias columnas sean correctos. Sin embargo, también queremos agregar diferentes tipos de modelos, ya que deseamos predecir los trastornos del sueño según otros factores, no todos los campos. En este caso, usaremos la cláusula "WITH" para especificar las columnas que se usarán como parámetros para realizar la predicción. Para utilizar la cláusula "WITH", debemos indicar el nombre de las columnas y su tipo. CREATE MODEL insomnia01SleepModel PREDICTING (SleepDisorder) WITH(Gender varchar, Age integer, SleepDuration numeric, QualitySleep integer) FROM St_MLL.insomnia01 CREATE MODEL insomnia01BMIModel PREDICTING (SleepDisorder) WITH(Gender varchar, Age integer, Occupation varchar, BMICategory varchar) FROM St_MLL.insomnia01 Asegúrese de que todos esos modelos se hayan creado correctamente. Entrenando el modelo El comando TRAIN MODEL ejecuta el motor AutoML y especifica los datos que se utilizarán para el entrenamiento. La sintaxis FROM es genérica y permite entrenar el mismo modelo varias veces con distintos conjuntos de datos. Por ejemplo, se puede entrenar una tabla con datos de la Universidad Sleepland o la Universidad Napcity. Sin embargo, lo más importante es que el modelo de datos tenga los mismos campos, el mismo nombre y el mismo tipo. El motor AutoML realiza automáticamente todas las tareas de aprendizaje automático necesarias. Identifica las características candidatas relevantes de los datos seleccionados, evalúa los tipos de modelos viables según los datos y la definición del problema, y ​​establece hiperparámetros para crear uno o más modelos viables. Como nuestro modelo tiene 50 registros, es suficiente para dicho entrenamiento. TRAIN MODEL insomnia01AllModel FROM St_MLL.insomnia01 Haz lo mismo con los otros modelos. TRAIN MODEL insomnia01SleepModel FROM St_MLL.insomnia01 TRAIN MODEL insomnia01BMIModel FROM St_MLL.insomnia01 Puedes saber si tu modelo ha sido entrenado correctamente con la siguiente sentencia: SELECT * FROM INFORMATION_SCHEMA.ML_TRAINED_MODELS Es necesario validar el modelo y el entrenamiento con el comando VALIDATE MODEL. Validando el modelo En esta etapa, necesitamos confirmar que el modelo se haya entrenado correctamente. Por lo tanto, debemos ejecutar el comando VALIDATE MODEL. 📣Recuerda: antes de completar la clase, valídela con el 50% de los datos de la fuente de datos de entrenamiento. VALIDATE MODELdevuelve métricas simples para modelos de regresión, clasificación y series temporales, basándose en el conjunto de pruebas proporcionado. Compruebe lo que se ha validado con la siguiente sentencia: VALIDATE MODEL insomnia01AllModel From St_MLL.insomniaValidate01 Repítelo con otros modelos. VALIDATE MODEL insomnia01SleepModel FROM St_MLL.insomniaValidate01 VALIDATE MODEL insomnia01BMIModel FROM St_MLL.insomniaValidate01 Consumiendo el modelo Ahora, consumiremos este modelo e inspeccionaremos si ha aprendido correctamente cómo generar el valor del resultado. Con la instrucción "SELECT PREDICT", pronosticaremos el valor del resultado. Para ello, usaremos la tabla test1 que ya se rellenó. SELECT *, PREDICT(insomnia01AllModel) FROM St_MLL.insomniaTest01 El resultado parece extraño después de utilizar el 50% de los datos explotados para entrenar el modelo... ¿Por qué se le diagnosticó insomnio a una enfermera de 29 años, mientras que el modelo predijo apnea del sueño? (ver ID 54). Deberíamos examinar otros modelos (insomnia01SleepModel e insomnia01BMIModel), creados con diferentes columnas, pero no se preocupen. Te mostraré las columnas utilizadas para diseñarlos. SELECT Gender, Age, SleepDuration, QualitySleep, SleepDisorder, PREDICT(insomnia01SleepModel) As SleepDisorderPrediction FROM St_MLL.insomniaTest01 Se puede ver de nuevo que a una mujer de 29 años se le ha diagnosticado «insomnio», mientras que la predicción indica «apnea del sueño». ¡Tienes razón! También necesitamos saber qué porcentaje de la predicción se ha aplicado a este valor final. ¿Cómo podemos saber el porcentaje de una predicción? Para saber el porcentaje de la predicción, debemos de usar el comando “PROBABILITY”. Este comando recupera un valor entre 0 y 1. Sin embargo, no se trata de la probabilidad de predicción, sino de la probabilidad de obtener el valor que se desea comprobar. Este es un buen ejemplo: SELECT *, PREDICT(insomnia01AllModel) As SleepDisorderPrediction, PROBABILITY(insomnia01AllModel FOR 'Insomnia') as ProbabilityPrediction FROM St_MLL.insomniaTest01 Es la probabilidad de padecer “insomnio” como trastorno del sueño. Nuestra enfermera, una mujer de 29 años, diagnosticada con insomnio, tiene un 49,71% de probabilidades de padecerlo. Aun así, la predicción es apnea del sueño… ¿Por qué? ¿Es la misma probabilidad para otros modelos? SELECT Gender, Age, SleepDuration, QualitySleep, SleepDisorder, PREDICT(insomnia01SleepModel) As SleepDisorderPrediction, PROBABILITY(insomnia01SleepModel FOR 'Insomnia') as ProbabilityInsomnia, PROBABILITY(insomnia01SleepModel FOR 'Sleep Apnea') as ProbabilityApnea FROM St_MLL.insomniaTest01 Por fin, ahora está un poco más claro. Según los datos (sexo, edad, calidad y duración del sueño), la probabilidad de tener insomnio es de tan solo el 34,63%, mientras que la de tener apnea del sueño es del 64,18%. ¡Guau! ¡Es muy interesante! Aun así, solo estábamos explotando una pequeña parte de los datos insertados directamente en una tabla con un método de clase... ¿Cómo podemos subir un archivo tan grande con datos? ¡Esperen el próximo artículo! ¡Próximamente!
Artículo
David Reche · 29 nov, 2019

Ya está disponible InterSystems ObjectScript Package Manager, el nuevo gestor de paquetes de InterSystems

¡Hola desarrolladores! Siempre que desarrollamos una biblioteca, herramienta, paquete o lo que sea en InterSystems ObjectScript, nos surge una pregunta: ¿cómo desplegar este paquete en la máquina destino? Adicionalmente, en muchas ocasiones se supone que debe haber otras bibliotecas instaladas de las que depende nuestro código y a menudo de una versión particular de las mismas. Cuando uno programa en javascript, python, etc., el rol de despliegue de paquetes con gestión de dependencias se realiza por el package manager o gestor de paquetes. Por eso, me complace anunciar que ya está disponible nuestro administrador de paquetes, el InterSystems ObjectScript Package Manager . ¡ADVERTENCIA! Descargo de responsabilidad. El servidor de InterSystems ObjectScript Package Manager, ubicado en pm.community.intersystems.com y el cliente InterSystems ObjectScript Package Manager instalable desde pm.community.intersystems.com o desde Github, no cuentan con respaldo de InterSystems Corporation y se ofrecen tal y como están bajo licencia MIT. Úselo, desarróllelo y contribuya a la herramienta bajo su propio riesgo. ¿Cómo funciona? InterSystems ObjectScript Package Manager consta de dos partes. Por un lado está el servidor de Package Manager que aloja los paquetes de ObjectScript y brinda la API para que los clientes ZPM implementen y listen los paquetes. Hoy contamos con un servidor del gestor de paquetes para la comunidad de desarrolladores disponible en pm.community.intersystems.com. Puedes instalar cualquier paquete en InterSystems IRIS mediante el cliente ZPM instalado primero en el sistema IRIS. ¿Cómo usar InterSystems Package Manager? 1. Compruebe la lista de paquetes disponibles Abra https://pm.community.intersystems.com/packages/-/all para ver la lista de paquetes disponibles actualmente. [{"name":"analyzethis","versions":["1.1.1"]},{"name":"deepseebuttons","versions":["0.1.7"]},{"name":"dsw","versions":["2.1.35"]},{"name":"holefoods","versions":["0.1.0"]},{"name":"isc-dev","versions":["1.2.0"]},{"name":"mdx2json","versions":["2.2.0"]},{"name":"objectscript","versions":["1.0.0"]},{"name":"pivotsubscriptions","versions":["0.0.3"]},{"name":"restforms","versions":["1.6.1"]},{"name":"thirdpartychartportlets","versions":["0.0.1"]},{"name":"webterminal","versions":["4.8.3"]},{"name":"zpm","versions":["0.0.6"]}] Cada paquete tiene un nombre y una versión. Si desea instalar uno en InterSystems IRIS, deberá tener instalado primero ObjectScript Package Manager Client, también conocido como cliente ZPM. 2. Instale el cliente de Package Manager Obtenga del servidor de ZPM la última versión del cliente ZPM : https://pm.community.intersystems.com/packages/zpm/latest/installer Se trata de un paquete ObjectScript en XML, por lo que para instalarlo puede importarlo en clases mediante el Portal de administración o desde el terminal: USER>Do $System.OBJ.Load("/yourpath/zpm.xml") una vez instalado, puede llamarlo desde cualquier namespace, ya que se instala en %SYS como Z-package. 3. Cómo trabajar con el cliente ZPM El cliente ZPM tiene una interfaz CLI. Llame a ZPM desde cualquier namespace de esta forma: USER>zpm zpm: USER> Consulta la ayuda para ver la lista de comandos disponibles. Verificar la lista de paquetes disponibles actualmente en el servidor ZPM (pm.community.intersystems.com): zpm: USER>repo -list-modules -n registry deepseebuttons 0.1.7 dsw 2.1.35 holefoods 0.1.0 isc-dev 1.2.0 mdx2json 2.2.0 objectscript 1.0.0 pivotsubscriptions 0.0.3 restforms 1.6.1 thirdpartychartportlets 0.0.1 webterminal 4.8.3 zpm 0.0.6 Instalación de un paquete Para instalar un paquete, utiliza: install package-name version Esto instalará el paquete con todas las dependencias. Puedes omitir la versión para obtener la última versión del paquete. Así es como se instala la última versión del terminal web: zpm: USER> install webterminal ¿Cómo saber lo que ya está instalado? Llamar al comando list: zpm:USER> list zpm 0.0.6 webterminal 4.8.3 Desinstalar el paquete zpm: USER> uninstall webterminal Plataformas de datos de InterSystems soportadas Actualmente, ZPM soporta InterSystems IRIS e InterSystems IRIS for Health. Quiero que mi paquete se liste en el Package Manager Por supuesto es posible. Los requisitos son los siguientes: El código debe funcionar en InterSystems IRIS Debe contar con un module.xml en la raíz Module.xml es el archivo que describe la estructura del paquete y lo que se necesita para implementarlo en la fase de despliegue. Algunos ejemplos de module.xml pueden ser muy simples Ejemplo de ObjectScript Or relativamente simple: Samples BI (antes conocido como HoleFoods), Terminal web Módulo con dependencias: DeepSee Web espera que MDX2JSON esté instalado y así es como está descrito en module.xml:DeepSeeWeb Si deseas que tu aplicación aparezca listada en el Administrador de paquetes de la comunidad, coméntalo en esta publicación o envíame un mensaje directo. Colaboración y Soporte técnico El código fuente del servidor ZPM no está disponible por el momento, pero lo estará pronto. El código fuente del cliente ZPM está disponible aquí y actualmente es soportado por la comunidad de desarrolladores de InterSystems, pero no es soportado por InterSystems Corporation. No dudes en enviar incidencias y Pull Requests. Hoja de ruta Esta es la hoja de ruta actual: agregar soporte para Open Exchange agregar la automación para la actualización y carga de paquetes servidor ZPM de código abierto Manténte al tanto y desarrolla tus paquetes de InterSystems ObjectScript en InterSystems IRIS.
Anuncio
Jose-Tomas Salvador · 5 jun, 2023

Disponibilidad General de InterSystems Supply Chain Orchestrator e InterSystems IRIS for Supply Chain

InterSystems anuncia que el componente central de InterSystems Supply Chain Orchestrator™, la versión 2023.1 de InterSystems IRIS for Supply Chain, está disponible de manera general (GA). InterSystems Supply Chain Orchestrator está construido sobre InterSystems IRIS®, nuestra plataforma de datos más completa para entornos on-premise, en nube e híbridos, que posibilita una arquitectura de smart data fabric para hacer más fácil la creación e implementación de aplicaciones de alto rendimiento, que hacen uso de técnicas de machine learning y que permiten conectar silos de aplicaciones y datos. Combina la potencia de InterSystems IRIS con aceleradores y frameworks específicos de la cadena de suministro, para ofrecer soluciones optimizadas para la orquestación de la cadena de suministro, percepción de demanda y previsión, compleción de ordenes y reempaquetado de productos que han de moverse rápidamente. Un componente clave del InterSystems Supply Chain Orchestrator es InterSystems IRIS for Supply Chain, que acerca la arquitectura smart data fabric ofrecida por InterSystems IRIS a los casos de uso comunes en la gestión de la cadena de suministro, ayudando a acelerar (reducir) el tiempo de retorno de valor (time-to-value). *: requiere InterSystems IRIS advanced server **: disponible a través del InterSystems Package Manager (IPM) Funcionalidades destacadas InterSystems IRIS for Supply Chain 2023.1 ofrece las siguientes funcionalidades apoyadas en InterSystems IRIS: Un modelo de datos adaptable para supply chain Cubos de análisis pre-construidos Framework para la configuración de KPIs Gestión del ciclo de vida de eventos Análisis de eventos y acciones basadas en el conocimiento API REST completa Documentación y referencias Documentación de producto: InterSystems IRIS for Supply Chain 2023.1 Formación online: supply chain learning path Más información: supply chain
Artículo
David Reche · 11 abr, 2019

¡Bienvenido a la Comunidad de Desarrolladores de InterSystems en español!

¡Hola!¡Si ves esta página es porque has llegado a la Comunidad de Desarrolladores de InterSystems en español!¡Bienvenid@!En este lugar podrás leer y debatir sobre los productos y tecnologías de InterSystems: InterSystems IRIS, Caché, Ensemble, HealthShare, DeepSee e iKnow.¿Qué tipo de contenido puedes encontrar aquí?En la Comunidad de Desarrolladores (CD) tenemos 3 tipos de Publicaciones/Contenido: Artículos, Preguntas y Anuncios. Además de Respuestas a las preguntas y Vídeos.Los Artículos tratan sobre las prácticas recomendadas ("best practices") y las experiencias con la tecnología y los productos de InterSystems. Tanto los empleados de InterSystems como los miembros de la comunidad pueden publicar artículos. En ellos encontrarás notas sobre las versiones ("release notes"), descripciones acerca de las nuevas funcionalidades, artículos relacionados con experiencias de los usuarios y ejemplos sobre cómo usar la tecnología de InterSystems. Y por supuesto, podrás hacer preguntas y obtener respuestas de los ingenieros con más experiencia en la tecnología de InterSystems de todo el mundo. ¿Por qué deberías registrarte?Deberías registrarte en la CD para publicar y comentar artículos, para hacer preguntas y para dar respuestas. Aquí puedes aprender cómo hacer una publicación.Nota.- Los moderadores pueden eliminar los mensajes que no estén relacionados con los productos y las tecnologías de InterSystems.Solamente los miembros que estén registrados pueden votar. Puedes votar cuando te guste un artículo, una pregunta o una respuesta.¿Se puede votar en contra?Puedes votar en contra siempre que te encuentres con una publicación notablemente descuidada, en la que no se puso demasiado esfuerzo en su elaboración, o con una respuesta que sea claramente y quizás peligrosamente incorrecta. Cuando votes en contra, valora la opción de añadir un comentario si crees que la publicación podría mejorarse.Más información sobre los votos >>¿Cómo funciona la Comunidad?Las Publicaciones se clasifican mediante Etiquetas. Existen etiquetas que son obligatorias, que hay que seleccionar de un listado llamado Grupos. Las etiquetas obligatorias hacen referencia a los productos o los servicios de InterSystems. Es necesario marcar al menos una de estas etiquetas. Las etiquetas son etiquetas, es decir, ayudan a clasificar las publicaciones. Por eso, puedes "suscribirte" a las etiquetas que te interesen, para recibir notificaciones por correo electrónico o RSS.También puedes seguir al miembro de la Comunidad que te interese, mediante una suscripción a sus publicaciones y comentarios.En la página principal de la Comunidad puedes ver el avance de las publicaciones. La que aparece primero es la última publicación o el comentario o respuesta más reciente.Puedes utilizar filtros en la página principal de la Comunidad, para ver únicamente las etiquetas a las que te has suscrito, las más votadas y también las nuevas publicaciones.Además, contamos con un área de Analítica de la Comunidad, donde puedes ver datos sobre los miembros de la Comunidad, sobre las publicaciones, las respuestas, etc.Si quieres saber más sobre el funcionamiento de la Comunidad, consulta las Preguntas frecuentes sobre la Comunidad de Desarrolladores.Suscripciones y notificacionesLos miembros registrados pueden recibir notificaciones por correo electrónico sobre las diferentes acciones que se realizan en la Comunidad. Consulta este artículo sobre cómo hacerlo. Además, todos pueden suscribirse a RSS: para todo lo que necesiten difundir o para etiquetas específicas.¡Global Masters!Es el programa de incentivos/fidelización de InterSystems. Si te gusta la tecnología de InterSystems, únete al equipo de cientos de fans que tiene en todo el mundo. El programa permite acumular puntos y lanza desafíos a cambio de recompensas. Aquí tienes más información >>La Comunidad de Desarrolladores en GitHubEn la Comunidad de Desarrolladores en GitHub puedes encontrar herramientas, estructuras, soluciones y ejemplos sobre tecnología. Aquí tienes más información >>¿Y qué más?Si tienes alguna duda sobre la Comunidad, pregunta en este grupo o consulta las Preguntas frecuentes.Tenemos una cuenta en Twitter, en la que publicamos tweets sobre todos los temas importantes para la Comunidad de Desarrolladores. O, si lo prefieres, también puedes seguirnos en nuestra página de Facebook.Si prefieres utilizar Telegram, tenemos un canal para la CD en Telegram que establecimos con el mismo propósito.Además, un canal de videos en YouTube para la Comunidad de Desarrolladores. Y un Subreddit para la Comunidad de Desarrolladores, donde incluimos todos los anuncios importantes.Una vez más, ¡bienvenido a la Comunidad de Desarrolladores de InterSystems en español! Genial..La comunidad hispanohablante lo va a agradecer.Muchas graciasUn saludo,Francisco López Ánimo "hispano-desarrollantes" :-) .... ya no hay excusas para no sacarle todo el potencial a nuestra tecnología, que es ¡la vuestra! ¡A estrujar IRIS DP al máximo! ¡¡Vamoooossss!! Me parece estupendo! Cuenta conmigo.
Anuncio
David Reche · 11 abr, 2019

Bienvenidos a la comunidad de Desarrolladores de InterSystems en Español

Todos los desarrolladores y desarrolladoras son bienvenidos !!Es un placer y un honor estrenar mediante esta entrada nuestra comunidad de desarrolladores.La tecnología de InterSystems ha sido ampliamente utilizada desde hace años por personas de todo el mundo y la comunidad hispana no es una excepción. Creo que disponer de una comunidad fuerte y llena de actividad que sea el lugar donde poder colaborar, recibir consejos y ayudar a otros, exponer todas nuestras brillantes ideas y dar rienda suelta a nuestra creatividad usando nuestra lengua materna será de utilidad y de gran beneficio para todos.Esta es una demostración más de que desde InterSystems queremos estar cerca de nuestros desarrolladores usando su mismo idioma (literalmente) y entendiendo sus necesidades para poder aportar la mejor solución posible y en definitiva hacer realidad todos esos proyectos que nos ilusionan.Espero que os animéis a colaborar y a participar, ya no tienes excusas para compartir tus ideas por culpa del idioma y aquí estamos para escucharte.Comenzamos! set comunidad = ##class(Desarrolladores.Comunidad).%New() set comunidad.idioma="Español" do comunidad.Run() Esto no ha hecho mas que empezar. Vamos a darlo todo, la comunidad hispano hablante tiene mucho que decir. Enhorabuena
Anuncio
David Reche · 11 jun, 2019

Ya está disponible InterSystems IRIS 2019.2

¡Hola Comunidad!La versión 2019.2 de InterSystems IRIS Data Platform ya está disponible.El contenedor de imágenes para InterSystems IRIS está disponible a través de la página de descargas del Centro de Soporte Internacional (WRC).El número de compilación de esta versión es 2019.2.0.107.0.InterSystems IRIS Data Platform 2019.2 es la primera versión CD (Continuous Delivery, entrega continua) de InterSystems IRIS. Incluye muchas funcionalidades nuevas:Incorporación de la IRIS Native API para Python y Node.js y acceso relacional para Node.jsArquitectura sharding más sencilla y diseño flexible del sharded schemaSoporte para el nuevo conector PowerBI de InterSystems IRISNueva interfaz en el Portal de GestiónMejoras en la seguridad, eficiencia y rendimiento del sistemaMejoras en el InterSystems Cloud ManagerTodas estas nuevas funcionalidades se detallan en la documentación y las notas de la versión de InterSystems IRIS 2019.2.Al ser una versión CD, solo está disponible en OCI (Open Container Initiative), es decir, en formato contenedor Docker. Las plataformas soportadas para producción y desarrollo se detallan en el documento de plataformas soportadas. Para más información sobre lo que es una versión CD, revisad por favor el artículo sobre el nuevo plan de versiones (publicado en la Developer Community).
Anuncio
Esther Sanchez · 18 jun, 2019

Nuevo vídeo: InterSystems IRIS en un contenedor

¡Hola a tod@s!Os hacemos llegar otra de la ponencias grabadas durante el Global Summit 2018. El vídeo también está disponible en el Canal de YouTube de la Developer Community:InterSystems IRIS en un contenedor El vídeo trata todos los aspectos relativos a la instalación de InterSystems IRIS en un contenedor. Se analizan funcionalidades, beneficios, mejores prácticas y el soporte para contenedores. Para sacar el máximo provecho a la ponencia, los oyentes deben estar familiarizados con los contenedores de Docker.Aprende: InterSystems IRIS es un ciudadano de primera clase en el mundo de los contenedores.Ponentes: @Saurav.Gupta, Louise ParberryPodéis encontrar material adicional al video en este Curso Online.¡Esperamos que os resulte útil!
Artículo
Esther Sanchez · 31 jul, 2019

¿Cómo aprender sobre InterSystems IRIS en la Comunidad de Desarrolladores?

¡Hola a tod@s, programadores deseosos de aprender! Hace poco, un desarrollador que está empezando a utilizar la tecnología de InterSystems me preguntó cómo podía aprender en la Comunidad de Desarrolladores, para mejorar sus conocimientos de programación. Y me pareció una muy buena pregunta. A la que podía responder con varias opciones. Por eso decidí escribir este artículo, esperando que sea de utilidad no solo para ese desarrollador, sino para otros muchos más. Así que la pregunta era... ¿Cómo aprender sobre Intersystems IRIS e IRIS for Health en la Comunidad de Desarrolladores? Etiquetas "Principiante" y "Tutorial" Para empezar, puedes echar un vistazo a los artículos con las etiquetas "Principiante" y "Tutorial" en español o "Beginner" y "Tutorial" en inglés. Los desarrolladores, al escribir sus artículos, ponen esas etiquetas cuando describen conceptos básicos de la tecnología de InterSystems o cuando redactan tutoriales sobre alguna funcionalidad de InterSystems IRIS. Puedes encontrar un listado con todas las etiquetas en el menú "Publicaciones", aquí: Etiqueta "Mejores prácticas" Además de las etiquetas "Principiante" y "Tutorial", si quieres acceder a contenido más avanzado, puedes seguir la etiqueta "Mejores prácticas". Cada semana, el equipo de gestión de productos de InterSystems elige un artículo de entre los publicados esa semana, y lo etiqueta como "Best Practices". Así que, si te suscribes a esa etiqueta, recibirás una "Práctica recomendada" de InterSystems cada semana. Votos y Visualizaciones Otra forma de descubrir publicaciones interesantes es prestar atención a lo que votan los desarrolladores de la Comunidad y a los contenidos que más les interesan. Porque si a un miembro de la Comunidad le resulta útil una publicación, le puede dar un voto positivo. Así que podemos considerar que las publicaciones con más votos son las más útiles e interesantes. En la página principal de la Comunidad, puede elegir el filtro de ordenación de las publicaciones "Por votos" y le aparecerán las más votadas primero. También, podría ser muy útil echar un vistazo a las publicaciones con el mayor número de visitas, porque no todos los miembros de la Comunidad votan (además de que hay que estar registrado para votar), pero sí se registran todas las visitas. Así que las publicaciones con más visitas no solo son las más populares, sino que seguramente también serán muy útiles e interesantes. Y, a menudo, las preguntas "Con respuesta aceptada" pueden ser útiles, porque resuelven un problema. Se pueden filtrar las publicaciones con respuestas aceptadas e incluso combinar varios filtros: publicaciones con respuestas aceptadas, ordenadas por votos o publicaciones con respuestas aceptadas, ordenadas por visitas. En todas esas publicaciones, seguro que encontrará respuestas muy útiles e interesantes. ¡Y pregunta! Por supuesto, la mejor forma de aprender y adquirir experiencia con la tecnología es practicando, encontrando problemas y resolviéndolos. Así que si le surge alguna duda, pregunte a través de la Comunidad de Desarrolladores - a veces le llegará la respuesta nada más pulsar el botón "Publicar"! Recursos para principiantes Para terminar, mencionar los recursos disponibles para desarrolladores principiantes en la tecnología de InterSystems (todos en inglés): el área de Documentación, el área de Formación online, el sandbox (entorno seguro para pruebas controladas) Pruebe InterSystems IRIS, el área de cursos y los vídeos del canal de YouTubes. Si alguno conoce otras formas de aprender más sobre la tecnología de InterSystems, puede contárnoslas en los comentarios a este artículo. ¡Gracias!
Anuncio
Esther Sanchez · 20 ene, 2020

Nuevo vídeo: InterSystems IRIS y Python

¡Hola Comunidad! Tenemos un nuevo vídeo, disponible en el canal de YouTube de la Comunidad de Desarrolladores en inglés, grabado por @Benjamin.DeBoe: ⏯ InterSystems IRIS y Python Benjamin De Boe, Product Manager de InterSystems, nos habla sobre Python, InterSystems IRIS y la API nativa de Python. ¡Esperamos que os resulte útil! 👍🏼 Podeis probar InterSystems IRIS aquí: https://www.intersystems.com/try
Anuncio
Esther Sanchez · 14 feb, 2020

Nuevo podcast del Servicio de Formación de InterSystems

¡Hola desarrolladores! InterSystems Learning Services, el Servicio de Formación de InterSystems, se complace en anunciar el lanzamiento de Data Points, un nuevo podcast que incluirá conversaciones con expertos sobre las nuevas funcionalidades de los productos de InterSystems. Y también revisará los temas más innovadores y de actualidad en la industria tecnológica. ¡Ya hay disponibles tres episodios! El vídeo más abajo contiene un breve resumen de cada episodio, pero podéis entrar en https://datapoints.intersystems.com para escuchar los tres podcasts y suscribiros a través de una app. En los próximos días, publicaremos cada episodio por separado. Os podéis suscribir al podcast en: Apple Podcasts Spotify Stitcher Google Play Y contadnos qué os parece este nuevo servicio, si tenéis alguna pregunta o alguna sugerencia para los próximos podcasts.
Anuncio
Esther Sanchez · 17 feb, 2020

¿Quieres ser un referente en la Comunidad InterSystems?

¡Hola desarrolladores! Como sabéis, la Comunidad de Desarrolladores de InterSystems en español es una comunidad activa, en la que todos los días se publican artículos, vídeos, anuncios o preguntas. Y siempre se aprende sobre código y programación. Ya lleva varios meses funcionando de maravilla. Y ahora... ¡necesitamos vuestra ayuda! Ayuda de expertos en la tecnología de InterSystems, como vosotros. ¿Nos echáis una mano? Necesitamos gente que revise la traducción al español de los artículos en inglés que se publican en la Comunidad internacional. Son artículos con trucos, recomendaciones, mejores prácticas... ¿Cómo es el proceso? Muy fácil: Te enviamos el listado de artículos pendientes de revisar Te asignas el artículo o los artículos que quieres revisar Lo ponemos en modo borrador a tu nombre en la Comunidad Lo revisas Lo publicas a tu nombre Si alguien hace alguna pregunta sobre el contenido del artículo, respondes Puedes revisar artículos todas las semanas, cada 15 días... o cuando puedas. ¡Toda colaboración es bien recibida! Nota.- los artículos ya están traducidos al español, solo hay que revisar que la traducción esté bien 👍 Por cada artículo que publiques, obtendrás puntos en Global Masters, el programa de fidelización de InterSystems. Y los puntos se pueden canjear por premios y regalos, ¡claro! Así que... ¿te animas a compartir tu conocimiento y convertirte en un #ReferenteInterSystems? Puedes contactar con nosotros aquí: Quiero revisar artículos >>