Hi, we are a veterinary lab and we use both the LAB and FIN systems of Antrim. Now we are looking to expose the data in a SQL/Object compatible way so we were wondering if same / similar things had been done by other community members already? If so, could you please share your approach / experience / gotchas with us and we are all ears. I can be reached at yang.jiao@antechmail.com . Thank you!
Hi Developers!
I'm pleased to announce the September release notes of the InterSystems Open Exchange!
Here is what the new release introduces:
- Better performance;
- Better UX;
- Discuss and Issues tabs on the application page.
See the details below.
Published 2018-05-11 Last edit -
Hi All
I this article I detail some strategic issues that a new development UI will need to address - these are the ones that I can think of now - others may come to light during this journey.
See the webinar by Eduard Lebedyuk here from the last Global Summit describing modern web development and Caché
And, as always, if I have missed something please comment....
Hi All,
I am encountered <INVALID OREF> error in one of the components in the namespace as we are processing and generating huge files and sending them to downstream systems.One possible way we tried was to allocate more memory for the namespace in ensemble, but this kind of intermittent error still occurred only if processing the huge files.Also we tried to resend the failed message and the error would be gone.Another possible solution is to kill unused local variables to release memory space.
I'm trying to convert a CSV inbound to an HL7 MFN^M16 outbound. I know I'm using book information as the CSV but I don't think that matters. Please let me know if that's incorrect.
My service is reading the file in just fine and when I don't have a DLT transformer the raw message passes through to outbound file folder just fine. However, when I include a basic DLT that simply copies a couple of fields over I get the "Ens.StreamContainer" error. Everything also seems to be good in the Record Mapper.
I've been working through the documentation but I don't see anything that helps with this
I used the Activate wizard to create a package for Excel (Activate.Excel). There is a class in there that seems to be what we need to open a file:
Activate.Excel.Workbooks.
There is a method that has an Open() command. I tried using it but getting an invalid pointer error.
The parameters are as follows:
Method Open(Filename As %String, UpdateLinks As %Activate.Variant, ReadOnly As %Activate.Variant, Format As %Activate.Variant, Password As %Activate.Variant, WriteResPassword As %Activate.Variant, IgnoreReadOnlyRecmmndd As %Activate.Variant, Origin As %Activate.Variant, Delimiter As %Activate
Hi,
I got the <INVALID OREF> error in the component and the error screenshot as follows:
When I try to debug in the code, I go to the class and view other code in eclipse and find out the error method. How should I determine which line threw the error according to the error? There is the line number"+8" in zProcessRequest method. Is that the line counted from the method name or below? Looking forward to your reply. Thanks.
Hi All!!
I am currently recruiting a very exciting position to work for a leading Healthcare software provider who are on the lookout for an experienced InterSytems Cache/Ensemble Developer for a 4 month contract!
This will be working on a leading Childrens Health Product and developing applications for the NHS, particularly working on a migration.
We are looking for:
- Proven Intersystems Cache/Ensemble development experience;
- Proven data migration experience
Get in touch for more info on Rose.Blackburn@transition-partners.co.uk
Thank you :-)
Every developer has made the mistake of accidentally leaving temporary debug code in place when they meant to remove it after debugging is complete. The great thing about writing in ObjectScript is that there is a way to make temporary code be truly temporary and automatically self-destruct! This can also be done in such a way that the code has no change of making it into your source control stream, which can be helpful as well.
The secret to this lies in making use of the "Intermediate code" (.INT) which is generated when you compile classes (.CLS), routine code (.MAC) or CSP pages (.CSP).
I'm trying to read in a CSV file and map to MFN^M16. The first problem I'm having is getting the Service to read the file without causing errors (see below). I'm using EnsLib.File.PassthroughServicebecause (as I understand it) it allows for anything.
ERROR <Ens>ErrBPTerminated: Terminating BP CSVtoHL7M16 # due to error:
ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1^EnsLib.MsgRouter.VDocRoutingEngine.1 *DocType,Ens.StreamContainer -- logged as '-' number - @'' >
ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1^EnsLib.MsgRouter.VDocRoutingEngine.1
At LifeLabs, we are focused on our vision of building a healthier Canada! We are the largest community diagnostics laboratory in Canada with over 350 collection centers, 21 laboratories and service over 19 million patients each year. As the Software developer, you will be concerned with all facets of the software development process. You will be responsible for the design of application modules, maintain and deploy software applications to meet user and business needs.
This is full time permanent positions, located at 3500 Gilmore Way, Burnaby BC reporting into the Manager, Software
Hi All, I'm in the process of trying to rollout the git version control system with our current code base within Atelier. We use Ensemble to develop interfaces but are looking to move to IRIS in the near future. Our code is structured similar to below:
Site
System1
Routers
Processes
Transformations
Data
Services
Operations
…
System2
Routers
Processes
Transformations
Services
Operations
Data
…
Productions
Routers
Operations
My initial thoughts are that we would have three repositories. One for DEV, TEST and PROD.
Is there a way to estimate compaction / truncation sizes? For a DB when trying to reclaim disk space.
Basically, is there some utility or CLI command that would allow us to estimate if it is worth the effort of compacting a large database or not.
Thanks
Hello again and welcome to the next tutorial on this series: Part 5 - Errors. Here we are going to learn how Frontier handles unexpected errors and how we can force them.
- Core concepts
- Getting started
- Creating a simple request
- Query parameters
- Aliasing query parameters
- Changing output format
- Rest query parameters
- Inferring object instances
- Using literal notation
- Seamlessly mixing instances with literals
- Returning streams
- Handling payloads
- How it works
- Making it useful
- Unmarshalling payloads into instances
- Using the unmarshaller to EDIT an existing object
- Using the SQL API
- Creating
I know &SQL returns only one result but is
&SQL(SELECT ID FROM Cinema.Film ORDER BY ID DESC)
and
&SQL(SELECT TOP 1 ID FROM Cinema.Film ORDER BY ID DESC)
the same in terms of processing required?
Is there a way to create an alert through the Management portal to indicate the "iris" service has stopped?
One of my colleagues at InterSystems encountered an unexpected issue when running InterSystems IRIS on a Macintosh in a container using Docker for Mac. I’d like to share what we found, so you might avoid running into similar issues.
The Problem
The task at hand was running a Java application with XEP to do a large data load into IRIS. When running the data load, the write daemon hung soon after starting the job, with messages like these in messages.log:
05/21/19-14:57:50:625 (757) 2 Process terminated abnormally (pid 973, jobid 0x00050016) (was a global updater)
05/21/19-14:58:52:990 (743) 2
Here is a digest of the Developer Community videos on InterSystems Developers YouTube Channel in September 2019:
| Top 10 Videos by Views | |||
| № | Video | Views | Watch Time (min) |
| 1 | Active Directory Integration with LDAP | 1 404 | 4 964 |
| 2 | Building Modern Web Applications | 647 | 2 987 |
| 3 | SMART on FHIR: The Basics | 542 | 5 016 |
| 4 | Developing with FHIR - REST APIs | 248 | 1 631 |
| 5 |
GitHub Repository Template To Develop and Debug ObjectScript in InterSystems IRIS |
148 | 516 |
| 6 |
JSON and XML persistent data serialization in InterSystems IRIS |
131 | 188 |
| 7 | 128 | 569 | |
| 8 |
Create Your First InterSystems ObjectScript Code with IRIS Community, Github, Docker and VSCode |
121 | 346 |
| 9 | Sizing and Capacity Planning | 120 | 499 |
| 10 | A SOLID Design in InterSystems ObjectScript | 119 | 648 |
%ToJson doesn't work in 2015 release of cache, How to transform a object to json in this release ?
When compiling in 2018.1.2 using $system.OBJ.CompileAllNamespaces() I am seeing the following errors on some of our Record Maps.
ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'RQIRecordOut.Record:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordIn.Record:%ParentBatch', is not defined, 'User.RQIRecordIn:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'User.RQIRecordOut:Records'
ERROR #5496: Inverse property, 'osuwmc.EpicADTMergeCSV.RecordMap.Record:%ParentBatch', is not defined,
I have a scenario where I'm using a EnsLib.File.InboundAdapter to collect files from an external file system. The files require to meet a certain criteria before they are moved to another remote file system. If they don't, I would like them to stay where they are so that they can be collected again when the criteria has changed. I have set the adaptor property DeleteFromServer to false - which is fine - the file stays put in its original location, but the file is never collected again as I receive a "Skipping previously processed file " info message.
Hi Developers!
This is the digest of new solutions and applications submitted to InterSystems OpenExchange in September 2019!
New applications in September 2019
web HERALD is a Highly Extensible Rapid Application Development framework, the ultimate server-based platform for Caché Developers created by our inhouse Caché Developers.
objectscript-docker-template by Evgeny Shvarov
A simple template to start coding in InterSystems ObjectScript with preset dockerfile and settings for VSCode to start compiling and debugging.
angular-material-iris-starter by Sergey Shutov
A template project for Angular frontend with InterSystems IRIS. The main goal of this repository is to provide an up to date example of Angular application following all recent best practices
cache-iris-app-tools by Sergey Mikhailenko
Solution for technical support and DBMS administrator. View globals arrays, execute queries (including JDBC/ODBC), sending results to email as XLS files. Viewer class instances with СRUD editing. A few simple graphs on the protocols of the system.
IRIS OData Client by Sean Connelly
A simple IRIS client for connecting and consuming RESTful OData API services.
ObjectScript-Foreach by David Crawford
The beginnings of a foreach function equivalent in ObjectScript.
Kano MDM is an efficient Master Data Management software product with a complete set of features for successful implementation of interoperability solution.
Output-Capture by David Crawford
Captures the output of common objectscript terminal verbs, such as zwrite.
dasha-iris-adapter by Vladislav Chernyshov
Dasha.ai is a platform for designing human-like voice interactions to automate business processes.
This repository includes the first version of Dasha.ai IRIS Interoperability Adapter and demo Interoperability Production to show how to connect IRIS and Dasha.ai platform.
I am using Ensemble FTP adapter to monitor file directory for files that require SFTP transfer to remote server using public/private keys for remote server authentication.
This works great in my engineering development space where file protections are loose.
I want to apply "principle of least privilege" regarding the public and private key files specified in FTP Outbound adapter Business Operation.
Can anyone recommend (Linux) permissions that allow Ensemble to execute the SFTP operation but minimizing access to the key files?
I've tried variouse combinations without success.
Any
Hello,
lets have two abstract %Persistent classes A,B with NoExtent keyword (storing data in separate globals for each subclass).
Class A Extends %Persistent [Abstract, NoExtent]
{
}
Class B Extends %Persistent [Abstract, NoExtent]
{
Property Aref As A;
}
Let B class reference the A class. Since the A class has no extent the reference wont work in subclasses. It wont be even usable in SQL. Is it possible to solve this problem? Whats the recommended way to deal with references/relationships using NoExtent?
Looking for pointers on how to create a file operation class that would use the HL7 Message Type in the file name
For example if the Message type was ADT^A31 the file name would be ZLOG_FILE_ADTA31_20190927.dat
Thank you for looking.
Hi Community!
We are pleased to invite you to the upcoming webinar in Spanish "Desarrollar y gestionar APIs con InterSystems IRIS Data Platform" / "Developing and managing APIs with InterSystems IRIS Data Platform" on October 15 at 16:00 CET!
Are you a backend developer? Or a Systems integration specialist? If so… this webinar is for you!
Hi Developers!
This a release post what we did and what are the new features on the Developers community.
- Editor enhancements: tables for markdown, source-WYSIWYG switcher, emoji
; - The email system is improved - better images, analytics, and tags;
- Bookmarks for comments and answers;
- A lot of minor enhancements.
Here is an ObjectScript snippet which lets to create database, namespace and a web application for InterSystems IRIS:
set currentNS = $namespace
zn "%SYS"
write "Create DB ...",!
set dbName="testDB"
set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
set status=##Class(Config.Databases).Create(dbName,.dbProperties)
write:'status $system.Status.DisplayError(status)
write "DB """_dbName_""" was created!",!!
write "Create namespace ...",!
set nsName="testNS"
//DB for globals
set nsProperties("Globals") = dbName
//DB for routines
set nsProperties("Routines") = dbName
set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
write:'status $system.Status.DisplayError(status)
write "Namespace """_nsName_""" was created!",!!
write "Create web application ...",!
set webName = "/csp/testApplication"
set webProperties("NameSpace") = nsName
set webProperties("Enabled") = $$$YES
set webProperties("IsNameSpaceDefault") = $$$YES
set webProperties("CSPZENEnabled") = $$$YES
set webProperties("DeepSeeEnabled") = $$$YES
set webProperties("AutheEnabled") = $$$AutheCache
set status = ##class(Security.Applications).Create(webName, .webProperties)
write:'status $system.Status.DisplayError(status)
write "Web application """webName""" was created!",!
zn currentNS
HI,
I am a newbie so excuse my basic questions.
I have installed Caché on Mac Os High Sierra 10.13.6 and have started the ObjectScript tutorial but I cannot open Terminal in Caché.
The instructions provided on the tutorial don't appear to be for Mac OS as there is no cube icon:
n order to begin practicing using ObjectScript, you need to start the Terminal. Click the Caché cube icon
in the task bar and select Terminal from the menu. This brings up the terminal window, and you can see from the prompt that we are in the USER namespace.


