Question Alexey Maslov · Sep 28, 2018

There are some classes in our code base that contain Methods only (no properties). I told my colleagues that converting them into the ClassMethods should improve performance as it would eliminate unnecessary OREF support at run-time. Some of them replied that it would be microseconds, so what is the reason to bother.

Is it possible to estimate the impact of OREF support of method calls at run-time? E.g., as a % of all CPU load. 

12
0 590
Announcement Anastasia Dyubaylo · Oct 1, 2018

Hi Community!

We want to invite you to join the live broadcast in Developer Community Twitter!

@Evgeny Shvarov  and @Joe Lichtenberg will present "Using Blockchain with InterSystems IRIS"!

This session will cover the applicability of blockchain technology to address current business challenges, and will present a live application using InterSystems IRIS with blockchain integration.

It will start in an hour! yes

0
0 261
Announcement Evgeny Shvarov · Oct 1, 2018

Hi, Community!

This is a digest of the Developer Community postings in September 2018.

Most viewed

Atelier 1.3 Stable Release  324

Intersystems IRIS and the next applications generation  149

How the Intersystems IRIS ended to anemic databases era  141

Dynamic objects and JSON support in InterSystems products  141

UDL support  127

Global Summit 2018: Unconference topics to discuss  118

How I implemented GraphQL for InterSystems platforms  116

Is there a function similar to Oracle's CDC in the cache database?  116

Find a table given its name  113

parsing xml response  105

Most voted

Atelier 1.3 Stable Release  10

George James Software lunchtime meeting at Global Summit 2018  10

Save the date - DACH Symposium 2018  9

Sharding evaluation #1  8

Sharding evaluation #2  7

Atelier Source code versioning  5

Intersystems IRIS and the next applications generation  4

Global Summit 2018 - Make sure you hang out till Wednesday!  4

Developer Community September 2018 Release  4

New Video: Atelier – Debugging a Class  4

Most commented

How can I create properties (DocDB, Python)?  15

Is there a function similar to Oracle's CDC in the cache database?  15

parsing xml response  13

How to open Cache studio on Mac OS   11

Change time in message browser etc from UTC to local time  10

LDAP Connection/Configuration  9

class Ens.Queue visible to ODBC?  9

How to Open Terminal In Caché Mac OS  9

Impact of OREF support  9

Visual Report alternatives  8

Top 10 Authors to Follow by Views

Gevorg Arutunyan, Posts,  379

Yuri Gomes, Posts,  290

Robert Cemper, Posts,  190

Eduard Lebedyuk, Posts,  187

Dmitry Maslennikov, Posts,  185

Rustam Ibragimov, Posts,  127

Alexander Tsvetkov, Posts,  78

Mark Bolinsky, Posts,  60

Raymond Lawrence, Posts,  43

Irene Mikhaylova, Posts,  38

Top 10 Experts to Follow

Fred Gustafsson, Answers,  +5

Robert Cemper, Answers,  +4

Jolyon Smith, Answers,  +3

Nicole Aaron, Answers,  +3

Alexander Koblov, Answers,  +2

Tomas Vaverka, Answers,  +2

Len Goodkin, Answers,  +2

Herman Slagman, Answers,  +2

Evgeny Shvarov, Answers,  +1

Eduard Lebedyuk, Answers,  +1

0
0 274
Question Julian Matthews · Oct 1, 2018

Hi all.

As part of my dysfunctional journey with FHIR, I'm looking at using the SDA3 within Healthshare to then convert to the HSFHIR format.

This is working surprisingly well, except I'm falling over when it comes to repeating fields within the SDA3 when creating the HS.SDA3.Patient object manually from within Cache.

If I take the Patient ID as an example - within a DTL, I can quite easily take an MRN and add that to the target PatientNumbers.(1).Number and then add an NHS number to the target PatientNumbers.(2).Number.

1
1 529
InterSystems Official Jeff Fried · Sep 29, 2018

InterSystems is pleased to announce that  InterSystems Caché and Ensemble 2018 are now released!

New in these releases are features that improve security and operations, including:

· Key Management Interoperability Protocol (KMIP) support
· Microsoft Volume Shadow Copy (VSS) integration
· Integrated Windows Authentication support for HTTP
· SSH enhancements

0
0 1782
Question Tom McDevitt · Jun 23, 2017

I created a Ens.Alert process and set my services Alert on Error as well an my message router. But I would also like to be alerted for warning types. Is there an setting to be alerted for this type?

2
0 597
Article Gevorg Arutiunian · Sep 27, 2018 2m read

The following class method "test" contains code that can create a new class, create new properties for classes, or create new methods for classes. "test" runs all three of these processes once, and the code that performs each action is labelled by comments in the method:


ClassMethod test() As %Status
{
	set sc = $$$OK
// Create a class
set class = ##class(%ClassDefinition).%New("MyClass")
set class.Description = "This is my test class"_$c(13,10)_"testing %ClassDefinition"
set class.Super = "%Persistent"

// Create a property and add it
set property = ##class(%PropertyDefinition).%New("MyClass.MyProperty")
set property.Type = "%String"
set property.Description="This is a property"
set sc1 = class.Properties.Insert(property)
do:$$$ISERR(sc1) $system.Status.DisplayError(sc1)
set sc = $$$ADDSC(sc, sc1)

// Create a method and add it
set method = ##class(%MethodDefinition).%New("MyClass.MyMethod")
set method.ReturnType = "%Integer"
set method.FormalSpec = "x:%Integer,y:%Integer=10"
set method.Description = "Return product of x and y"
set method.CodeMode = "code"
set method.Code = " new result"_$c(13,10)_" set result=x*y"_$c(13,10)_" quit result"
set sc2 = class.Methods.Insert(method)
do:$$$ISERR(sc2) $system.Status.DisplayError(sc2)
set sc = $$$ADDSC(sc, sc2)

// Save the class definition
set sc3 = class.%Save()
do:$$$ISERR(sc3) $system.Status.DisplayError(sc3)
set sc = $$$ADDSC(sc, sc3)

return sc

}

Here's a link to the code on GitHub

1
2 773
Question Roberto Cahanap · Aug 16, 2018

Let's say I have something like this:

Query ClientList(BusinessType As %String) As %SQLQuery (CONTAINID = 1, ROWSPEC = "Name:%String(MAXLEN=100),AltName:%String(MAXLEN=100)") [ SqlProc ]

{...}

Is there a way I can specify the MAXLEN by a function or a calculated method?

Like maybe:

MAXLEN=#(..GetLengthName())#

Or is this something that has to be hardcoded in Studio?

6
0 1122
Question Richard Housham · Aug 20, 2018

Hi I'm just trying to make sure I'm not missing a trick here.

Basically our PAS doesn't do hl7 messages but does some XML which you can create. So I'm just trying to create some xml files and then get healthshare/ensemble to parse them and to process accordingly. 

I'm getting some good results doing this. But maybe I've got a small hitch. In each of my xml files I've the data for the patient/client. 

1
0 867
Question Ciaran Mooney · Sep 22, 2018

Hi,

I am running terminal on Cache on a Mac High Sierria and going through the ObjectSript tutorials.

However there is no instruction on the Intersystems website as to how to open Studio.

Does anyone know how this is done?

Thanks

11
1 1653
Question Lewis Greitzer · Sep 24, 2018

I"m doing a SQL insert in my BPL, one of the fields in my SQL table is an MSSQL TimeStamp. How do I get the date/time from my HL7 message and format it so that I can then insert it into my TimeStamp column in my SQL table? I've tried lots of different combinations.

I used CONVERT(DATETIME, substring(:request.GetValueAt("EVN:RecordedDateTime"),1,8)) to get just the date portion and it works, but I'd like the whole DateTime inserted into my TimeStamp field. This is an a BPL.

Thanks

2
0 1156
Question Joyce Zhang · Sep 24, 2018

I followed the First Look instructions and tried to run a Docker container with the below command:

> docker run --name iris --detach --publish 52773:52773 --volume /Users/docker:/external --env ICM_SENTINEL_DIR=/external iris:latest --key /external/iris.key --before "/usr/irissys/dev/Cloud/ICM/changePassword.sh /external/password.txt"

It returned with a container ID and an error message:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"/iris-main\": permission denied": unknown.

4
0 1618
Question Chris Messbarger · Sep 14, 2018

Does anyone know how to loop through a segment that is part of an ordered set in a Business Rule and if one of about 10 possible values exist in any of the iterations of the segemnt:field I then allow the message to be skipped?

It seems like it should be fairly simple, but i am having a difficult time figuring this out. The Contains function only allow for one value to be identified. I have tried the intersectsList and while I think I have it formatted correctly i believe it only allows for 4 values to be verified. 

5
0 876
Article Chris Stewart · Apr 24, 2017 2m read

or "Bonus Breakage"

In our last lesson, we added a relationship between 2 persistent classes.  We are clearly going to need to start creating REST Services to expose CRUD operations for each of these classes, but before we do that, we should really finish defining our linkages.  We added code to our Widget toJSON to spool off related Accessory data, so we should really do the reciprocal and allow Accessories to return all Widgets that are compatible.

2
1 1349
Announcement Dmitry Maslennikov · Sep 24, 2018

I have already mentioned my project CacheBlocksExplorer recently in two articles

  1. Internal Structure of Caché Database Blocks, Part 2
  2. Internal Structure of Caché Database Blocks, Part 3

Now I would like to inform that this project can be easily run with docker.

Version for Caché and for InterSystems IRIS, now publicly available on docker hub.

Remember that you need the appropriate license key (for RedHat Linux) to be able to run this project.

Caché

0
1 375
Question Rui Figueiredo · Sep 22, 2018

Hi,

We maintain a few Zen reports that output in Excel format.

Recently we started to observe that some reports fail and return the following error.

CSP error occurred
Error: Error rendering: OS code =1Use $log=1 to check
ErrorNo: 5001

I have extracted the exception details from the log file

1
0 585
Question Rosti Zacharias · Sep 22, 2018

Hi,

Somewhat weird behaviour in testing values in a resulting query.

I have a table where I need to read through a list of data, and apply a charge for matching occurrences. However, only ONE charge for one set of data. I have applied a DISTINCT function to the query, but as I cannot get a completely unique set, the DISTINCT function does not de-duplicate all of the sets.

I have therefore attempted to look for a value that if it repeats for the one data set, I can choose to skip the function that applies the charge.

2
0 303
Question Niyaz Khafizov · Sep 20, 2018

Hi all.

I want to insert my dataframe into InterSystems IRIS. So, I tried to do this:

df = spark.read.load("/home/imported-openssh-key/zeppelin-0.8.0-bin-all/bin/resultData3/DF.json", format="json")
df.write.format("com.intersystems.spark").\
option("url", "IRIS://localhost:51773/DEDUPL").\
option("user", "********").option("password", "********").\
option("dbtable", "try.test1").save()

And got this error:

3
0 2151