Article Jenny Ames · Nov 14, 2016 2m read

Business services are powerful components that pull data in from external sources. In most cases, pre-built components do the job, but sometimes you need to code custom business services. There are a few best practices to keep in mind when doing this:

 
  1. Lean and Mean - Business services should be coded to have minimal processing. This is due to the fact that if any errors occur within the business service, no message will be sent, and thus no trace will be created. This makes it very difficult to troubleshoot.
4
0 1554
Announcement Mark Lo · Jun 9, 2020

The Documentation team in InterSystems Learning Services is happy to announce the new InterSystems IRIS Server Migration Guide!

Have you ever wanted to copy, move, or clone an instance of InterSystems IRIS to a new server? Maybe the operating system on the old server is no longer supported, or maybe you want to add a new member to an existing mirror. Migrating your application databases is easy, but what about your tasks, users, roles, resources, and other security settings? What do you need to migrate, and how best to do it?

3
3 1252
Question sween · Mar 9, 2022

We have an implementation with a bunch of users, and a bunch of namespaces, both of which are added and removed frequently, and the users have restrictive perms in the namespaces (lets just say, not %All)... and the users are utilizing the VSCODE extension for development.

Per the instructions and the user experience, we need to run:

GRANT EXECUTE ON %Library.RoutineMgr_StudioOpenDialog TO ${user}

For ... each Namespace, and additionally %SYS for Web Apps.

Is there a way to globally just make this happen "once" somewhere or is it absolutely necessary find a spot to

4
0 446
Announcement Angelo Bruno Braga · Mar 7, 2022

Hi Developers,

We are carefully preparing our first 🏆 InterSystems Technical Article Contests in Portuguese 🏆.

As the contest will be officially launched next week, take advantage of this week to choose your topic or, if you are new to InterSystems technology, take the opportunity to learn a little more about the technology in this period to be able to participate!

4
0 301
Question Leon Wilson · Mar 4, 2022

Good Afternoon My InterSystems IRIS Peers,

I have the following issue that I need help with, I tried all possibilities that I know of, therefore I am reaching out to the community for some insight.

I have a SFTP service that pulling 2.5.1 DFT HL7 messages from our SFTP file server. The issue is that IRIS is transforming patients names and addresses that contain special chars UTF-8 to ANSI.

Examples:

è = è
é = é
í = í-  .......etc

I would like to know if there is a possibility to transform the RAW HL7 before IRIS do its magic or

7
0 1816
Question Kevin McGinn · Mar 9, 2022

I have a python script that is pulling the cache instance key expiration date ( KeyExpirationDate() ) which comes back as an integer. With the queryscript function - $ZDATE(73284) I can derive the actual expiration date. Is there a manner or method of creating an equivalent Python script that will convert the integer return by the KeyExpirationDate()  method into a date string?

1
1 339
Question GUSTAVO MARQUES · Mar 3, 2022

Does any one could tell me how can I access the target properties from inside SQL in DTL Subtransform? For example, if I use the following statement:

SELECT ID INTO :target.SetIDPID  FROM firstlook.person WHERE  FirstName = 'Paul' - as said in documentation :

  SELECT Name INTO :target.Name FROM MainFrame.EmployeeRecord WHERE SSN = :source.SSN AND City = :source.Home.City

I get an Error: ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>

But if I pass the value for a variable "SetIDPID" I can use it in a set action without any problem: 

SELECT ID INTO :SetIDPID  FROM firstlook.

1
0 376
Article David Loveluck · Aug 27, 2019 28m read

Since Caché 2017 the SQL engine has included new set of statistics. These record the number of times a query is executed and the time it takes to run.

This is a gold mine for anyone monitoring and trying to optimize the performance of an application that includes many SQL statements but it isn’t as easy to access the data as some people want.

This article and the associated sample code explains how to use this information and how to routinely extract a summary of daily statistics and keep a historic record of the SQL performance of your application.

What is recorded?

7
6 1726
Article Eduard Lebedyuk · Mar 5, 2022 6m read

Function as a service (FaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Building an application following this model is one way of achieving a "serverless" architecture, and is typically used when building microservices applications.  

Wikipedia

FaaS is an extremely popular approach to running workloads in the cloud, allowing developers to focus on writing code.

This article will show you how to deploy InterSystems IRIS methods in a FaaS way.

4
2 479
Question Kevin Kindschuh · Mar 4, 2022

The Complex Recordmapper specify a map for headers, body, and trailers, but it expects all three to have fixed Leading Data to identify the record type. But what if the Header and Trailer have Leading Data, but not the body records? I can't seem to find a way to do this.  For example:

HEADER|194|2012|Fall|20
12345|Adams|John|Michael|2|john.michael.adams@example.com|617-999-9999
12347|Jones|Robert|Alfred|1|bobby.jones@example.com|
TRAILER|8|100

Ideas?

2
0 410
Announcement Anastasia Dyubaylo · Feb 28, 2022

Welcome to the February'22 Community Release!

We're pleased to present our brand new Community Event Calendar for InterSystems developers: 

🎯 https://community.intersystems.com/events 

In this calendar, you will see the history of DC events. Find out about events that are happening now or soon, check out past events, and watch recordings of Community's webinars and meetups.

Let's take a closer look at how to use it.

2
0 364
Announcement Anastasia Dyubaylo · Mar 7, 2022
0
0 218
Article Yuri Marx · Mar 7, 2022 4m read

This is the third part of the series of articles on migrating from the main databases on the market to InterSystems IRIS. In this part, the procedures for migrating from DB2 will be detailed.As described in previous articles, there are currently a few options to do the migration. However, the two most popular options include the usage of DBeaver (https://openexchange.intersystems.com/package/DBeaver) or SQLGateway. The first one will be demonstrated in this article, and the second one is presented in an excellent article by Robert Cemper, DB Migration using SQLgateway (https://community.

0
1 676
Discussion Eduard Lebedyuk · Mar 4, 2022

New month, new code golf!

You will receive a string with a label code with numbers and letters. Our challenge is to check if this code begins with 1, 2, or 3 and ends with A, B, C, S, or R. It should return true(1) if so or return false(0) otherwise. As usual shortest solution wins.

##Input "198739A79D9R"

##Output 1

##Note

Rules

  1. The signature of the contest entry MUST be:
Class codeGolf.
4
1 441
Question Kevin McGinn · Mar 4, 2022

I am using the 

import intersys.pythonbind3 as pyb

conn     = pyb.connection()
conn.connect_now(...)
    
db      = pyb.database(conn)
qry        = pyb.query(db)
obj        = pyb.object(db)

for connection to the cache instance

However when I run this class method, The error message  indicates the method does not exist:

print(db.run_class_method("SYS.Database","GetStatus",[]))

intersys.pythonbind3.cache_exception: file=intersys/pythonbind3.c line=3034 err=-1000 message=<METHOD DOES NOT EXIST> 148 runMtdLow+22^%SYS.BINDSRV GetStatus,SYS.Database

I can not find the class reference docs for

3
0 297
Question Kevin McGinn · Mar 1, 2022

I am writing a Python tool to query our cache instances for various information. I have set up the connection without issue:

import intersys.pythonbind3 as pyb  

conn     = pyb.connection()
conn.connect_now(.....)
    
db      = pyb.database(conn)
qry     = pyb.query(db)
obj     = pyb.object(db)

I wanted to make the call:

execRes = qry.prepare_class("SYS.Database",'FreeSpace')

But fetching fails because of data mismatches ( as I understand from other posts) and my testing bears out this type of failure.

Instead I opted to attempt a query:

execRes =

6
0 304
Question Arockia Raj B · Jun 9, 2017

What is the purpose to use Emergency Access Mode in Cache? How to establishes a Connection without performing authentication?

6
0 1919
Announcement Olga Zavrazhnova · Mar 4, 2022

Hi Developers, 
We are excited to announce that InterSystems will be a Platinum sponsor of Hacking Health Camp - big professional HealthTech conference and hackathon, which will take place in-person in Strasbourg, France on March 25-27, 2022. 

On March 8, 2022 @Guillaume Rongier will carry out a webinar "How FHIR can help you develop your health applications" (Webinar language: French). Register here.

At the hackathon, InterSystems will have a challenge for hackers on using InterSystems FHIR cloud services.

Learn more on official website and join us in-person in France!

SUPINFO Hacking Health Camp 

0
0 417
Question Jonathan Harris · Mar 3, 2022

I want to have a script that can run from the usual unix, linux, or aix command line. It has to be able to get into an irissession and use set statements to get data using sql. It seems like I'm in a catch-22. When I use the irissession SERVER command at the command line, I can't run a script. When I put the irissession SERVER command in a script, it won't run anything in the script after that.

My goal for this script is to get this information and put it into a file which I can then parse.

10
0 2782
Announcement Anastasia Dyubaylo · Feb 28, 2022

Hi Community,

Let's meet together at the online meetup with the winners of the InterSystems Python contest!

You'll have an opportunity to have a discussion with InterSystems Product Managers on the new IRIS 2021.2 Embedded Python functionality, Q&A on Python, etc. Our winners' demo included!  

Date & Time: Thursday, March 3 – 10:00 EDT

1
0 360
Article Kurro Lopez · Mar 4, 2022 4m read

Time travel is like visiting Paris. You can't just read the guide, you have to throw yourself into it. Eat the food, use the wrong verbs, get double the charges, and end up kissing complete strangers.

The Doctor

We are now going to travel through time, that is, we are going to see future and past dates and how to calculate them in different formats. The TARDIS doesn't wait, take the controls and hold on tight.

Travel in TARDIS

5
0 627
Question Laura Cavanaugh · Mar 3, 2022

i'm trying to extend both the MemberEnrollment and the MedicalClaim objects in HS.  The CareProvider is perfect for some of my extensions (Operating provider, referring provider, third-party insurer), but the documentation says https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…:

I need something that is just like a CareProvider, and I will be using the CarePRoviderType as a CodeTableDetail.  

Why is CareProvider excluded?  Does this mean I can't add property HS.Local.SDA3.MemberEnrollment.PHPProvider as HS.SDA3.CodeTableDetail.

2
0 390
Question ivo Ver Eecke · Aug 24, 2021

Hi,

I'm looking through some journal entries in the hope of finding the root source of an issue.
I was wondering if and how you can map a "ECP system id" to a server.

Any hints would be welcome

Best regards
Ivo

4
0 510