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

What about folders?

The suggestion is that unit test classes will live separately from source classes, e.g. in /tests directory.

Here is the example of a repository with unit tests that are named and placed according to the proposal.

What do you think?

6
0 457
Question Hannes Postl OEID · Sep 25, 2020

Hello 

Is there an example how to configure the webgateway on linux with kerberos in the dokumentation I found something but not realy in detail so far I understand I need two priniples one service prinple account with for example iris/at-mie-centos_iris.balmie.local@BALMIE.LOCAL-> there is my first problem with the dokumendation the @BALMIE.LOCAL is not dokumented but if you create a keytabfile with ktpass you can't create this without domain. For the secound user principle I am totaly lost how it should work must be both account in the keytabfile?

2
0 386
Question James Woo · Sep 28, 2020

A BusinessService XYZ is created by extending Ens.BusinessService and the ADAPTER is set to EnsLib.File.InputAdaptor. Files are copied to the FilePath specified by the adapter. But if XYZ is invoked directly via CreateBusinessService, the files MUST be deposited to the default temporary director rather than the file path specified in FilePath of the adapter. Is it possible to the use the file path in FilePath when using CreateBusinessService?

1
0 246
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 332
Announcement Anastasia Dyubaylo · Sep 7, 2020

Hi Community!

We're pleased to invite all the developers to the upcoming InterSystems Open Exchange Overview webinar on September 18 at 11:00 AM EDT. 

In this webinar you will learn about InterSystems Open Exchange – a gallery of solutions, tools and templates made with InterSystems IRIS, IRIS for Health and other InterSystems data platforms.

What awaits you? In the webinar you’ll know:

2
0 399
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>
        ...

I was wondering if the XSD (schema definition) of those files are available somewhere (eg : in Cache InterSystems

8
0 1472
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 1366
Question Sergey Mikhailenko · Sep 25, 2020

Hello developers!

Share the best practices: 1) saving frequently used code sections, 2) quickly finding it, and 3) quickly including it into the current program? There was a thought for 1,2 to use DC(this resource), but the search is not always convenient not only for me

The idea on the surface is to use the git repos wiki. Are there any other best practices?

There is a project github awesome. Maybe we should include the awesome-objectscript sections in it? And in the future for vscode to develop a plugin for awesome-objectscript ?

12
0 292
Question Kyle M · Sep 21, 2020

Hi all

Another newbie question.

A small percentage of our patients have an extra hospital number which was imported from the previous PAS but is no longer in use. We only need to send MRN and NHS number and would like to suppress CMRN. Could you please advise me how to do it in DTL?

 

PID|1|E05088888^^^RTPMRN^MRN^CD:14248745|00550972^^^RTPCMRN^CMRN^CD:4528185~E05088888^^^RTPMRN^MRN^CD:4528185~4449999999^^^NHSNBR^NHSNMBR|

5
0 533
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 688
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).

5
0 757
Question Henrique Dias · Sep 23, 2020

Hi everyone, 

I'm trying to build my project on a Linux machine using Docker.

In my development environment, I use Windows 10 Pro with Docker Desktop version 2.3.0.5. Everything works fine, and the docker-compose build runs flawlessly.

But, when I tried to run the same project in a Linux. 
Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1025-azure x86_64), docker --version
Docker version 19.03.6, build 369ce74a3c

I'm getting the following error: 
ERROR: Service 'iris' failed to build: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"/irissession.

2
0 626
Announcement Anastasia Dyubaylo · Sep 17, 2020

Hi Community!

We are pleased to invite all the developers to the upcoming InterSystems Full Stack Contest Kick-off Webinar! The topic of this webinar is dedicated to the Full Stack Contest.

On this webinar, we’ll demo the IRIS Full Stack template and answer the questions on how to develop, build and deploy full stack applications in InterSystems IRIS.

Date & Time: Monday, September 21 — 11:00 AM EDT

Speakers:  
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager
🗣 @Raj Singh, InterSystems Product Manager - Developer Experience

2
0 398
Article Patrick Dunn · Sep 22, 2020 2m read

In the WRC, we often see customers who have encountered a problem viewing their SOAP Catalog pages in a browser. This article will explain why the error is being encountered, as well as suggest a fix. This explanation is focused on the symptoms seen in InterSystems IRIS, but similar behavior can be seen in more recent versions of Caché.

The Problem:

You are trying to create new SOAP Web Services in InterSystems IRIS.

0
1 920
Announcement Ben Spead · Sep 18, 2020

Earlier this year, we launched a beta program for the new CCR Angular UI.  As almost all of the known issues and gaps have been addressed, we are getting ready to launch the new angular UI for all users. 

Anyone using CCR is strongly encouraged to enable the beta flag on their account and confirm that the new pages work as required in order to prevent surprises at cut-over time.  At this point, cut-over will tentatively be late-November.

Please check it out and provide feedback (good or bad) on your experiences!

0
1 347
Question ED Coder · Sep 17, 2020

My segment is not getting set with the new value though It goes into the if statement. Am I doing something wrong?

ClassMethod Clone(pRequest As EnsLib.HL7.Message) As EnsLib.HL7.Message [ Final ]

s cREQ = pRequest.%ConstructClone()

s DG1 = cREQ.FindSegment("DG1",.ind)

While (ind2 '="")

{
diag = DG1.GetValueAt(4.1)

if diag = "0"
{
tmp = "No code"
rc=DG1.SetValueAt(tmp,4.1)
}

}

DG1 = cREQ.FindSegment("DG1",.ind2)

request = cREQ
Quit request

}

6
0 480
Question Kyle M · Sep 17, 2020

Hi

Newbie question. Could you please help me implement the following using DTL only - no programming. 

We have a problem where our system sends longer addresses e.g. block of flats in an unexpected format

e.g. address below:

 

Flat 22 Kings Court

49 Kings Road

Gateshead

NE10  8AW

 

Would be sent as

Flat 22^Kings Court^Gateshead^""^NE10  8AW^GBR^HOME^49 Kings Road^

 

With Road being sent right at the end after the post code and country etc. Shorter addresses are OK.

3
0 468
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.

2
0 363
Question ED Coder · Sep 17, 2020

From my recent post, I uploaded a set of values into a global, and I am trying to compare the first field, and then

$GLOBAL("123", "bone issue")=""

$GLOBAL("234","joint issue")=""

Now, I want to compare and see if the DG1:4.1 segment has the code $GLOBAL and then replace the DG14.1 segment with the code and the description

so For Eg: if DG1:4.1 exists in $GLOBAL("123") then replace the segment with the code and description

Can someone guide me on how I can achieve this?

4
0 279
Question ED Coder · Sep 17, 2020

Is there a way to bulk load csv into a global? I have a csv with 283 lines in the following pattern

123, first text

234, second text

456, third text

I want to load them into a global ^loader(code, text). Is there a way to upload them using code?

4
0 417
Question David Foard · Sep 16, 2020

I have a class that has 2 different cursors for different queries, audit1 and audit2. which are in 2 different methods. The first query runs fine, but the second one generates a 102 error.

 

Is there an issue with having more than 1 cursor in a class?

Has anyone seen this before?

2
0 284
Announcement Evgeny Shvarov · Apr 25, 2017

Hi, Community!

You know that your productions need to be monitored. But what should you be monitoring, and how?

Let me invite you to join Michael Brady, Technical Trainer with InterSystems Learning Services, to learn about message volume monitoring tools, what really happens when you purge a message and how you can monitor your disk space from afar.

This webinar is valuable for anyone managing Ensemble or HealthShare productions.

It will take place on Thursday, May 4, 2017 10:30 am Eastern Daylight Time (New York, GMT-04:00) 

1
0 486