#Caché

30 Followers · 4.6K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question Martin Browne · Nov 4, 2019

Hi,

I’m working on a project to add specific PID data to an ORU_R01 message by querying our patient system and adding it to the ORU. Here is what I have 
managed to do thus far:
 
-    Received ORU_R01 message
-    Created Q21 message using the PID data included in the ORU message and sent to patient system to query.
-    Received a K21 message with the required PID data
 
I’m stuck at this point now. I want to add a specific piece of the K21 PID data (highlighted below) to the original 
ORU_R01 PID and was hoping you would be able to assist. 
 

I am doing this using Studio. I want to avoid using a BPL.

3
0 508
Article Eduard Lebedyuk · Mar 14, 2018 10m read

Intro

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? This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity. The article is a write-up for a recent webinar on the same topic.

5
6 3129
InterSystems Official Pete Greskoff · Jan 22, 2020

Updated 1/30/2020

*** The affected product versions have changed ***

*** The affected versions are Caché and Ensemble beginning with 2016.2.0.  ***

*** Caché and Ensemble 2016.1.0 is not at risk for this defect ***

InterSystems has corrected a defect that can cause database degradation in extremely rare circumstances. Associated problems may include, but are not limited to, incorrect or missing application data and system hangs.

This defect affects:

  • All versions of InterSystems IRIS and IRIS for Health
  • Caché/Ensemble versions beginning with 2016.2.
0
0 488
Question Noh Saankyuu · Jan 13, 2020

I am trying to install Cache version 2018.1.0.184.0 on a Windows 10 System and i keep running into Permission errors during installation. I am getting

"Error 1406 Could not write value to key \SOFTWARE\Intersystems\\Classes\CLSID\{D11481CD-3B24-42E1-A20A-D179CDB6BEC5}\InstallCount"

I am signed in as an Administrator, i am running the installer as an administrator and i have edited permissions in the Registry to the referenced keys and i still can't get this to install. Has anyone run into this before and have some advice? I am pulling my hair out over here. 

Any help is appreciated.

1
0 314
Discussion Neerav Verma · Jan 16, 2020

Hi All,

We have few queries which are simple selects . For simplicity let's say there is a query that joins two tables and gets few columns and both tables have no indexes.

Select Tab1.Field1, Tab2.Field2
From Table1 Tab1
Join Table2 Tab2
On Tab2.FK = Tab1.PK
When we do query plan for this it shows approx 6 million,  however if we make a simple adjustment to the query

Select Tab1.Field1, Tab2.Field2
From Table1 Tab1
Join Table2 Tab2
On Tab2.FK = Tab1.PK
WHERE Tab1.Id > 0 (Which will always be the case)

The query plan comes down to few thousands. So approx 99% improvement.

5
0 392
Discussion Alex Kogan · Jan 16, 2020

This is a lesson learned, which I would like to share with community.  


Recently I ran into an issue, where I was using %ConstructClone and it kept cloning extra records, which were not needed.  The record for which I was trying to run a clone had many-to-one relationships.  

The solution to this issue was using param -1.  If you run %ConstructClone(-1) it will not clone relationships, but rather just clone single oref as desired in this case.


I hope this information helps someone who is working with similar records.

0
0 574
Question Orlando Lagman · Jan 15, 2020

Working on a project to call a web service and the soap header has custom header elements that need to be signed. i reviewed the %soap.inc and didn't see any appropriate macro  

EBS and IDP elements need to be signed

here's a provided header sample

this a sample output that I created.

my first pass was $$$SOAPWSIncludeDefault+$$$SOAPWSIncludeAddressing

1
0 422
Question Kevin Furze · Jan 15, 2020

cache 2017.2.1 (Build 801_3)

when I look into the "sql statements" ( sql page of the management portal ) I have lots of old statements with a lot of them frozen. many of them are %sqlcq routines (I believe these are the SLQ's I run when testing/running random SQL queries in the sql page. )

I can clearly see where I can click on an individual query and untick an individual query to unfreeze it. or delete it. but thats a painful slow process.

2
0 311
Question David Underhill · Jan 14, 2020

I would like a REST client to be able to send a custom header with the http request, for example "APPLICATION-ID".

This can be seen in the CSP gateway trace but I have tried using %request.GetCgiEnv("HTTP_APPLICATION-ID") in various formats and parts of the classes but cannot work out where I can get this.  Documentation says this should work but is for normal CSP pages.

Any ideas?

6
0 468
Article Peter Steiwer · Jan 14, 2020 2m read

In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.

Why use this?

This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.

What will we learn?

0
0 405
Announcement Jamie Kantor · Jan 14, 2020
Hi, there, everyone. 
We here in the certification team have been getting some questions about Caché developers taking the InterSystems IRIS Core Solutions Developer exam. I thought now would be a good time to clear up some doubts the community may have.
Even if you haven’t been working yet in InterSystems IRIS, the exam may well suit you already if you currently have experience in Caché. By looking at the Exam Details, you’ll see that there is only one IRIS-specific topic.
0
0 446
Question SomeBoDey CPS · Jan 9, 2020

Please suggest me.

I use delphi to develop and import VISM.OCX to component in delphi.

I run My Qurey Code in terminal get data many line but in VisM1.PLIST get data One line.

This is my code.
  VisM1.MServer := 'IP and Port My Server';
  VisM1.NameSpace := 'My Namespace';
  VisM1.Execute('My Qurey Code');

  VisM1.PLIST;

4
0 535
Question Rob Tweed · Sep 8, 2016

Some may think it's a strange / daft idea, but just today the Raspberry Pi folks have announced that they've now sold more than 10 million of them..and counting.  That's a huge potential marketplace, and a great platform for getting people to hear about Cache and try it out.  Given its focus on the education sector, another great way of getting heard about.

18
0 2913
Article Peter Steiwer · Jan 10, 2020 4m read

When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order. The One side must be built before the Many side. This is because during build time for the Many side, it looks up the record on the One side and creates a link. If the referenced record is not found on the One side, a Missing Relationship build error is generated. The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube. For example: Patients contain a reference to their Doctor.

0
0 598
Question Vikram Annadurai · Dec 20, 2019

Hello All,

I have connected InterSystems Cache remote server from Power BI using ODBC Connection . But I am not able to view the data records on Power BI getting some error "Value cannot be null. Parameter name: exceptionType". And also I checked with that remote server with the location   System > System Logs > View xDBC Error Log > xDBC Errors. On that place I can see the below error

"[SQLCODE: <-400>:<Fatal Error Has Occurred>] [Cache Error: <<READ>ServerLoop+16^%SYS.

2
0 915
Article Peter Steiwer · Jan 7, 2020 1m read

Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.

ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.

This library will continue to grow, so give it a try and give your feedback!

Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!

0
1 497
Question Jeffrey Drumm · Jan 4, 2020

I've writing a short classmethod that extracts an HL7 message from EnsLib.HL7.Message by ID and returns it as a stream. It's to be called as a stored procedure via ODBC (or ADO.NET) to fetch messages into an application.

I'm not using an SQL query in the classmethod itself, but it will be called as part of an SQL query via ODBC, but I can't figure out how to set a custom SQLCODE and error text from within the classmethod that propagates back to the external application. I thought %sqlcontext would be useful for this, but it doesn't appear to do anything. Here's the class:

Class User.HL7.
13
1 654
Article Ponnumani Gurusamy · Jan 4, 2020 2m read

About Intersystem Cache :

                                      Intersystem Cache is a commercial operational database management system from intersystem, used to develop healthcare management, banking and financial, government sectors software applications.

                                      InterSystems Cache is the world’s fastest object database

6
0 2714
Question David Foard · Dec 26, 2019

Is there a way to get a good performing index on a date field? I have tried various date property indexes and the query plan is always in a pretty high range. Below are query plan result values I have observed:

   StartDate > '2019-12-01'  --cost = 699168
   StartDate = '2019-12-21'  --cost 70666
   StartDate between '2019-12-21' and '2019-21-28' --cost = 492058

The query plans above were for type %TimeStamp.

7
0 713
Question Gunwant Kapade · Dec 26, 2019

Hello All,

I am working on Files where I have to compare contents of two files and display result. e.g Suppose file1 contains data in Name and Roll form and file2 contains data in name and class form, so it should compare name from file1 and file2 and display those matching data(Name,Roll,class).

I have piece of idea about file system so any help would be appreciated. Thanks in advance.

Regards, Gunwant

1
0 397
Question Jude Mukkadayil · Dec 11, 2019

Hi,

     I have written a procedure with the help of object scripting to export data to a csv file. There is more data than  the csv limit.

Can anyone please tell me how to get the row count of csv file using object scripting, so that I can write an if condition and write to a second csv file.

Please find the code writing to the csv given below.

while (ind '= ""){
set row = ^CacheTemp(repid,"MAIN",ind)
use filemain write row,!
; Get next row index for MAIN report
set ind = $order(^CacheTemp(repid,"MAIN",ind))
} close filemain
}

Thanks

Jude

14
0 1253
Article Peter Steiwer · Dec 31, 2019 3m read


In the previous part of this series, we saw how to reference a web page that will enhance our dashboard experience.  Now we will look into referencing data that is already in our cubes.

In this example, we will be referencing the controller object and we will be extracting data from it. This data will then be displayed as text in our Dashboard. In Part 5, we will show how to incorporate this data into other charting libraries.

Why use this?

The controller object contains data from an MDX result set.

0
0 320
Question Benjamin Irwin · Dec 29, 2019

I am trying to use the %ListOfDataTypes functionality, but am hitting a limit of 50 characters for each entry, when being used in a Web Service.  Is there a way to increase the number of characters that can be used in the %ListOfDataTypes through a web service? 

7
1 579