#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question Glenn van Bavel · May 4, 2017

Whenever the Windows SNMP Service restarts, the snmpdbg log says the following. 

13:08:59 :Attempting initial TCP connection(s) with 1 Cache instances ...
13:08:59 :Get connection with ENSEMBLE on port 1972
13:08:59 :Connection refused on port 1972, check if Cache instance ENSEMBLE is started.
13:08:59 :Cache iscsnmp.dll initialized for 1 configs

Ensemble and all productions are running. I've set up Caché SNMP agent on many other servers in our company and those are working fine. However this one server won't budge. 

Does anyone have any idea what the problem may be here? 

Regards,

Glenn

10
0 1362
Question John Lisa · Jul 20, 2020

Hello,

I posted in another thread a short while back regarding accessing (extracting) data from the Cache' database.

I am now told that the (healthcare) system is IDX Groupcast. The kick off project has not started yet but I would like to do some 'homework' and see the data model. I couldn't find too much about this in a Google search. Would anyone have a link or advise for doing some preliminaries? I am already versed in SQL server.

Thanks,

John Lisa

8
0 681
Question Ahmad Bukhtiar · Sep 23, 2020

Any syntax help, i want to check different msg types and then reach out to the value in that particular segment. Here is example, i want to get SSNNumber from a method. Trying to use NOTIN, and Lookup

Class Training.RulesFunctionSet Extends Ens.Rule.FunctionSet

{

ClassMethod getEmiratesId(pHL7 As EnsLib.HL7.Message) As %String
{
SET msgType = pHL7.GetValueAt("MSH:MessageType.TriggerEvent")
 

IF msgType NotIn "A39,A40,O01,O11,O09,R01" {
return pHL7.GetValueAt("PID:SSNNumberPatient")}

IF msgType In "A39,A40" {
 return pHL7.GetValueAt("PIDgrp(1).PID:SSNNumberPatient")}
 
IF msgType In Lookup("All

5
0 750
Question Rodrigo Mori · Sep 17, 2020

I am trying to create a Procedure in Caché, but this message is showing:

<UNDEFINED>frmit+118^%qaqpsq *mt("v",1)

This is the procedure:

CREATE PROCEDURE testebi.sp_cargainicial()
BEGIN
    INSERT INTO testebi.Fato_Atendimentos (
    PK_OsProcedimento )
    SELECT ID
     from dado.TblOsProcedimento    ;    

    UPDATE testebi.Fato_Atendimentos as A SET PrimeiraOS = 1
    FROM 
    (select min(convert(int,data)) data, paciente 
    from dado.arqordemservico
    group by paciente) as b
    WHERE a.fk_paciente = b.paciente and  a.fk_Data  = b.data;
end

It works if I try to create the procedure with onl

2
0 360
Question Keith Davis · May 31, 2019

Forgive my lack of understanding, but I am working on a vendor created Cache database and the indexes specified in the classes for ODBC connections are not working. A few of them are created, but of the 50+ classes we have, only a handful of them are created when the class is compiled, yet no errors occur.

Example 1:

Example 2:

The code is creating the Index, and again, not compile errors, but most of the indices are not built.

21
0 1465
Question Geoffroy Hachez · Jan 25, 2018

Dear,

I am beginner with this system.

I would like to do a migration of Cache.

I have at this time a windows XP with Cache 2007.1.5.802.0.7279.

I already install on a windows 10 the version of cache 2017.1.1 Build 111

The question is how do i have to transfer DB from the old pc to the new one?

Thank you very much for your help.

5
0 782
Question VICTOR GALVAO · Sep 15, 2020

Hi guys!!

In the system that I work, I came across an iterator pattern that uses the %Resultset library without performing the close after executing the query. Does anyone know how to say what are the impacts of not performing such a procedure?

If you have any model of iterator pattern made in caché to recommend as a good example, I will be grateful hehe  :D

5
0 404
Question Mathieu Van Sevenant · Aug 13, 2020

Hello everyone

We are facing what seems to be a network problem while transferring HL7 messages from Ensemble/Healthshare to a distant target through TCP/IP.

Here is the version of the system in any case it could be useful: Cache for Windows (x86-64) 2017.2.1 (Build 801U) Wed Dec 6 2017 09:07:51 EST [HealthShare Modules:Core:14.02.2415 + Linkage Engine:15.03.9901]

Then the configuration of the operation:

NB high numbers for Read- and Response-Timeouts come from "long" transfers occuring sometimes, e.g. HL7 messages with about 600 segments, successfully transferred if we let them thi


7
0 1053
Question Anna Golitsyna · Sep 11, 2020

I come from Visual Studio and now I use mostly Cache 2017 Studio. One debugging functionality I miss dearly is current local variables automatically appearing in the Watch Variables window together with their values. Yes, I can hover or type them myself but both actions take extra time which is especially noticeable when debugging unfamiliar code across many routines. Any Cache settings or plugins to that effect? If not then why not? And if nothing else is there in Cache, what are the alternatives or hacks in this respect?

Anna

12
0 449
Question Joao Palma · Aug 21, 2020

Hi everyone

Anyone knows how can we add a column to an existing linked table in Cache to reflect the external SQL table?

I've tried different queries. It does not fail but does not add the column either...

4
0 601
Question Yone Moreno · Sep 11, 2020

Hello

We were wondering if there is a more concise and simple way to convert information from a string to an object.

The string has each line separated by ; and each field divided by |

The string would look like:

fecha1|nombreProfesional1|centro1|secuencia1|hora1|bloque1|acto1|lugar1|duracion1|nombreOrigen1|modo1||codigoCentro1|codigoAgenda1|especialidad1|codigoCentroOrigen1|codigoAgendaOrigen|borrable|telefono1|telefono2||origen1|;fecha1|nombreProfesional1|centro1|secuencia1|hora1|bloque1|acto1|lugar1|duracion1|nombreOrigen1|modo1||codigoCentro1|codigoAgenda1|especialidad1|codigoCentroOri
2
0 486
Question MohanaPriya Vijayan · Sep 10, 2020

Hi Team,

I am getting this error while i entered one field and hit search button. The screen spinning for few minutes and prompt this error.Error Condition CSP application closed the connection before sending a complete response. The job is still running in the backend. Is there anything wrong with this SQLQuery, S Select="SELECT * FROM Sample.Class"
S:EntryDate'="" Where=Where_" EntryDate = '"_EntryDate_"' AND"
S:Location'="" Where=Where_" Location ='"_Location_"' AND"
S:Brand'="" Where=Where_" Brand ='"_Brand_"' AND"
S:Model'="" Where=Where_" Model Like '"_Model_"%' AND"
S:LineNo'="" Where=Where

1
0 1415
InterSystems Official Pete Greskoff · Aug 27, 2020

InterSystems has corrected a defect that can cause a build-up of orphaned processes consuming system resources. In extreme cases, this can cause a system to become unresponsive.

This defect affects the following versions:

  • Caché and Ensemble 2018.1.4
  • InterSystems IRIS and InterSystems IRIS for Health 2019.4, 2020.1, and 2020.2
  • HealthShare Health Connect (HSAP) 15.032 built on Ensemble 2018.1.4
  • HealthShare Health Connect 2020.1

No other InterSystems product versions are affected by this issue.  Specifically, earlier versions of Caché and Ensemble, Health Connect 2019.1 and 2019.1.1 and

1
0 799
Question Thomas Schroyen · Sep 9, 2020

Hello fellow comrades.

I have a little issue concerning the creation of an embedded PDF sent by hl7. When I Extract it, the pdf is not completed (Seen by opening it with notepad++) compared to the one I created with a Base 64 converter.

The one I got from the Base 64 converter contains 7XXX contains lines and mine after my program contains 5900. The 5900 lines are the same that 5900 firsts of the others so my converting code is ok. The problem must be in the recuperation of the data. I think it's too long and the GetFieldStreamRaw can't contain everything. Could you help, what are the upg

3
0 916
Question Marcio Coelho · Sep 9, 2020

I'm testing with an application I'm writing in python. But I noticed that the pythonbind3 library will only work on the same machine where the cache is running. Is there really such a dependency?

I'm trying to run the examples that are in the / dev / python / samples3 folder, but they only work if I set "LD_LIBRARY_PATH" with the path to the cache installation folder.

But... I have this error when LD_LIBRARY_PATH is empty:

[root@cache2018 samples3]# python CPTest2.py -user _SYSTEM -password xxxxxx Traceback (most recent call last): File "CPTest2.py", line 3, in <module> import intersys.pythonb

1
0 454
Question David King · Jul 13, 2018

Is Cache the preferred database source for extracting data elements for use in Health Share Patient Index or is there a significant benefit in sourcing data from a warehouse, data mart, or MV? I realize that could be a loaded question with 100 other questions that may follow, however, if there is a known advantage to extracting data from a particular data storage type, the answer may highlight that point. 

Our team is in the inception and elaboration phase of using the Health Share Patient Index solution. Our road map has checkpoints to integrate data storage within a Cache DB as well as into

1
0 648
Question Robert Bee · Feb 13, 2019

Edit:

May have found the issue but not the solution.

"SELECT * FROM wmhISTORYdETAIL" runs as a passthrough without asking for the DNS.

but

'SELECT Count([wmhISTORYdETAIL].[HistHMNumber] AS CountOfHistHMNumber FROM [wmhISTORYdETAIL] WHERE ((([wmhISTORYdETAIL].[HistMovType])='Receipt') AND (([wmhISTORYdETAIL].[HistMovDate])>=Date()-1) AND (([wmhISTORYdETAIL].[HistMovDate])<Date()));'

asks for the DNS but both are linked to a table that has the password saved.

Any Ideas please?

Rob

Hi

I have created an MS Access database with a passthrough query to our Intersystems Cache WMS system. If I

1
0 439
Question Marcus West · Aug 28, 2020

Dear community

I'm using HealthShare on Cache 2017.2.  I'm trying to find out how I can get a list of all the custom classes, routines and globals in %SYS namespace (if it's even possible).

We're about to perform an upgrade, and in the docs it mentions needing to check for anything custom in %SYS to avoid important stuff being overwritten.  Some of our solutions have been developed by an external consultancy and we want to make sure that none of their code or data will be affected by the upgrade.

In TSQL there is an "is_ms_shipped" column, and I'm wondering if Cache has anything which does

2
0 434
Question Alexey Maslov · Sep 2, 2020

It's well-known among Studio users that besides few predefined code fragments (for ObjectScript, Basic, MV Basic) it's possible to add user-defined code fragments. I found it rather convenient to use them as patterns that help to follow some conventions (internal standards) of writing, say, methods descriptions.

But I didn't find a way how to share these patterns, except dumb copy-pasting. Did somebody succeed with this task? Any help would be appreciated.

10
0 408
Discussion Dmitry Maslennikov · Sep 4, 2020

The use of Source Code Control systems in development is important. And there are a few systems known in the world, like GIT, SVN (Subversion), Perforce, Mercurial. Where the most popular nowadays is the git. Using it is very useful in many cases, but mostly it depends on the code as text, which can be compared between commits, branches, or versions of releases and so on. 

And InterSystems ObjectScript is not an exception, for many years it was possible to use SourceControl class in Studio, which helps to work with any Source Code Control System, and some companies already used it for many ye

0
0 375
Question Anna Golitsyna · Sep 1, 2020

Hi,

I exported selected globals from a Cache 2017 database into a single 4 Gb gof file. Now I tried to import from this file via Management Portal on a different machine . Only about half of the globals was imported and my attempts to select additional globals led to nothing, no new globals have been imported. Well, obviously I am mildly curious what's going on and how can I see the corresponding error which did not appear in the Import window but I can also shrug it off and consider what should I do next.

I am now considering exporting and importing globals programmatically in a loop, say,

23
0 1354
Question alex chang · Sep 3, 2020

I  have java  language experence. If I need parse a binary tcp packet . like following format

encoded string and send it to peer by tcp

1byte msg type + 4 byte(unsigned int) + raw byte(body)

To parse this package , Some Java code like this:

byte[] data = new byte[1024];

Bytebuf buf  = new ByteBuf(data)

byte type = buf.read()

int len = buf.ReadInt()

byte[] bodyBuff = new byte[len]

buf.Read(bodyBuff)

String str = new String(strBody)

So, does Objectscript have similar functionality to achieve similar results?

Tks.

1
0 419
Question Armin Gayl · Aug 7, 2018

Hello,

I would like to schedule the Database Compact and Freespace methods as legacy tasks.

Has anyone implemented this yet?
Is this even possible? 

The request for this is due to the fact that we have 3 interfaces in a namespace whose messages are deleted after 7 days. All other messages in this namespace should be kept for one year.
This leads to a certain fragmentation. Furthermore, the messages to be deleted are relatively large (MDM^T02 > 32MB), which in turn leads to a fast growth of the database size. 

How would you solve this problem?

With kind regards

Armin Gayl

1
0 641
Article Daniel Tamajon · Sep 1, 2020 5m read

Error management on InterSystems languages has been evolving along time. Next, we will show the different implementations and why you should use the TRY/THROW/CATCH mechanism.

You can read official error recommendations here.

InterSystems will not mark as obsoletes the non-recommended error management methods to allow giving support to legacy applications. We recommend using tools like objectscriptQuality to detect that legacy unrecommended usage along with many other possible issues and bugs.

$ZERROR

$ZERROR is the older error management mechanism, supporting different implementations fro

2
3 993
Question Ben Anderson · Aug 31, 2020

I'm trying to parse some XML but I ran into an issue where my data has a / in it (see below).

<pArray index="0">/shared/BENANDERSON</pArray>

When I ran it, I got this error.

ERROR #6232: Datatype validation failed for tag, pArray (ending at line 1 character 183), with value: /shared/BENANDERSON

Here is the code where I found the issue occurring. The XML reader must see the / as the invalid character. The value of P0 eventually ends up as null which causes another issue downstream. Is there a way for me to proceed with the / in the data? Thank you!

do %request.Content.Rewind()
set content 

5
0 932