Discussion
· Sep 21, 2020
Unit Testing Naming Convention

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?

5 6
0 355

Hi Developers!

Here're the technology bonuses for the FHIR programming contest that will give you extra points in the voting:

  • FHIR Server REST API usage
  • The usage of SQL Schema of FHIR Resources
  • Healthcare standards data transformation
  • Docker container usage

See the details below.

3 3
1 266

Hi Developers!

InterSystems FHIR contest has been started and in this post, I want to introduce several topics you may find interesting and use to build FHIR applications with InterSystems IRIS for Health.

Amongst them are:

  • a frontend mobile or web app for FHIR server FHIR REST API or SQL;
  • Backend apps to perform complex queries and maintain rules;
  • work with different HL7 data standards.

See the details below.

2 5
0 244
Article
· Aug 2, 2020 1m read
Application Errors Analytics

Hi Developers!

As you know the application errors live in ^ERRORS global. They appear there if you call:

d e.Log() 

in a Catch section of Try-Catch.

With @Robert Cemper's approach, you can now use SQL to examine it.

Inspired by Robert's module I introduced a simple IRIS Analytics module which shows these errors in a dashboard:

3 5
1 329

Hi Developers!

Here in Developers Community, we have posts, which are categorized by tags. Tags - are specific topics, which relate to InterSystems products, InterSystems services, or any concept related to software development, deployment, or maintenance etc.

Tag is a helpful thing because it gives the option to follow/subscribe to the tag, filter the search by the tag, understand how popular or not unpopular the topic and more.

And we have a problem!

Actually two problems. The tags for the post are selected by the author of the post, and we have the following issues: the author chooses wrong tags for a post, and the post lacks proper tags.

And we think this problem could be solved with AI/ML approach and so we suggest you solve it during the InterSystems IRIS AI Contest.

0 2
0 264

Hi Developers!

Suppose you have a persistent class with data and you want to have a simple Angular UI for it to view the data and make CRUD operations.

Recently @Alberto Fuentes described how to build Angular UI for your InterSystems IRIS application using RESTForms2.

In this article, I want to tell you how you can get a simple Angular UI to CRUD and view your InterSystems IRIS class data automatically in less than 5 minutes.

Let's go!

7 3
5 1.1K

Hi developers!

We are starting InterSystems AI Programming Contest next week, and according to the rules, you can include some technology IRIS Features into your solutions, which will give you extra points in the voting.

Here are the technology bonuses for InterSystems AI Programming Contest!

1. IntegratedML usage - 2 expert vote points

IntegratedML is a new technology Introduced in InterSystems IRIS which you can use with InterSystems IRIS 2020.2 Advanced Analytics Preview release. IntegratedML:

  • Gives users the ability to create, train, and deploy powerful models from simple SQL syntax without requiring data scientists.
  • Wraps "best of breed" open source and proprietary "AutoML" frameworks including DataRobot.
  • Focuses on easy deployment to IRIS, so you can easily add machine learning to your applications.

Learn more in IntegratedML Resource Guide.

You can use with IntegratedML template.

2. Python Gateway usage - 1 expert vote point

Python Gateway is an addon to InterSystems IRIS which gives you the way to use Python in InterSystems IRIS environment:

  • Execute arbitrary Python code.
  • Seamlessly transfer data from InterSystems IRIS into Python.
  • Build intelligent Interoperability business processes with Python Interoperability Adapter.
  • Save, examine, modify and restore Python context from InterSystems IRIS.

Learn more about Python Gateway.

You can use the Python Gateway template, which includes IntegratedML too.

3. Docker container - 1 expert vote point

The application gets a 'Docker container' bonus if it uses InterSystems IRIS running in a docker container.

Both templates, IntegratedML template and Python Gateway template use docker so you can collect this bonus if you build your solution using these templates.

Or you can use any other Docker-based templates, published on Open Exchange.

Feel free to ask any questions about using the listed technologies.

Good luck in the competition!

2 0
0 294

Hi Devs!

Last weekend I had been testing the newborn csvgen module and was looking for a CSV file to test - thus I came across an interesting datafile on Data.World with Game of Throne episodes statistics. Death statistics. These folks documented all the murders through all the 8 seasons and noted where, who, from what clan with what weapon had killed another one.

So I imported it and made an IRIS Analytics dashboard.

You Know Nothing, Jon Snow | You Know Nothing, Jon Snow | Know ...

Don't worry, Jon, with this dashboard we can figure out something ). See the details below.

6 0
2 637

Hi Devs!

A few months ago I raised a discussion on the naming convention for ZPM modules.

And you free to put your name or your organization name for the packages you want to have your personal or company's brand.

But if you contribute to community, we suggested to have "community." package for all such libraries.

But the name is too long.

2 19
1 497

Hi Developers!

Sometimes we need to import CSV data programmatically to InterSystems IRIS either from CSV or from URL. And we expect the class with proper datatypes to be created and the data to be imported.

I published a module csvgen on Open Exchange which does exactly that.

If you just need the CSV file be imported into IRIS you can do the following:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

Or if you have the CSV on the internet, e.g. COVID-19 Data on Github you can get the data in the following way:

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>

7 16
1 1.3K