Rechercher

Annonce
· Sept 2, 2024

Recapitulação do InterSystems Developer Community, Agosto 2024

Olá e bem-vindo ao Recapitulação da comunidade de desenvolvedores Agosto 2024.
Estatísticas gerais
28 novas postages publicadas em Agosto:
 10 novos artigos
 17 novos anúncios
 1 nova discussão
6 novos membros ingressaram em Agosto
1,150 postagens publicadas ao todo
586 membros ingressaram ao todo
Principais publicações
Principais autores do mês
Artigos
Anúncios
#InterSystems IRIS
 
#Developer Community Oficial
 
#IRIS contest
 
#InterSystems Oficial
 
#HealthShare
 
#Portal de Aprendizagem
 
Discussões
#InterSystems IRIS
 
Agosto, 2024Month at a GlanceInterSystems Developer Community
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Sept 2, 2024

InterSystems Developer Tools Contest 2024

Hi Developers,

We'd like to invite you to join our next contest dedicated to creating useful tools to make your fellow developers' lives easier

🏆 InterSystems Developer Tools Contest 🏆

Submit an application that helps to develop faster, contributes more qualitative code, and helps in testing, deployment, support, or monitoring of your solution with InterSystems IRIS.

Duration: September 9 - 29, 2024

Prize pool: $14,000


The topic

💡  InterSystems IRIS developer tools 💡

In this contest, we expect applications that improve developer experience with IRIS, help to develop faster, contribute more qualitative code, help to test, deploy, support, or monitor your solution with InterSystems IRIS.

General Requirements:

  1. An application or library must be fully functional. It should not be an import or a direct interface for an already existing library in another language (except for C++, where you really need to do a lot of work to create an interface for IRIS). It should not be a copy-paste of an existing application or library.
  2. Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest.
  3. The application should work either on IRIS, IRIS for Health or IRIS Cloud SQL. The first two could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in the form of containers pulled from InterSystems Container Registry or Community Containers: intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest .  
  4. The application should be Open Source and published on GitHub. 
  5. The README file to the application should be in English, contain the installation steps, and either the video demo or/and a description of how the application works.
  6. No more than 3 submissions from one developer are allowed.

NB. Our experts will have the final say in whether the application is approved for the contest or not based on the criteria of complexity and usefulness. Their decision is final and not subject to appeal.

Prizes

1. Experts Nomination - a specially selected jury will determine the winners:

🥇 1st place - $5,000 

🥈 2nd place - $3,000 

🥉 3rd place - $1,500

🏅 4th place - $750

🏅 5th place - $500

🌟 6-10th places - $100

2. Community winners - an application that will receive the most votes in total:

🥇 1st place - $1000 

🥈 2nd place - $750 

🥉 3rd place - $500

🏅 4th place - $300

🏅 5th place - $200

If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. 

Who can participate?

Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account!

Developers can team up to create a collaborative application. 2 to 5 developers are allowed in one team.

Do not forget to highlight your team members in the README of your application – DC user profiles.

Important Deadlines:

🛠 Application development and registration phase:

  • September 9, 2024 (00:00 EST): Contest begins.
  • September 22, 2024 (23:59 EST): Deadline for submissions.

 Voting period:

  • September 23, 2024 (00:00 EST): Voting begins.
  • September 29, 2024 (23:59 EST): Voting ends.

Note: Developers can improve their apps throughout the entire registration and voting period.

Helpful resources

✓ Example applications:

✓ Templates we suggest to start from:

✓ For beginners with IRIS and Python:

✓ For beginners with IRIS and ObjectScript:

✓ For beginners with ObjectScript Package Manager (ZPM):

✓ How to submit your app to the contest:

Need Help?

Join the contest channel on InterSystems' Discord server or talk with us in the comments section of this post. 

We can't wait to see your projects! Good luck 👍


By participating in this contest, you agree to the competition terms laid out here. Please read them carefully before proceeding. 

 
9 Comments
Discussion (9)2
Connectez-vous ou inscrivez-vous pour continuer
Résumé
· Sept 2, 2024

Publicações Desenvolvedores InterSystems, August 26 - September 01, 2024, Resumo

August 26 - September 01, 2024Week at a GlanceInterSystems Developer Community
Résumé
· Sept 2, 2024

InterSystems Developers Publications, Week August 26 - September 01, 2024, Digest

Articles
#InterSystems IRIS
Announcements
#InterSystems IRIS
#Other
#Learning Portal
#InterSystems IRIS for Health
#Developer Community Official
Questions
#InterSystems IRIS
#Other
#InterSystems IRIS for Health
#Caché
error
By Richard Prouvot
JOB $SYSTEM.obj
By Richard Prouvot
OPEN A TERMINAL WINDOW VIA HREF TAG IN HTML
By Richard Prouvot
COMPARE ROUTINES
By Richard Prouvot
#Ensemble
August 26 - September 01, 2024Week at a GlanceInterSystems Developer Community
Article
· Sept 2, 2024 4m de lecture

IRIS Python nativo

Hola Comunidad

Anteriormente he experimentado con Python embebido en IRIS; sin embargo, aún no he tenido la oportunidad de implementar IRIS usando Python nativo. En este artículo, mi objetivo es esbozar los pasos que tomé para comenzar a aprender e implementar IRIS dentro de la fuente de Python. También me gustaría agradecer a @Guillaume Rongier y @Luis Angel Pérez Ramos su ayuda para resolver los problemas que encontré durante mi reciente instalación PIP de IRIS en Python, lo que finalmente permitió que funcionara correctamente.

Empecemos a escribir IRIS en python.

Lo primero es lo primero, tenéis que instalar el archivo intersystems_irispython-3.2.0-py3-none-any.whl desde el repositorio de github. He descargado e instalado en mi máquina de Windows.

py -m pip install intersystems_irispython-3.2.0-py3-none-any.whl

Verificado que los paquetes están instalados en mi máquina ejecutando py -m pip list

intersystems-irispython 3.2.0
iris                    0.0.5

 

Ahora listo para empezar a escribir el python. He creado un archivo .py e importar el paquete iris en la parte superior de la clase.

Ahora vamos a establecer la conexión a IRIS mediante el método de conexión y crear el uso del objeto de conexión para instanciar el objeto iris.IRIS mediante el uso de «createIRIS» y este es el paso crucial para proceder a otras operaciones.

import iris
impor time

args = {'hostname':'127.0.0.1', 'port':1972,'namespace':'LEARNING', 'username':'_SYSTEM', 'password':'SYS'}

try:
    """
    some other ways instead of kwargs
    conn = iris.connect(hostname='127.0.0.1', port=1972, namespace='LEARNING',username='_SYSTEM',password='SYS')
    """
    conn = iris.connect(**args)
    # A new IRIS object that uses the given connection.
    irispy = iris.createIRIS(conn)

    print('connected!')
except Exception as e:
    # Handling the exception and printing the error
    print(f"An error occurred: {e}")
    

 

Ahora hablemos de los Métodos para COS y global

Una vez que hayáis creado con éxito un objeto IRIS. Ahora estáis listos para utilizar diversas operaciones

set : Esta función se utiliza para definir los valores globales en la base de datos IRIS.

1. el primer parámetro es el valor establecido 

2. El segundo parámetro es el nombre global.

3. *args - tercer parámetro es subíndice(s)

def set_global(value=None,gbl=None,*args):
    #set method is in _IRIS from iris package
    irispy.set('set from irispy','mygbl','a',str(time.time()))
    print('global set done!')

set_global()

 

kill Esta función se utiliza para eliminar el global de la base de datos

def kill_global():
    irispy.kill('mygbl')
    print('global kill done!')

IsDefined: es igual a $data : verifica que existe

def data_isDefined():
    # equal to $data
    print(irispy.isDefined('mygbl','a')) # o/p 10
    print(irispy.isDefined('mygbl','a','1724996313.480835')) # o/p 1

nextSubscript: Es igual a $Order

irispy.nextSubscript(0,'mygbl','a')

tStart, tCommit y tRollback: lo mismo que TStart, TCommit, TRollback

def global_transaction_commit():
    irispy.tStart()
    print(irispy.getTLevel())
    irispy.set('set from irispy','mygbl','trans',str(time.time()))
    irispy.tCommit()

def global_transaction_rollback():
    irispy.tStart()
    print(irispy.getTLevel())
    irispy.set('set from irispy','mygbl','trans1',str(time.time()))
    irispy.tRollback() # tRollbackOne()

 

lock y unlock: por defecto incremental lock/exclusive lock

def global_lock():
    #default exclusive lock
    s = irispy.lock('',1,'^mygbl')
    time.sleep(10) # verify the lock in locktab
    irispy.unlock('','^mygbl')
    
def global_shared_lock():
    s = irispy.lock('S',1,'^mygbl')
    time.sleep(10)
    irispy.unlock('S','^mygbl')

node: subscript level igual que $Order

def node_traversal():
    # subscript level traversal like $Order
    for mrn in irispy.node('^mygbl'):
         for phone in irispy.node('^mygbl',mrn):
            print(f'patient mrn {mrn} and phone number: {phone}')
            
"""
o/p
patient mrn 912 and phone number: 3166854791
patient mrn 991 and phone number: 78050314
patient mrn 991 and phone number: 9128127353
"""

El nodo, el recorrido de valores y las definiciones de clase y sus miembros se tratan en el siguiente artículo.

Podéis consultar la documentación de IRIS para todas las funciones.

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer