#Interoperability

7 Followers · 565 Posts

In healthcare, interoperability is the ability of different information technology systems and software applications to communicate, exchange data, and use the information that has been exchanged.

Article Raymond Lawrence · Sep 7, 2018 2m read

This is a FYI for anyone who has experienced the following error after upgrading an existing  instance to any product based on Caché 2017.2.2. In our case, the products are HealthShare HealthConnect for Redhat x64 and for Windows x86-64 but I believe it would be a common problem for any InterSystems product on any platform, if based on Caché 2017.2.2. After upgrading our development instance from 2016.2.2 to 2017.2.2, we experienced the following errors when attempting to start a pre-existing Java Object Gateway that was defined prior to the upgrade:

Execution returned: 'Error: Could not find o

IQVIA logo_96dpi_100pxheight

0
1 660
Question Eduard Lebedyuk · Aug 27, 2018

I want to call java method and return $lb structure from it.

JDBC jar seems to contain relevant class -  com.intersys.jdbc.CacheListBuilder, but so far I only managed to return a string that looks like a list.

Here's my java code:

package isc.poi;

import com.intersys.jdbc.CacheListBuilder;
import java.sql.SQLException;

public class Test {

    public static String Test() throws SQLException
    {
        CacheListBuilder list = new CacheListBuilder("UTF8");
        list.set(123);
        list.set(456);
        list.set("\"abc\"");

        return list.toString();
    }
}

An

3
0 413
Article Artem Daugel-Dauge · Mar 28, 2018 9m read

There are numerous ways to interact with InterSystems Caché: We can start with ODBC/JDBC that are available via SQL gateway. There are API for .NET and Java too. But if we need to work with native binary libraries, such interaction is  possible through Caché Callout Gateway, which can be tricky. You can read more about the ways of facilitating the work with native libraries directly from Caché in the article below.

1
1 1123
Announcement Michelle Spisak · Mar 1, 2018

For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code?

Now that you've learned how to create a REST API in the REST & Relaxation webinar, see how you can successfully make it big. Join @Eduard Lebedyuk, InterSystems Sales Engineer, for REST API Design and Development. You'll learn design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS

9
0 930
Announcement Michelle Spisak · Oct 17, 2017

Learning Services Live Webinars are back! 

At this year’s Global Summit, InterSystems debuted InterSystems IRIS Data Platform™, a single, comprehensive product that provides capabilities spanning data management, interoperability, transaction processing, and analytics. InterSystems IRIS sets a new level of performance for the rapid development and deployment of data-rich and mission-critical applications. Now is your chance to learn more! 

Joe Lichtenberg, Director of Product and Industry Marketing for InterSystems, presents "Introducing InterSystems IRIS Data Platform", a high-level descrip

1
0 650
Question Eduard Lebedyuk · Oct 5, 2017

Trying to connect Ensemble to RabbitMQ following this article I'm using Java Gateway and encountered the following problem - in all my calls I need to pass connection object, which is always the same but it takes a long time to create. Here's java code:

package com.myorgname.rabbitmq;

import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.QueueingConsumer;

public class Wrapper {

  public void sendMsg(String hostName, String queueName, byte[] msg) throws Exception {
       ConnectionFact
1
0 514
Question Eduard Lebedyuk · Jul 26, 2017

I have tried to create Ensemble SOAP passthrough operation following this guide.

Here's my production configuration (after steps 1-4):

Class Passthrough.Production Extends Ens.Production{XData ProductionDefinition{<Production Name="Passthrough.Production" LogGeneralTraceEvents="false"><Description></Description><ActorPoolSize>2</ActorPoolSize><Item Name="PassthroughOperation" Category="" ClassName="EnsLib.SOAP.GenericOperation" PoolSize="1" Enabled="true" Foreground="false" Comment="" LogTraceEvents="false" Schedule=""><Setting Target="Adapter" Name="HTTPServer"
3
0 736
Question Alexander Koblov · Feb 5, 2016

Hi.

It is easy to receive JSON representation or dynamic Array from %ListOfDataTypes:

set l=##class(%ListOfDataTypes).%New()
do l.Insert("a")
do l.Insert("b")
do l.Insert("c")

set arrStr=l.$toJSON()
zwrite arrStr
set arr=l.$compose([])
zwrite arr

How to make backward conversion? How to receive %ListOfDataTypes from dynamic Array an JSON string?

I've tried

SAMPLES>set list = ##class(%ListOfDataTypes).$fromJSON("[""a"",""b"",""c""]")

%FromObject+21^%Library.RegisteredObject.1 *%Exception.General Compose Compose %FromObject Unable to map from %Library.Array instance to %L
3
0 1524
Article Michelle Stolwyk · May 25, 2017 2m read

The Data Platforms department here at InterSystems is gearing up for this year's crop of interns, and I for one am very excited to meet them all next week!

We've got folks from top technical colleges with diverse specialties from hard core engineers to pure computer scientists to mathematicians to business professionals. They come from countries around the world like Vietnam, China, and Finland and they all come with impressive backgrounds. We're sure they will do very well this summer.

Rather than providing a set list of projects this year, Data Platforms interns will be developing their own pr

0
0 622
Question Scott Beeson · Nov 9, 2016

I am looking for a general overview of how you would attach a document to a patient record in healthshare.  For instance, an Advance Directive or Living Will.

Here are some starter questions:

  1. What format is required, if any?  Can it be a PDF or DOC?
  2. How can/should it be submitted?  HL7? XDS.b?  Embedded in a CCD?

Sorry for the open endedness.  Any info would be helpful while I research this.

6
0 569
Question Jules Monoury · Jan 27, 2017

Hello community,
 

I'm triing to use perl with Caché on CentOS 7.

  • Caché is installed and working
  • Reading doc for perl module
  • Adding path of Caché/bin in PATH and LD_LIBRARY_PATH as suggested in doc
  • Creating mMakefile (perl Makefile.PL)
  • Success at compilation (make)
  • Fail at test (make test). And return the following message:

Can't load 'blib/arch/auto/Intersys/PERLBIND/PERLBIND.so' for module Intersys::PERLBIND: libcbind.so: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
 at test.pl line 10.

The test are a simple file that try to load the module in pe

2
0 710
Question Iryna Mykhailova · Feb 16, 2016

Recently I came across a very strong statement to the effect that InterSystems.Data.CacheClient.dll library works fast because it does not open a TCP/IP connection, instead it works in the same process as a database. It made me pause for quite some time. Firstly because .Net Managed Provider, which utilises this library, opens TCP/IP connection to the database (and it is stated in the documentation "Using .NET and the ADO.NET Managed Provider with Caché"). And secondly, because as far as I know only eXtreme applications attach themselves to the process. Besides, CacheClient for the most part j

6
0 1411
Article Michael Denhamson · Dec 16, 2016 2m read

I have posted to aid others in diagnosing problem with SSL/TLS connections to superserver port from .NET client executable.

The cache instance this appeared on is quite old - 2011 - so I do not know if Intersystems have added a better error message in a later version

The actual fault was due to the certificate in the %SuperServer SSL/TLS configuration having expired.

The unhelpful message that appeared in the .NET client included the following partial stack trace.

   *** CacheException..ctor: (12:05:09:546) [ConnID= 34822912] [SvrJob=Unknown] [ThreadID=9]
 [CacheProvider] Communicati

0
0 1283
Article Wojciech Czyz · Nov 14, 2016 2m read

Microsoft Office has components for using in third party applications: COM Objects for C++ and Interop Assemblies for .Net programming.

Many Cache projects used to include calls to those libraries. However, recently this solution started being problematic.

There are two main reasons - legal and technical. Let’s check the details.

Microsoft technology support

Microsoft is supporting Office Automation only for desktop computing. 

It shall not be used for server computing, as they offer Sharepoint for this scenario. Have a look here:


"Microsoft does not currently recommend, and does not support, Autom

0
0 586
Article Stuart Salzer · Nov 10, 2016 17m read

This article explains the basics of OpenVMS file structures, from a Caché prospective, and what you need to know to read and write any OpenVMS file with Caché, even the files with difficult file structures.

On UNIX and Windows all files are just a stream of octets (eight-bit bytes). Assigning meaning to those octets is done entirely by convention. Those conventions are rather simple, even if slightly different on UNIX and Windows. Meanwhile, the authors of OpenVMS thought that file structure was so important, they built it into the Operating System in the form of the Record Management Services





























0
0 1982
Question Laura Cavanaugh · Oct 17, 2016

Hello community; this may seem odd, but I need to know if there's any way we could be using callin functions from a C application without knowing?  e.g. if other developers created some C programs that call in to Caché that we don't realize are running.  Is that possible?  If so, where would I look to see these programs?  Perhaps the server's task manager? 

Thanks --Laura

2
0 420
Article Tamara Lebedeva · Jul 21, 2016 6m read

Preface: our small, but very ambitious company called “Black Mushroom Studio” came up with an idea for an e-commerce project and a mobile app that would let users pay for certain goods/services via a payment aggregator.

What we had initially: an Android app skeleton that, of course, liked communicating via HTTP and JSON, and a payment system with an API – web services with SOAP content.

Goal: make it all work together.

2
0 1686
Question Scott Beeson · Aug 4, 2016

Using Node.js with Caché - Introduction says the following:

The cache.node module is the Node.js interface for the GlobalsDB kit, which can be obtained from the GlobalsDB download page (http://globalsdb.org/downloads/). The Node.js interface can be used with either Caché or the free GlobalsDB database.
The installation kit includes detailed documentation on how to install and configure the cache.node module.

However, http://globalsdb.org/downloads gives a 404 and http://globalsdb.org just redirects to intersystems.com

Where can I find the files I need?

3
0 999
Question Eduard Lebedyuk · Jun 23, 2016

I have a MySQL server with "posts" table.

I also have a Caché server with "downloadedposts" table. 

They are connected from Caché to MySQL via SQL Gateway

I want to keep Caché table synced with MySQL one  (MySQL "posts" table is a master copy), so periodically Caché queries MySQL server and downloads data. So far so good, and if a record appears or changes in MySQL table, Caché downloads the changes.

The problem I'm encountering is that sometimes rows would be deleted from  MySQL "posts" table.

How do I synchronize deletions?

4
0 1229
Article Attila Toth · Jun 15, 2016 1m read

Hi All,

I've created a sample implementation of the MQTT protocol, which is now available on GitHub

The project demonstrates MQTT client capabilities and it's written in Caché Object Script.

Any comments, bug reports are welcome! Some more enhancements (like SSL / TLS support) are planned for the near future.

0
0 679
Question Michael Lundberg · Feb 12, 2016

Hi,

We do have a production including a SOAP.OutboundAdapter that make a request to a .NET WCF Service. The response from that service vary in size. When it come to large one, we talk about maybe 8000 records (with 6-8 attributes per record) in xml, the adapter always give a timout. Even if we put a high number of seconds or set -1. After 1 1/2h still nothing get back. It's just standing there and waiting for ever.

Our .NET developer have look at it (on the WCF-service)  and from ther point of view they say that it seems like Ensemle can't handle such big responses.

In .Net it.s possi

2
0 613
Article Developer Community Admin · Oct 21, 2015 1m read

Introduction

Because of increasing business and governmental pressures to integrate their operations, the financial services industry is developing a number of standards for data exchange and other common functions. Standards such as XBRL, FpML, MDDL, RIXML, and FIXML are all specialized dialects of XML (Extensible Markup Language). Any financial services application with good support for XML will be able to communicate effectively using one or more of the emerging industry standards.

Efficient data exchange increases the need for fast, scalable data persistence. Financial services applications

0
0 288