Discussion Dan Pasco · Nov 24, 2020

InterSystems Queryable Statement Metadata

Dynamic SQL allows the user to dynamic create, populate and query tables, call procedures and functions, and so on - all without writing any ObjectScript. Of course, this capability is completely normal for xDBC clients. InterSystems Dynamic SQL has been available in Caché for several years and is available in all versions of InterSystems IRIS. What I am about to describe should work for all versions of InterSystems IRIS and for all versions of InterSystems CE that support SQL Table-Valued functions.

If people are interested then I'll learn how to post

6
0 527
Discussion Evgeny Shvarov · Nov 24, 2020

Hi Developers!

Want to raise security discussion today!

Let's discuss how InterSystems security for applications works. In general, the concept is clear: we have Resources (what to protect), Roles which combine a set of privileges and accesses to Resources and Users which can have this or that Role.

But there is also a concept of Application which also could have a Role.

So you either provide a Role for a User or for an Application.

What do you use in production? What is your strategy and why? Pros, cons?

3
0 276
Question Yuri Marx · Nov 24, 2020

Hi community!

Is it possible generate HTML documentation to my project ObjectScript classes (.cls)?

In Java we use Javadoc to do it. Javadoc get class comments and java metadata information and when I execute javadoc -d doc src\*, I get whole html documentation to my classes. Has IRIS something like javadoc? Is it documatic? If yes, how can I use it?

12
2 848
Question Fathima Zainab · Nov 21, 2020

Hello there, 

I am Zainab a Medical Practitioner for a leading hospital in India. 

But i am about to start my new clinic and gradually build it to a hospital as well. 

I already have a very strong patient Data Base but I am afraid that day by day as it is increasing i will need a better one to handle things. 

I have a considerable amount of knowledge in IT as well. that is when I came across this thing called IRIS. 

I also saw we can use it for free. 

I need more details please on this. 

I also see many versions of IRIS. Please clarify that for me as well please. 

Hope someone can help me please. 

Than

2
0 313
Question David.Satorres6134 · Nov 23, 2020

Hi,

I'm trying to access the categories configuration for the WorkMgr via COS, so I can be able to create new categories for our processes and this way try to overlock the limit of cores*2 workers. I've seen that last version of IRIS is supposed to have a menu on the portal (System Administration > Configuration > System Configuration > WQM Categories), but since we are in 2020.1 this doesn't exist. 

Does anyone have experience with WQM.API to manage the categories, or the usage of ^%SYS("WQM") to set it directly?

My goal is to be able to go beyond the limit of cores*2 that currently is in the

1
0 304
Question Neil Thaiss · Nov 23, 2020

Hi,

I need to develop a HL7 Q22/K22 query/response mechanism for a NHS Trust I am working for, but I do not know how to handle the message continuation.

Can any one give me any advise on this and/or point me in the direction of any documentation on the subject?

Thanks

Neil Thaiss

2
0 764
Article Oliver Wilms · Nov 22, 2020 2m read

Report about what happened during a test - check Message Bank to see what happened on the instances that received test messages from Feeder
 

I developed Feeder on an IRIS instance while working in development VPC and I configured a Message Bank in a different namespace on the same IRIS instance. I added Feeder.csp and submitted Feeder app to Full Stack contest. I currently refactor the Feeder and Message Bank apps for Interoperability contest and to deploy in another VPC.

Below I show a sample report from development VPC:

NAMESPACE>DO ##class(UnitTest.TestReport).Go(564)

UnitTest 564 began

0
0 261
Announcement Anastasia Dyubaylo · Nov 16, 2020

Hey Developers,

This week is a voting week for the InterSystems Interoperability Contest! So, it's time to give your vote to the best solutions built with InterSystems IRIS.

🔥 You decide: VOTING IS HERE 🔥

 

How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

6
0 335
Question Ahmad Bukhtiar · Nov 19, 2020

I have multiple files with different columns, first 9 values are fixed, so i want to ignore the first value, and next 8 values i want to combine into one value using ^ sign

Current Format

|||||||||||^^||||||^^|||||||||||||||||
|||||||||||^^||||^^|||||||||||||||||||||||
|||||||||||^^|||^^||||||||

Desired Format

^^^^^^|||^^||||||^^|||||||||||||||||
^^^^^^|||^^||||^^|||||||||||||||||||||||
^^^^^^|||^^|||^^||||||||

Reading each line from the file use below code.

#dim line as %String = tInput.ReadLine(, .status)

"here i was to put some string function to change format of the data in line variable"

set status

11
0 1034
Question Anna Golitsyna · Nov 11, 2020

Hi everybody,

Is there a way to run code on another machine? Of course, all authentication info is known. I know only about RemoteResultSet but that seems to be query specific.

Thanks in advance,
Anna
P.S. The ultimate goal, in case that matters, is to create identical globals on 2 different machines with one run.

22
1 713
Article Robert Cemper · Nov 21, 2020 3m read

Every now and then you may encounter a situation where for various reasons
ODBC is the only option to access a remote system. Which is sufficient as long as you need to examine or change tables.
But you can't directly execute some commands or change some Global.

Special thanks @Anna Golitsyna for inspiring me to publish this.
0
0 710
Question Brian Shingle · Nov 18, 2020

Greetings!

The application I work with has a need to update a user's google password using a service account and no user intervention other than clicking a link.  
I'm in the process of figuring out how to do that from an IRIS server.
I've set up an OAuth 2.0 client with one client configuration, attempting to follow the documentation in https://community.intersystems.com/post/intersystems-iris-open-authoriz… as much as possible.  
I also set up an SSL configuration to be used with Google.  
I have extremely limited confidence that any of this is set up

6
1 1542
Article Yuri Marx · Nov 20, 2020 2m read

According IDC, 80% of all data produced are NoSQL. See:

There are digital documents, scanned documents, online and offline texts, blob content into SQL, images, videos and audio. Imagine a Corporate Analytics initiative without all these data to analyze and support decisions?

In all the world, many projects are using techonologies to transform these NoSQL data into textual content, to allows analyze it. See:

  1. Scanned images and images with text extracted using OCR (Google Tesseract is a great option);
  2. Videos analyzed with Visual Computing supported by Machine Learning (OpenCV is a good option)
0
2 343
Article Zhong Li · Jan 27, 2020 7m read

Keywords: Python, JDBC, SQL, IRIS, Jupyter Notebook, Pandas, Numpy, and Machine Learning 

1. Purpose

This is another 5-minute simple note on invoking the IRIS JDBC driver via Python 3 within i.e. a Jupyter Notebook, to read from and write data  into an IRIS database instance via SQL syntax, for demo purpose. 

Last year I touched on a brief note on Python binding into a Cache database (section 4.7) instance.

1
2 3106
Announcement Neerav Verma · Feb 21, 2019

1. Define Persistent Class
Call utility class to fetch json via query.
Class 
Test.JSONFromSQL Extends (%Persistent, %Populate)
{
Property FirstName As %String(POPSPEC = "FirstName()");
Property LastName As %String(POPSPEC = "LastName()");
Property CountOfThings As %Integer(POPSPEC = "Integer()");
ClassMethod OutputJSON() As %Status
{
If '..%ExistsId(1) Do ..Populate(100)
Set sql="select FirstName, LastName, CountOfThings from Atmus_Web_Test.JSONFromSQL"
Quit ##class(JSON.FromSQL).OutputJsonFromSQL(sql)
}
2. Utility Class
Class JSON.FromSQL Extends JSON.Base
{
ClassMethod OutputJsonFromSQL(
sql,
%parm...) As %S

1
0 411
Question Ramesh Ramachandran · Sep 23, 2020

We use ExecureProcedure() to execute a stored procedure which returns a result set. But we see lot of "Invalid cursor state" errors when the result set is empty.  The connection to SQL server database is made through ODBC. 

ERROR #6022: Gateway failed: Fetch. + ERROR <Ens>ErrGeneral: SQLState: (24000) NativeError: [0] Message: [Microsoft][ODBC Driver 11 for SQL Server]Invalid cursor state 

Here is the code snippet from the business operation class which uses EnsLib.SQL.OutboundAdapter  

do ..Adapter.DSNSet(DataSourceName)

set sp = "{call sqlstoredprocedure(?,?,?)}"
set tSC = ..Adapter.ExecutePro

2
0 9887
Job Mike Yackanich · Nov 18, 2020

We're looking to grow our team by adding an experienced healthcare interoperability resource to focus on Participant onboarding and troubleshooting, and testing and evaluation of in-house and third-party software solutions to ensure compliance with organizational standards and requirements.

Details of position are available on our Careers page.

#healthcare  #remotework

0
0 390
Article Dmitrii Kuznetsov · Oct 7, 2019 12m read

How can you allow computers to trust one another in your absence while maintaining security and privacy?

“A Dry Martini”, he said. “One. In a deep champagne goblet.”
“Oui, monsieur.”
“Just a moment. Three measures of Gordons, one of vodka, half a measure of Kina Lillet. Shake it very well until it’s ice-cold, then add a large thin slice of lemon peel. Got it?”
"Certainly, monsieur." The barman seemed pleased with the idea.
Casino Royale, Ian Fleming, 1953


OAuth helps to separate services with user credentials from “working” databases, both physically and geographically. It thereby strengthens the protection of identification data and, if necessary, helps you comply with the requirements of countries' data protection laws.

With OAuth, you can provide the user with the ability to work safely from multiple devices at once, while "exposing" personal data to various services and applications as little as possible. You can also avoid taking on "excess" data about users of your services (i.e. you can process data in a depersonalized form).

1
5 1530