Article Henrique Dias · Mar 29, 2020 4m read

Hi developers!

When @Evgeny Shvarov announced the first InterSystems IRIS Programming Contest, I started looking for new ideas.  

I put together a few ideas, and that's what isc-utils is about.

  •  Conversions
    • Temperature
    • Length
  • Exchange Rate
  • Weather

Temperature Scale Conversion

IRISAPP>write ##class(diashenrique.Utils.Temperature).CelsiusToFahrenheit(28)
82.4

IRISAPP>write ##class(diashenrique.Utils.Temperature).CelsiusToKelvin(28)
301.15

IRISAPP>write ##class(diashenrique.Utils.Temperature).FahrenheitToCelsius(82.4)
28

IRISAPP>write
0
0 337
Article Henrique Dias · Mar 29, 2020 1m read

Hi Developers!

Create Database, Namespace, REST Applications using Portal Management is an easy task. You just need a few clicks or maybe more clicks than you expect.

But, what if you traded all those clicks for a simple command-line ?!

IRISAPP>do ##class(diashenrique.Utils.GenerateDB).CreateNew

You just need to answer a few questions: 

Do you want to create a new Database/Namespace?Make this an Interoperability namespace?Do you want to split the database into CODE/DATA?
0
0 340
Announcement Evgeny Shvarov · Mar 22, 2020

Hi Community!

The registration phase for InterSystems Online Programming Contest ends today and we will start the voting week!

Now we have 20 applications - so you have a set of applications to choose from!

How to vote?

This is easy: you will have one vote, and your vote goes either in Experts nomination or in Community nomination.

7
1 493
Question Yone Moreno · Mar 27, 2020

Hello,

We are developing a BP where we would need to call at the same time to get appointments in two external systems. So then, we would need two threads, one for primary care appointments, and other for specialist appointments . We need to paralelize both calls because of both of them require some time and we would need to shorten it as much as possible.

We are currently using a flow:

And inside the flow we have two sequences, the first one for specialists appointments, where we get them with a rest operation, then transform the json string to a object, and then we convert it to match the

3
0 389
Article Oliver Wilms · Mar 26, 2020 1m read

Hello,

I got the idea for this application, because for my work we have a process that currently uses legacy Vista code called MailMan to transfer files using email.I thought I could create a process in HealthConnect (IRIS Interoperability) to replace the need for having the legacy code.I have seen File Passthrough and TCP Passthrough Operations that can transfer a stream (file content) into a file or through TCP connection.I did not find Email Passthrough Operation, so I decided to create it.It receives request with a stream that has the content of the file.

3
0 235
Article Gevorg Arutiunian · Aug 31, 2018 1m read

This code snippet changes all passwords in a system to a specified string. The two literal strings at the beginning of the snippet can be adjusted to edit the system or password string. The class method "test" runs the code:


Class eduardlebedyuk.changePasswords Extends %RegisteredObject
{
	ClassMethod test()
	{
        set ns = $namespace
	    zn "%SYS"
	    set NewPass = "NewPassString"
	    set rs=##Class(%ResultSet).%New("Security.Users:List")
	    set st = rs.Execute()
	    while rs.Next() { set st=$SYSTEM.Security.ChangePassword(rs.Get("Name"),NewPass)}
        zn ns
	}
}

(Originally

7
0 883
Discussion Maks Atygaev · Mar 28, 2020

DISCLAIMER: I am not an InterSystems engineer or a professional ObjectScript developer.

I just want to share my opinion about some things I am really miss in ObjectScript.

I really appreciate everyone who support my project (Declarative ObjectScript) in contest

but the post is not about "why you should support me" on contest.


I faced with ObjectScript in the university while was working on my diploma (in 2013).

Very good mentor @Evgeny Shvarov helped me to get started with ObjectScript development.

In those days I was surprised about ObjectScript doesn't support passing methods to another methods

2
0 295
Question Conor Browne · Mar 27, 2020

Here's what I'm trying to accomplish

I have a directory of CCDAs and files with basic demographic info.

I'd like to generate an outbound Provide and Register request by building the SOAP envelope (using the demographics data) and adding the CCDA as the document.

Which Operations / Components can I utilize for this?

Is there is a good starting point in the documentation I can use?

If anyone knows which specific Operations/Components I should use please let me know.

Thanks

2
0 323
Question Rubens Silva · Mar 27, 2020

Hello,

We're considering adopting the ZPM solution as a way to manage many of our customer updates. However in order to do so we need to know a few things.

  • Is ZPM client compatible with Caché 2017.x versions?
  • Can we configure a self-hosted registry that doesn't require a GitHub repository link?
  • Could the ZPM client zip and upload the whole package (all classes, routines, includes) instead of downloading it from a Github link?
  • Can we declare a module that specifies classes themselves instead of their package counterpart? e.g. My.Class.CLS instead of My.PKG.

We need all these questions to have po

1
0 311
Question Yone Moreno · Mar 25, 2020

Hello,

We have been reasearching how could we parse a string with a JSON structure like the following:

{"code":200,"type":"Consulta","message":"Operacion correcta","result":[{"id":38802130,"paciente":null,"prestacion":{"codigo":"1.52","descripcion":"Extracción ordinaria","tipo":null},"agenda":{"codigo":"TLAB","descripcion":"LABORATORIO CAE TELDE","sala":""},"servicio":{"codigo":"EXTIN","descripcion":"Unidad de Extracciones Insular"},"centroDerivacion":{"codigo":null,"descripcion":null},"centro":{"codigo":"350290","descripcion":"CHUIMI"},"medico":"Nombre4251 Apellido1_4251

1
0 382
Question Oliver Wilms · Mar 26, 2020

Hello,

While working on my Iris contest application FileMailer, I got an error today trying to send email with code that used to work.I added debugging entries and I can see it happens in %Net.SMTP class "Send" method.I am not using any credentials or SSL.I see it opens |TCP|25 device.It issues a series of commands to SMTP server (I was testing with smtp.va.gov and port 25)."init" command gets 220 response. It runs "Login" method.Response is 250.The next command is "MAIL FROM" and I see 250 in the response with sender ok.The next command is "RCPT TO".

1
0 1261
Article Fabio Goncalves · Apr 18, 2017 9m read

Introduction

The common requirement in many applications is logging of data changes in a database - which data has changed, who changed them and when (audit logging). There are many articles about this question and there are different approaches on how to do that in Caché.

I'm sharing a mechanism that can help you implement your framework to track and record data changes.This mechanism creates a trigger through an "objectgenarator" method once your persistent class inherits from the "Audit Abstract Class" (Sample.AuditBase).

9
2 2662
Question Jenna Makin · Mar 26, 2020

Hi-

I am trying to create a simple example of allowing binary (tiff) files to be selected and uploaded asynchronously to an IRIS for Health back-end.   I have managed to write the HTML and Javascript which works great with regular text / ascii files, but fails with binary files.

When I upload a binary file (tiff) image I get garbage like this on the database server 

^TKEN(5,"data")="MM"_$c(0)_"*"_$c(0,128)_"g

5
0 2909
Article Anastasia Dyubaylo · Mar 26, 2020 16m read

These Competition Terms (the "Terms") apply to competitions and contests sponsored by InterSystems and its affiliates including coding contests relating to InterSystems products and technologies (each a "Contest"). Please read these Terms and all applicable Rules (defined below) carefully as they form a binding legal agreement between you and InterSystems Corporation (“InterSystems”), with principal office located at:

InterSystems Corporation
1 Memorial Drive Cambridge
MA, 02142 UNITED STATES 

Our Contests vary, and InterSystems may post Contest-specific rules ("Rules") on the Contest websites on

0
0 260
Article Dmitry Maslennikov · Mar 24, 2020 2m read

I hope you already know one of my projects Cache Blocks Explorer. I've recently renamed it to Blocks Explorer.

For the recent contest, I've added a new feature, the ability to generate a static picture of any Cache or IRIS database. Like below. Where unique globals have a unique color. This is how looks like inside 9.5GB database. Where 1 pixel represents one block. By link on image you will get even bigger image, with more detalization.


6
0 446
Question Yone Moreno · Mar 26, 2020

Hello,

We are developing a method to take two messages which have a list of data types. It is being defined as:

Class Mensajes.Response.HistoriaClinica.ConsultaCitasResponse Extends Ens.Response [ ProcedureBlock ]
{

Property informacion As EsquemasDatos.HistoriaClinica.Informacion;

Property datos As list Of EsquemasDatos.HistoriaClinica.ConsultaCitas;

Property error As EsquemasDatos.HistoriaClinica.Error;

}

Inside datos we have:

Class EsquemasDatos.HistoriaClinica.ConsultaCitas Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock ]
{

Property fecha As %String(MAXLEN = "");Property hora As %String(M

1
0 757
Question Yone Moreno · Mar 26, 2020

Hello,

We are developing a Transformation and we are wondering: how could we debug and show a XML message which is being an output from a transformation, without storing it into request/response/callrequest/callresponse? We mean, how could we show a context variable in the production?

For example, let's have a transformation which stores an appointment in a variable called: context.especializadasConFormatoPrimarias

How could we show in the Production?

Currently it is being stored as the Transformation's output:

And the way we have found to be able to see what looks like our output, its

1
0 288
Question Daniel Lee · Mar 24, 2020

I just tried to log into our QA server and connect to Terminal (v 2013.1). 

I can type in my username but when I attempt to type my password, no characters are typed. When I press ENTER the password is invalid. 

I can connect to the management portal and the studio development environment without any problems.  Also, I do not have this problem when connecting to the terminal in our production environment (2010). 

Does anyone know what can cause this type of problem? 

Thanks. 

2
0 338
Question Yone Moreno · Mar 26, 2020

Hello,

We have a tranformation where we would like to convert a date from the following format:

"'dd/mm/yyyy' 'hh:mm'" (double quotes are just visual to indicate this is a string)

to date and time separated:

date: dd/mm/yyyy

time: hh:mm

We have already splitted the datetime into date and hour as follows:

  set fechaHora = source.result.GetAt(indice).fechaHora
 
  $$$LOGINFO("fechaHora: "_fechaHora)
 
  set fechaHoraSinComillas = $replace(fechaHora,"'","")
 
  $$$LOGINFO("fechaHoraSinComillas: "_fechaHoraSinComillas)  
 
  set fecha = $piece(fechaHoraSinComillas," ")
1
0 496
Article Benjamin De Boe · Mar 25, 2020 5m read

InterSystems IRIS 2020.1 brings a broad set of improved and new capabilities to help build important applications. In addition to the many significant performance improvements accrued through 2019.1 and 2020.1, we are introducing one of our biggest changes in recent SQL history: the Universal Query Cache. This article provides more context on its impact to SQL-based applications at a technical level.

0
0 1060
InterSystems Official Mike Morrissey · Mar 25, 2020

Dear HealthShare Customer:

This post is part of the HealthShare HS2020-03 Alert communications process.  The same information is also distributed:

There are 7 alerts in the HealthShare HS2020-03 Alert communication, including the previously posted "March 25, 2020 Alert: Possible Data Integrity Issues after Compaction or Defragmentation."  The summary is in the table below, and the detail is contained in the attached document: HealthShare HS2020-03.

Alert Product & Versions Affected Ri
0
0 183
Question Jack Smith · Oct 27, 2019

We have a data transformation where source is object collection (populated from a json file)  and target is EnsLib.EDI.XML.Document.

If source file is large enough, transformation fails and we get <store> error and I quickly found this:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EBPLR_DTL_foreach which at the bottom in "Avoiding <STORE> Errors with Large Messages" section tells to: 

"As you loop over segments in a message or object collections, they are brought into memory.

1
0 546