Find

Digest
· Aug 21

New Demos Added — Keep Voting in the InterSystems Demo Games!

Dear Community Member,

A fresh batch of demo videos has just been released as part of the InterSystems Demo Games! This contest is your chance to explore how our Sales Engineers use InterSystems technologies to solve real-world problems — and to help choose the winners by voting for your favorites.

👉 To cast your vote

🔗 Full details here

New demos are added throughout the contest — don’t miss your chance to discover and support your favorites.

The Demo Games are on – and may the best demo win!

Article
· Aug 21 3m read

Dejad un rastro de migas de pan en el código en ObjectScript

ObjectScript puede parecer solo otro lenguaje de programación, pero aquí está el giro:

Vuestro código aquí puede vivir para siempre (sí, incluso después de que os hayáis pasado a otro proyecto). Por eso es importante mantenerlo ordenado, fácil de leer y a salvo de errores misteriosos.

(Una guía para principiantes para mantener vuestro código ordenado, amigable y preparado para el futuro)

Bienvenidos a la jungla de ObjectScript, donde vuestro código puede tener un alcance global y ser persistente por naturaleza.
Mantengamos las cosas limpias, legibles y resistentes a errores.

1️⃣ Nombra como si lo dijeras en serio

Las variables y globales deberían tener nombres como si tuvieran un perfil en LinkedIn.
Saltad las x, y, z; id por patientID, invoiceTotal, ^MyApp("Users",...).

Set patientID = 1023
Set ^Hospital("Patients",patientID,"Name") = "Marshmallow"

💡 Por qué: cuando volváis a esto en 6 meses, “Marshmallow” seguirá teniendo sentido, ^H(1,"N") no.

2️⃣ Conciencia sobre el "calentamiento global" 🌍

Los globales son potentes, pero no arrojéis datos ahí como si fuera un cesto de ropa sucia.

Poned un prefijo con el nombre de vuestra aplicación para evitar colisiones.
Mantened el orden de las claves lógico: la categoría más grande primero, los detalles al final.

Set ^PetStore("Cats","Persian",1,"Name") = "Luna"

💡 Consejo: si no etiquetaríais una caja como “Cosas”, no llaméis a un global ^DATA.

3️⃣ El tamaño de los métodos importa 🐹

Si vuestro método es más largo que la paciencia de un hámster, divididlo.
Los métodos pequeños y enfocados son más fáciles de probar, reutilizar y mantener.


ClassMethod GetPatientName(patientID As %Integer) As %String
{
    Quit ^Hospital("Patients",patientID,"Name")
}

4️⃣ Atrapad esos errores escurridizos 🎣

No dejéis que vuestro código tenga un problema en producción. Envolved las operaciones peligrosas en Try/Catch.

Try {
    Write ^Hospital("Patients",9999,"Name")
}
Catch ex {
    Write "Error: ", ex.DisplayString(), !
}

💡 Por qué: porque los fallos silenciosos son como los gatos, esconden el desastre hasta que es demasiado tarde.

5️⃣ Comentad como si os importara 💌

Los comentarios son cartas de amor para vuestro yo futuro. Mantenedlos cortos, relevantes y actualizados.

// Assign the patients therapy cat
Set ^Hospital("Patients",patientID,"Pet") = "Mittens"

Los buenos hábitos de programación van más allá de cualquier lenguaje; son universales.
Quizás sois campeones de los nombres claros para variables, maestros en el manejo de errores sólido, creyentes en el desarrollo guiado por tests, o tenéis algún truquito peculiar que hace que vuestro código brille.
Sea lo que sea, ¡compartidlo! Publicad vuestras mejores prácticas, lecciones aprendidas o sabiduría en pequeñas dosis en los comentarios, y creemos juntos un tesoro de consejos para ayudar tanto a principiantes como a desarrolladores experimentados a escribir código más limpio, inteligente y eficiente. 🚀

Discussion (0)1
Log in or sign up to continue
Article
· Aug 21 2m read

Comment fusionner des comptes existants (mettre à jour l'e-mail) dans l'écosystème des développeurs InterSystems

Bonjour la Communauté,

Vous pouvez parfois avoir besoin de fusionner plusieurs comptes ou simplement de mettre à jour l'adresse e-mail que vous utilisez sur les différents portails de l'écosystème des développeurs InterSystems. Chaque portail fonctionnant différemment, voici un guide pour vous accompagner dans cette démarche.

Modifier votre adresse e-mail

Si vous souhaitez utiliser une adresse e-mail différente (par exemple, une adresse professionnelle plutôt qu'une adresse personnelle, ou inversement), voici comment la mettre à jour sur tous les portails :

1. Mettez à jour votre adresse e-mail dans InterSystems SSO. Pour cela :

  • Suivez les instructions à l'écran pour modifier votre adresse e-mail.

2. Avec votre nouvelle adresse e-mail, connectez-vous à la Communauté des développeurs et/ou à Open Exchange.

3. Ne vous connectez PAS au Portail d'idées. Commencez par envoyer un message direct à @Irène Mykhailova avec votre ancienne et votre nouvelle adresse e-mail. Une fois la modification confirmée, vous pourrez vous connecter au Portail d'idées. Sinon, vous créerez un nouvel utilisateur sur le Portail d'Idées.

4. Ne vous connectez PAS à Global Masters ; envoyez un message à @Olga Zavrazhnova avec votre ancienne et votre nouvelle adresse e-mail. Une fois la modification confirmée, vous pourrez vous connecter au portail Global Masters. Sinon, vous devrez fusionner vos comptes.

Fusionner vos comptes

Si vous avez déjà plusieurs comptes enregistrés sur l'Écosystème des Développeurs et souhaitez fusionner vos comptes, veuillez envoyer un message direct à @Iryna Mologa avec votre nouvelle et votre ancienne adresse e-mail. Les deux comptes doivent avoir été connectés au moins une fois sur les plateformes respectives. Veuillez noter que la fusion de comptes ou le transfert de données est impossible sur le Portail d'Idées.


Nous espérons que cet article vous aidera à gérer vos comptes sur l'Écosystème des Développeurs. Si vous avez des questions ou des suggestions, n'hésitez pas à les partager dans les commentaires de cet article.

Discussion (0)1
Log in or sign up to continue
Question
· Aug 21

How to Handel large data like 50 lac characters support in Base64 binary in Binary FHIR Resource ? i

I try the Large data Save in FHIR server in Binary Resource but it's failed 

Methed: Post , URL: fhirservers/fhir/r4/Binary 

I hit the API but the record not save and same API but base64 data length is 3 lac than it's save without faile.

I pass data on this formet

{

  "resourceType" : "Binary",

  // from Resource: id, meta, implicitRules, and language

  "contentType" : "<code>", // R!  MimeType of the binary content

  "securityContext" : { Reference(Any) }, // Identifies another resource to use as proxy when enforcing access control

  "data" : "<base64Binary>" // The actual content

}

 

I got this Response is 

{

    "resourceType": "OperationOutcome",

    "issue": [

        {

            "severity": "error",

            "code": "exception",

            "diagnostics": "5002",

            "details": {

                "text": "ObjectScript error: <MAXSTRING>%GetNext+2^%Iterator.Object.1"

            }

        }

    ]

}

How to fix this, or what is the solution for that? 

2 Comments
Discussion (2)2
Log in or sign up to continue
Question
· Aug 20

Enabling IPM across namespaces

I've been trying to set up a script I can run after installing an instance to enable IPM across all namespaces. I have been able to install IPM successfully using

set r = ##class(%Net.HttpRequest).%New(),
    r.Server="pm.community.intersystems.com",
    r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" 
d r.Get("/packages/zpm/latest/installer"),
    $system.OBJ.LoadStream(r.HttpResponse.Data,"c")

and then running the zpm commands

repo -r -n registry -url https://pm.community.intersystems.com/ -user "" -pass ""
enable -map -globally

This seems to enable me to run further zpm commands in the namespace where I initially installed IPM. In other namespaces, I can see that IPM is installed, but I do not seem to have a registry configured and cannot install packages from it unless I first run a similar 'repo -r -n registry...' command in each namespace. Is this expected? I thought 'enable -map -globally' was supposed to avoid the need to do that, but I may be missing something.

1 new Comment
Discussion (4)4
Log in or sign up to continue