Article Jose-Tomas Salvador · Apr 25, 2018 2m read

What if you could serialize/deserialize objects in whatever format: JSON, XML, CSV,...; attending different criteria: export/import some properties and not others, transform values in this or that way before exporting/importing,...; and all of this without having to change the class definition? Wouldn't that be great??

Well, perhaps it's a goal too ambitious to reach 100% but, exploring this idea, I've developed a bunch of classes that I thought it was good to share. If you want to test, change, modify or improve the code, or just take a look at it, you can do it here. There you'll find a more detailed explanation (see Readme.md)

Be aware, this is a proof of concept for myself done in spare times, sure it's not robust enough or it can be done much better... but, I was just playing...ok, I could just wait to the new JSON Adaptor (coming soon!) that sure is going to resolve much more scenarios in a cleaner way, but... meanwhile... :-) ...
4
4 2795
Question Yone Moreno · Mar 5, 2020

We need to get service's both source and target names. We have checked that we could obtain them in the service:

set ^sourceName = ..#SERVICENAME

However we would like to get it directly from the BPL. We have tried:

Set SourceConfigName = ..%PrimaryRequestHeader.SourceConfigName
  $$$LOGINFO("SourceConfigName "_SourceConfigName)

And the compiler outputs:

ERROR: Procesos.HistoriaClinica.ConsultaDatosHCEPaciente.Thread1.cls(S161+247) : MPP5376 : Method or Property '%PrimaryRequestHeader' does not exist in this class.

2
0 880
Article sween · Nov 7, 2019 5m read

Loading your IRIS Data to your Google Cloud Big Query Data Warehouse and keeping it current can be a hassle with bulky Commercial Third Party Off The Shelf ETL platforms, but made dead simple using the iris2bq utility.

Let's say IRIS is contributing to workload for a Hospital system, routing DICOM images, ingesting HL7 messages,  posting FHIR resources, or pushing CCDA's to next provider in a transition of care.  Natively, IRIS persists these objects in various stages of the pipeline via the nature of the business processes and anything you included along the way.  Lets send that up to Google Big Query to augment and compliment the rest of our Data Warehouse data and ETL (Extract Transform Load) or ELT (Extract Load Transform) to our hearts desire.

A reference architecture diagram may be worth a thousand words, but 3 bullet points may work out a little bit better:

  • It exports the data from IRIS into DataFrames
  • It saves them into GCS as .avro to keep the schema along the data: this will avoid to specify/create the BigQuery table schema beforehands.
  • It starts BigQuery jobs to import those .avro into the respective BigQuery tables you specify.

 

3
0 1325
Question Kevin McGinn · Feb 28, 2020

I am new to Intersystems cache COS scripts (cache is a client system). ThoughCOS scripts basically appear to be straight forward, I am having issues with the logon credentials. From what I have found in the documentation, the first 2 lines of the script contain the U/P. When running the script, the username is picked up correctly but the password is not. Granted, having U/P in a script is not ideal but will suffice as a matter of learning if I can figure out the formatting/syntax required. Any help on this would be appreciated.

Kevin McGinn

3
0 375
Announcement Evgeny Shvarov · Mar 4, 2020

Hi Developers!

It's just a statement to let you know who is working for you this year as Developer Community Moderators. Here is our noble team!

English Community:

@Eduard Lebedyuk 

@John Murray 

@Dmitry Maslennikov 

@Robert Cemper 

@Jeffrey Drumm 

@Scott Roth 

Spanish Community:

@Kurro Lopez 

@Nancy Martínez 

Moderators! thanks for your hard work to make this place busy and helpful!

Developers! You can meet in person all the moderators on InterSystems Global Summit 2020 in Seattle this year and on regional events. 

Stay tuned!

3
0 249
Question Jeffrey Drumm · Jan 6, 2020

While I can query the HL7 message class EnsLib.HL7.Message (EnsLib_HL7.Message for SQL) to my heart's content in the SQL Shell or the Management Portal's SQL page, I can't seem to SELECT anything other than ID/%Id from an ADO/ODBC client. Properties such as TimeCreated, Name, MessageTypeCategory, etc. all seem to prevent the query from ever completing EXCEPT when I provide the ID as part of the WHERE criteria.

This works fine in the Management Portal and Shell:

7
0 533
Question Ken Wenze · Jan 6, 2020

Where can i get the latest odbc providers from SQL Server 2012/2016?

I see some posts on line to  an ftp site out there but I am unsuccessful at getting access to it.  I have a version loaded on my server but get errors when querying cache'.

"[Cache ODBC][State : 22005][Native Code 22005]" 

Any help would be appreciated.

the one we have might be version  2014.01.05851  64 bit (would that make sense?)

4
0 1819
Article Mark Bolinsky · Mar 3, 2020 11m read

InterSystems and Intel recently conducted a series of benchmarks combining InterSystems IRIS with 2nd Generation Intel® Xeon® Scalable Processors, also known as “Cascade Lake”, and Intel® Optane™ DC Persistent Memory (DCPMM). The goals of these benchmarks are to demonstrate the performance and scalability capabilities of InterSystems IRIS with Intel’s latest server technologies in various workload settings and server configurations. Along with various benchmark results, three different use-cases of Intel DCPMM with InterSystems IRIS are provided in this report.

5
0 1143
Question Kevin McGinn · Feb 26, 2020

I have a simple python script to pull table information from cache 2018.1.2 which is on a windows 10 machine. I get no results though the same query in the management portal works correctly:

import os
import sys
import intersys.pythonbind3 as ipyb
import numpy as np

# Connect to the Cache' database
url = "localhost[1972]:%SYS"
user = "xxxx"
password = "zzzzz"

accessKey = (url, user, password)

def main(accessKey):

8
0 330
Question Colin Parker · Mar 3, 2020

Hello,

I am wondering if it is possible to access properties of a class from within a routine that has been called. See the below example:

Class TestClass Extends %RegisteredObject
{

Property Data As %ListOfDataTypes;

Method Query(parameter As %String)

{

   d runTag^ExampleRoutine(parameter)

   q

}

}

And then I have a routine:

ExampleRoutine

runTag(parameter) 

  ;I want to add some information to the Data property in the class here.

  q

3
0 321
Question Drew Holloway · Feb 28, 2020

Let's say I start with a date range of '1-5-2019' to '5-25-2019' that occurs on one row.  I'd like to ultimately have this show as 5 rows in Crystal Reports as shown below

Result

1-5-2019  1-31-2019

2-1-2019 2-28-2019

3-1-2019 3-31-2019

4-1-2019 4-30-2019

5-1-2019 5-25-2019

I found a result that worked in T-SQL, but I'm not sure how to translate it to Cache SQL.  The T-SQL code is

select dateadd(d,N.number,d.begindate) adate, data
  from data d
  join Numbers N ON number between 0 and datediff(d, begindate, enddate)

3
0 435
Question Drew Holloway · Feb 28, 2020

In T-SQL, I can create a recursive CTE to create a subquery or a view that will hold a whole lot of numbers.  Is there a way to do this in Cache SQL?  I'd like the numbers from 0 to 10000 if possible. 

Thanks!

3
0 366
Announcement Anastasia Dyubaylo · Mar 3, 2020

Hi Community,

On 8-9 June 2020 InterSystems UK & Ireland will be hosting the annual events for its customers, offering both technical and strategic insight content on the different ways to achieve successful digital innovation:

➡️ InterSystems UKI Developer MeetUp 

➡️ InterSystems UKI Innovation Day

InterSystems is committed to your success, and to ensure we make the best use of your valuable time, we would like to understand more about the technology drivers and challenges your business is facing now, and how you are preparing beyond 2020.

With your help, we can ensure that the conference agenda features topics relevant to your business, with information that will maximize your IT investment and partnership with InterSystems.

The survey will only take an estimated 3 minutes to complete. Thank you in advance for your feedback! 

SAVE THE DATE

Keep your eyes peeled for an official event invitation in coming weeks, but you can save the date and register your interest here.

0
0 228
Announcement Evgeny Shvarov · Mar 3, 2020

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in February 2020!

New applications in February 2020

EXCEL SUDOKU by alex kosinets

Sudoku game implementation in Excel using InterSystems IRIS as a server

RESTForms2 by Henry Hamon Pereira

RESTForms2 is a framework to create the REST API for InterSystems IRIS persistent objects  automatically

FirstLook-Globals by Evgeny Shvarov

Firstlook example of InterSystems Globals

IRIS Interoperability Message Viewer by Henrique Gonçalves Dias

A new approach for the Interoperability Message Viewer

iKnow by Benjamin De Boe

The iKnow Natural Language Processing technology was originally developed in Belgium and then acquired by InterSystems in 2010. In February 2020, InterSystems published the technology to open source, expanding the possible use cases for it beyond embedded use from the InterSystems IRIS Data Platform. iKnow is open to community contributions to enhance the engine, language models and interfaces for use in-text exploration, information extraction, and machine learning use cases.

0
0 208
Question Joe Schra · Feb 27, 2020

Hello I am looking to take a message that is coming from a radiology service, depict whether there were abnormal findings. Then create a message that can be sent to a printer and mailed for patient follow up. Has anyone done anything with printing a created message from Ensemble before? I have created dynamic emails, but never printed anything.

Thanks!

Joe

2
0 283
Question Yakov Berger · Mar 1, 2020

Hi,

I created a BS with a SQL Inbound Adapter.

Query = "SELECT rowid, fname ,lname,datesent  
                   FROM labs
                   WHERE datesent IS NOT  NULL"

DeleteQuery = " update labs set datesent  =  Getdate() where rowid = ?"

KeyFieldName = "rowid"

i am getting the following errors.

"NOT assuming network disconnect error based on: Gateway failed: DropStatement."

"Skipping previously errored row '235'"

"Assuming network disconnect error based on: SQLState: (HY000) NativeError: [0] Message: [Microsoft][SQL Server Native Client 11.0]Connection is busy with results for another command"

1
0 386
Question Ali Chaib · Feb 28, 2020

Do you have any clue how to create a list of messages in studio ?

Example :

I can define one message that is called DoctorInfoMsg such as 

set DoctorInfoMsg= ##class(PKGNotification.InDoctorInfo).%New()

Where PKGNotification.InDoctorInfo is composed of 

Property UserName As %String;

Property ListOfPatients As list Of %String;

How to define a list of PKGNotification.InDoctorInfo messages ?

How to get UserName of the first message?

6
0 296
Article Peter Steiwer · Mar 2, 2020 2m read

This error is sometimes seen while viewing a listing in InterSystems IRIS Business Intelligence:
ERROR #5540: SQLCODE: -99 Message: User <USERNAME> is not privileged for the operation (4)  

As the error suggests, this is due to a permission error. To figure out which permissions are missing/needed, we can take a look at the SQL query that is generated. We will use a query from SAMPLES as an example.

0
0 1278
Question Michel Liberado · Mar 1, 2020

Hi,

I have a production with a BS calling a BP calling another BP and so on and finally a BO. All calls are made using SendRequestSync.

The initial request is passed by value. The response is passed by ref and I allocate memory for it in the BO, hoping that it will go back to the initial caller in the BS, but it does not.

It looks like the following:

3
0 433
Announcement Anastasia Dyubaylo · Jan 13, 2020

Dear Community,

 We're pleased to invite you to the InterSystems Benelux Symposium 2020, which will take place from February 11th to 12th in Antwerp, Belgium!

At the Symposium, both InterSystems experts and external thought leaders will discuss what it takes to make your IT innovation work. You're more than welcome to join us in the Radisson Blu Astrid Hotel in Antwerp.

 

Fastest Path to Possible - With Digital Innovation

5
0 635