Article David Reche · Oct 29, 2018 5m read

Here I’ll walk you through the process of creating a simple Node/Express API and connect it to a InterSystems IRIS instance.

I won't go into much detail about how to work with any of the technologies I will mention in this tutorial but I will leave links, in case you want to learn more.

The objective here is to give you a practical guide on how to set up and connect a node.js back-end API to IRIS.

Before we get our hands dirty, make sure you have Node.js running on your machine. So I'll check:

➜ node --version
v8.12.0

Version 8.12.0 is the current LTS (Long Term support) version of node.js.

In case y


















laugh

3
7 1087
Question Murillo Braga · Oct 31, 2018

Hello guys,

I want to be able to export a range of messages from my production (from within a specific date interval), but while digging into intersystems documentation, it isn't giving me any details on how to perform this task.

It teases me saying "Ensemble provides a Message Viewer page for HL7. You can use this page to display, transform, and export HL7 messages (either external files or messages from the Ensemble message archives).", but then there are no signs of further information.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

Could you

2
0 1640
Question Frank SERVAIS · Nov 1, 2018

I downloaded and installed the trial version of Caché.
it is installed in c:\intersystems\Trycache
I changed the system environment settings so that
GLOBALS_PATH = c:\intersystems\Trycache
and PATH includes c:\intersystems\Trycache\bin
Caché works, and I can login, use the globals, etc...

when I run any executable like , I receive that exception error on the console :
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
I tried with different versions of Caché (I have an older version), with different target dotnet versions, but with the same result.
Than

1
0 395
Question Greg Arnold · Nov 1, 2018

I have an Ens.StreamContainer which holds XML that was received, and I need to validate that against an XSD schema. The schema is very simple, only looking at the root element and maybe a couple other items to ensure the XML is what we expect before continuing the data flow.

I have imported my XSD into the Ensemble XSD wizard, so it is available, but I'm struggling to find a method that does the validation. I thought about possibly using the schema to generate a class definition, then attempt to load the XML as that object (try/catch to handle the failure scenario), but I don't know where to st

1
0 898
Question Kevin Dunn · Nov 1, 2018

I'm trying to  interpret a ObjectScript pattern and I am stumped on the first part. I understand everything else but not sure what 1.A means. I know A stands for Alpha characters just not sure what the 1. means

3
0 628
Question Scott Hawkins · Oct 30, 2018

Hello,

I have been trying to pull data through a linked server in SSMS from an InterSystems Cache Database for a while, this is to enable us to join the data to other source systems in our Data Warehouse.

I have set up an ODBC connection and a linked server to the database and can execute queries through OPENQUERY in Management studio, but the data is huge (> 100million rows). So when I execute a SQL query with a WHERE clause the query just spins.

If I SELECT TOP 100 with no where clause the query returns data, so I know that all the connections are correct. Any guidance would be greatly apprecia

2
0 998
Announcement Evgeny Shvarov · Nov 1, 2018
0
0 332
Question Farhan Shariff · Sep 24, 2018

I am currently using InterSystems for patients data management related to intake treatment planning and delivery of dose.

should I create a new attribute to track Patient ID or using an existing attribute within Audit log ? what are the good practices guidelines?

If I use Event Data field to record Patient_ID is it possible out of the box to search entries for a specific Patient_ID ?

3
0 507
Question Coty Embry · Oct 29, 2018

I'm trying to execute a nodejs process to perform some work on a string from Cache/Mumps over to nodejs, then return the result from nodejs as a string back to the code in Cache and I was looking at the `$ZF` logic - it will let me output the results to a file (i.e. temp.txt) but I dont see a way to just get the output set back to an M variable like (and I know this is not the correct syntax, but just for example)

S myOutput=$ZF(-100, "echo something") ;; wrong syntax but just for example

W myOutput ;; want to write out "something" but of course this doenst work

are there any other options to do

4
0 1163
Question Keshav Iyer · Oct 30, 2018

What is the difference between %ID and ID in a database table? Both seem to reference the same column labelled ID.

For context, I am trying to create a viewer class for an existing persistent class.

Let us call the persistent class A, with SqlTableName = OldA.

The viewer class will be B with SqlTableName = A and ViewQuery = {select %ID, <other fields> from <some other class with the same fields as A>}

In A, there exists a class query: select %ID from A. However, A fails to compile, giving an error: "Field '%ID' not found in applicable tables". If the %ID is replaced with ID, the class compiles. 

1
0 1472
Question Satish P · Oct 29, 2018
Hi,

I was understanding the cluster configuration supported by the Cache. Have couple of queries around that:

1. In Cache version 2018.2, there is a shrading concept which splits the data of a Master Data server into multiple small data server which store shraded data.

How do we protect (backup and restore) such environment, should we also backup/restore the multiple small data servers along with  Master data server. Any documentation around this will really help.

2. In case of Cache DB Horizontal scaling, we keep adding multiple Application and data servers - to ensure load balancin

3
0 442
Question Kurro Lopez · Oct 30, 2018

Hi all,

I have a FTP.Inbounding service that read a file and move it to a other folder when it is processed. The problem is that is not working fine in SFTP server.

The code is coppied from How to - Customize Ensemble Settings article.

// begin customization code// get the Filename, attach the time stamp to it and move the file into the Archive directory// the Rename method below is using RNFR and RNTO FTP commands (RFC 959), effectively moving the file into the new directorySet tSource=pInput.Attributes("Filename")Set tArchive=..Adapter.CreateTimestamp(tSource,"%f_%Q")set fullPath =.
4
0 1981
Announcement Evgeny Shvarov · Oct 26, 2018

Hi Community!

I'm pleased to announce that InterSystems Developer Community reached 5,000 registered members!

Thank you, developers, not only for registering but rather for making this place more and more helpful for everyone who develops and supports solutions on InterSystems Data Platforms all over the world! Big applause to all of us! 

2
2 407
Announcement Daniel Kutac · Oct 29, 2018

We had our first meetup of the Prague Meetup for InterSystems Data Platform last Thursday!

As it was our first such venue, the attendance was not large, but we believe it was a good start. Those who attended could learn about new features that InterSystems IRIS brings to our partners and customers as well as listen to a presentation discussing what it takes to migrate from Caché or Ensemble to InterSystems IRIS and eventually containerizing their applications.

We all enjoyed excellent assortment of various tea species, accompanied by vegetarian food. (so you know what you can expect next tim

2
0 338
Question Satish P · Oct 25, 2018

Hi,

We are trying to write an external backup application to backup Cache Database. After going through the Cache DB documentation, we have found that in Backup.General class there are methods for creating snapshot (Freeze/Thaw) which is required during backup. Are there REST APIs for the same?


Also we have the option of selecting individual DB instances in the management portal.  What are the methods/APIs of getting the DB list, so that user can select individual DB instances in an external backup application ? Do we have the methods/APIs to freeze/thaw the individual DB instances ?

Thanks!

Satis

5
0 784
Article Mark Bolinsky · Sep 7, 2018 2m read

Continuing on with providing some examples of various storage technologies and their performance profiles, this time we looked at the growing trend of leveraging internal commodity-based server storage, specifically the new HPE Cloudline 3150 Gen10 AMD processor-based single socket servers with two 3.2TB Samsung  PM1725a NVMe drives.  

2
0 1517
Article Gevorg Arutiunian · Aug 22, 2018 1m read

(Originally posted on Intersystems CODE by @Eduard Lebedyuk, 10/12/15) The following code snippet outputs all filenames in the file path "dir" in the Cache/IRIS terminal. The class method "test" runs the code:


Class eduardlebedyuk.filenamesInDir Extends %RegisteredObject
{
	classmethod test() {
		// replace dir with file path you want
		set dir = "D:\directory" 
		set dir = ##class(%File).NormalizeDirectory(dir)
		set file=$ZSEARCH(dir_"*")
		while file'="" {
			write !,file
			set file=$ZSEARCH("")
		}
	}
}
3
2 2075
Question Arun Madhan · Oct 29, 2018

HealShare 2017

Hi dev community,

I am currently  working on an interface that needs to communicate to a SOAP/ITK endpoint.

I am using the EnsLib.ITK.AdapterKit.Operation.SOAPOperation to interface with an ITK 
service, but it is proving to be more complex than originally expected to set up the web client 
against that particular end-point since I haven't been provided with a WSDL from ITK service side as 
the vendor state they are following the ITK standard and no WSDLs are needed.

I have set up an EnsLib.ITK.AdapterKit.Operation.SOAPOperation within Health Share production and 
we are current

1
0 393
Article Alberto Fuentes · Feb 19, 2016 1m read

Attached code contains a very basic $system.WorkMgr example.

It uses several jobs (workers) to update different chunks of rows of a table.

Steps:

  • Creates a table with 100 records.
  • Split table  in chunks 
  • Initialize WorkMgr and queue chunks to workers.
    • Every worker simply sets its process number in the Job field of the processed row. 

In this case, I have tested the example in a 8-core laptop:

USER>do ##class(IAT.S04.WorkMgr.Simple).%DeleteExtent()
USER>do ##class(IAT.S04.WorkMgr.Simple).Populate(100)
USER>do ##class(IAT.S04.WorkMgr.Simple).UpdateWorkMgr()
**Split
pChunks=8

1
0 952
Question Rosti Zacharias · Oct 24, 2018

Hi,

I would like to know if anyone has had some experience in building systems for multiple end-users. 

To keep things simple, in a hypothetical example, say an Event Booking System, where a Venue could sign up to use such a system and define it's Venue, costs, calendars, etc.. and then invite their customers to book the Venue on different days/times. 

If I wish to offer such a system to many Venues, there are a number of options available.

  • Simply create a unique copy of the system for each Venue, in their own Namespace, unique classes and applications
  • Set it up, so that every Venue sha
6
0 2381
Question Larry Pinsky · Mar 22, 2017

We have many sFTP business operations that work successfully.  I just modified an existing one to point to a new IP and Port, as well as use new credentials (username and password only).  When I attempt to sFTP a file, I receive the following error.

ERROR <Ens>ErrFailureTimeout: FailureTimeout of 15 seconds exceeded in EnsLib.FTP.PassthroughOperation; status from last attempt was ERROR <Ens>ErrOutConnectFailed: SFTP Connect failed for sftp.pmpclearinghouse.net:22/OARRS PMP/SSL='!SFTP'/PubKey=''/PrivKey=''
with error ERROR #7500: SSH AuthenticateWithUsername Error '-2146430958': SSH Error [801010

5
0 2818