#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Discussion Evgeny Shvarov · Sep 21, 2020

Hi Developers!

Recently we discussed the naming convention on packages we deploy and even made some choices.

Here I want to have a conversation on the naming convention for unit tests.

Of course, we wish every good library has unit tests. Here is the documentation and some good articles(one, two, three) regarding it on the Developer Community.

Let's decide on the naming of UnitTests packages?

The suggestion is that unit test classes will all start with the UnitTest package name.

E.g. if your library's class name is:

johndoe.lib.class

The related unit test class will be:

UnitTest.johndoe.lib.class
6
0 425
Question Mark O'Reilly · Sep 15, 2020

Hi:

I have the following method in a buisness operation that works on localhost but not on our server . I think it's how the firewall is set up but i was wondering if there is a known way around this. It can't correlate XML as it returns a "The browser did not send any authentication information" error. I tried adding in username and password to http request to no avail. We could do a c# proxy on a server but i'm wondering if there is a known way to fix this error within intersystems. As a developer we don't have too much control over our Intersystems TIE server. 

1
0 312
Question Norman W. Freeman · Sep 23, 2020

When you export entities like classes, routines, globals in Cache Studio, you usually end up with XML files that looks like this : 

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
    <Class name="base.monitoredpage">
        <Abstract>1</Abstract>
        <Super>%CSP.Page</Super>
        <TimeCreated>63439,41357.461462</TimeCreated>
        <Parameter name="ENCODED">
            <Default>0</Default>
        </Parameter>
        ...
8
0 1402
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 1327
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 650
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")}

5
0 704
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

2
0 327
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 1403
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 766
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 374
Question Mathieu Van Sevenant · Aug 13, 2020

Hello everyone smiley

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 this "long" time.

7
0 1005
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 423
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 579
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
1
0 777
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.

3
0 884
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:

1
0 437
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. 

1
0 634
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

1
0 423
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.

2
0 415
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 382
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. 

0
0 355
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.

23
0 1287
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 395
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 621