Article Dmitry Maslennikov · Jul 30, 2022 5m read

Continuing to  observe the possibilities of Django, and usage with IRIS. The first we have looked how to define models and connect to tables already existing in IRIS, than we extended embedded Django Administration portal, with an ability to see what data we have in that models, with filters, editing and even pagination.

Time to go to real action, now we a going to create some REST API, on Django, based on the same data, we used before from the package posts-and-tags.

To do so, we will use Django REST Framework

Django REST Framework

Django REST framework is a powerful and flexible toolkit for building Web APIs.

Some reasons you might want to use REST framework:

  • The Web browsable API is a huge usability win for your developers.
  • Authentication policies including packages for OAuth1a and OAuth2.
  • Serialization that supports both ORM and non-ORM data sources.
  • Customizable all the way down - just use regular function-based views if you don't need the more powerful features.
  • Extensive documentation, and great community support.
  • Used and trusted by internationally recognised companies including Mozilla, Red Hat, Heroku, and Eventbrite.
0
0 475
Article Dmitry Maslennikov · Jul 25, 2022 8m read

In the first part, I've shown how to start a new project on Django, as well as define new models and add already existing models.

This time, I'll introduce an admin panel, available out of the box and how it can be useful.

Important note: do not expect that if you try to repeat actions from this post it will work for you, it does not. During the article, I had to do some fixes in the django-iris project, and even in DB-API driver made by InterSystems to fix some issues there as well, and I think this driver is still in development, and we will get more stable driver in future. Let's decide that this article only explains how it could be if we would have all done.

2
0 563
Article Ramil TK · Jul 29, 2022 4m read

In this article, I am trying to identify the multiple areas to develop the features we can able to do using python and machine learning.

Each hospital is every moment trying to improve its quality of service and efficiency using technology and services. 

The healthcare sector is one of the very big and vast areas of service options available and python is one of the best technology for doing machine learning.

In every hospital, humans will come with some feelings, if this feeling will understand using technology is make a chance to provide better service.

Here we can combine both of these and in

2
2 505
Question Scott Roth · Jul 29, 2022

I was wondering if someone could help me. I do not have docker available to me however a lot of the Open Exchange apps require it. Since I am using a Virtual Windows Machine I can not get docker installed, so I was wondering how to get around this? Someone at GS2022 suggested looking at the docker_compose.yml to figure out how to get around docker, but I am not sure I understand how to read it. 

Does someone have any quick solutions to get around docker compose? Or can tell me how to read a docker compose so that I can install some Open Exchange and or additional InterSystems components?

Thanks

S

3
0 563
Article Renato Banzai · Jul 28, 2022 6m read

Hi developers! In this article I’m going to explore the use of Iris Python Native API in a specific problem: large strings to store.

Why Python Native API?

Python Native API for Intersystems IRIS offers an useful way to persist data that you can’t have control over the schema or if the schema changes frequently. Combining the Native API with the IRIS Globals, you can easily use Iris Database as an Document Store. You can also see more details of globals use in documentation https://learning.intersystems.com/course/view.php?id=1110&ssoPass=1, or in my article https://community.intersystems.

7
0 440
Announcement Vita Tsareva · Jul 29, 2022

Hi Community!

We’re so glad to announce that InterSystems FHIR startup incubator —  Caelestinus held its first virtual Demo Day on June 29th!

16 startups have showed off their products and solutions built with InterSystems FHIR Server, or IRIS for Health or Health Connect to an audience of about 15 investors & partners.

The Demo Day is the result of a four-month journey — the equator of the incubator, in which startups have explored InterSystems tech, validated their ideas and presented it on the first Demo Day. In case you missed it,  enjoy watching it on InterSystems Developers YouTube:

📣 The First Demo Day of InterSystems FHIR Startup Incubator — Caelestinus

Here is the list of presenters with pitch decks of the startups.

0
0 378
Question Paul Hula · Nov 2, 2016

Hello All,

   Having a recent project to create a FHIR repository, I want to know (as looking at the code) if HealthShare FHIR implementaton supports subscriptions?.  I know it records the subscriptions ok, BUT does it handle sending the subscription out (based on the tags) to an endpoint (i.e. when a new FHIR request commits data that would trigger the subscription) ?, I'm 50% it doesn't, but would rather find out for sure before shoe horning something in.

   Regards

9
0 1220
Question Daniel Lee · Jul 28, 2022

I have an existing DTL and I need to insert a trace statement so that it writes the value of the target object. However, I haven't been successful in completing this. 

I have opened the DTL viewer in Studio, and have inserted a trace statement. 

  • If I insert just plain text, the trace statement works, e.g., Value="Hello World"
  • If I insert the target variable, it does not work, e.g., target.Patient.Allergies.(k1).AllergyID. For this value, compile fails with an InvalidName error ERROR #1011: Invalid name : '##class(Ens.Util.Trace).WriteTrace("user","PHI.DTL.SDAtoACX","Transform",target.
1
0 540
Article Aasir Waseer · Jul 28, 2022 1m read

Hi Folks,

Before I begin my writing journey here I wish to introduce myself briefly, so that everyone who reads and follows me will get a clear picture.

To start with I did my Bachelors in Physical Sciences, Mathematics and Computer Science were my core subjects. I have 4+ years of experience in HealthCare Revenue Cycle operations including Medical Coding, Billing, AR Collections, Denial Management and Fincial Reconciliation. Also, 2+ years of experience in Data Operations and Analytics, specifically in Python, PowerBI, SQL and MsExcel.

i'm a beginner here.

2
0 380
Announcement Anastasia Dyubaylo · Jun 15, 2022

Hello and welcome to the next InterSystems technical article writing competition!

🐍 InterSystems Tech Article Contest: Python Edition 🐍

Write an article on any topic related to the usage of Python with InterSystems technologies from June 20 to July 20July 31– extended!

🎁 Prizes for everyone: A special prize pack for each author who takes part in the competition!

🏆 Main Prizes: AirPods Max; Apple Watch SE; Apple HomePod mini / Apple Pencil 

16
1 2070
Question Gertjan Klein · Jul 28, 2022

I am writing documentation in VS Code, using markdown, and am including some COS snippets in it, e.g.:

```objectscript
[Some COS snippet]
```

The IRIS language server (etc.) is enabled, and classes in the repository this documentation is in, are syntax highlighted properly. However, the code fragment in the documentation isn't. Syntax highlighting for e.g. XML does work.

Am I doing something wrong, or is this not supported?

3
0 1139
Article Lucas Enard · Jul 27, 2022 7m read

Following this GitHub we will see how the FIX protocol can be implemented easily using IRIS and Python.

If you don't have much time focus on the Send a Quote before the Order part near the end, as it will, in a matter of minute, tell you how to send a Quote Request followed by an Order Request and show you the result from the server, and that in no more than five clicks.

IRIS-fix-protocol

Implementation of the fix protocol using an IRIS python container for the initiator and a regular python container for the acceptor.

The Financial Information eXchange (FIX®) Protocol has revolutionized the

4
0 1124
Article Robert Cemper · Jul 28, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

# Package Review Stars IPM *
0
0 289
Article Dan Berges · May 30, 2022 1m read

Alt Text

Hi everyone!

Just wanted to share here a quick post about my project for the Grand Prix :)

FHIR Patient Viewer is a single-page, reactive rendering tool built on Vue.js that displays in a human-friendly way the data returned from a /Patient/{id}/$everything call made to an InterSystems FHIR server. In the readme, I've included 3 main things: 1. A video demo connecting FHIR Patient Viewer to a sandbox IRIS FHIR server (the fastest way to test it); 2.

4
0 1391
Question Stefan Schick · Jul 20, 2022

Hello everyone,

I want to restore a database from an external backup with the journal files.

The manual says I should (in short):

  1. Stop journaling with ^JRNSTOP
  2. Restore the database file IRIS.DAT
  3. Run the journal restore utility with ^JRNRESTO
  4. Restart journaling ^JRNSTART

Since I want to restore one database only step 1 would disable journaling for the whole instance, not only for the database to be restored. As I understand, it would be impossible to restore a different database if there occurs a problem while journaling is disabled during the recovery process?

My question is: Can journaling

6
0 953
Article Timothy Leavitt · Jun 28, 2022 2m read

An interesting pattern around unique indices came up recently (in internal discussion re: isc.rest) and I'd like to highlight it for the community.

As a motivating use case: suppose you have a class representing a tree, where each node also has a name, and we want nodes to be unique by name and parent node. We want each root node to have a unique name too. A natural implementation would be:

Class DC.Demo.Node Extends%Persistent
{

Property Parent As DC.Demo.Node;Property Name As%String [ Required ];
Index ParentAndName On (Parent, Name) [ Unique ];
Storage Default
{
<Data name="NodeDe
8
0 1256
Article Evgeniy Potapov · Jul 19, 2022 7m read

When we collect temporary data (the number of purchases in the store, the number of comments on the post), it may happen that there is no data for a certain period of time. In this case, this time period (hour, day, month) is not represented in the database, that is, there is not a single row for this period. In other words, there are no rows in the database for this period.

When we start building analytical reports based on data from IRIS or Adaptive Analytics cubes, a visualization problem appears.

1
0 561
Article Eduard Lebedyuk · Nov 20, 2019 9m read

In this article, I would like to talk about the spec-first approach to REST API development.

While traditional code-first REST API development goes like this:

  • Writing code
  • REST-enabling it
  • Documenting it (as a REST API)

Spec-first follows the same steps but reverse. We start with a spec, also doubling as documentation, generate a boilerplate REST app from that and finally write some business logic.

This is advantageous because:

  • You always have relevant and useful documentation for external or frontend developers who want to use your REST API
  • Specification created in OAS (Swagger) can be imported into a variety of tools allowing editing, client generation, API Management, Unit Testing and automation or simplification of many other tasks
  • Improved API architecture.  In code-first approach, API is developed method by method so a developer can easily lose track of the overall API  architecture, however with the spec-first developer is forced to interact with an API from the position if API consumer which usually helps with designing cleaner API architecture
  • Faster development - as all boilerplate code is automatically generated you won't have to write it, all that's left is developing business logic.
  • Faster feedback loops - consumers can get a view of the API immediately and they can easier offer suggestions simply by modifying the spec

Let's develop our API in a spec-first approach!

6
10 3523
Question Michael Davidovich · Jul 26, 2022

I have successfully created REST service classes on my local IRIS server following this book: Using the /api/mgmnt/ Service | Creating REST Services | InterSystems IRIS Data Platform 2021.2

I am now 1) trying to edit impl.cls in VS Code and 2) export it to my local repo so I can push to the remote repo.

When I click on my project in VS Code and 'Add to project' and choose the new package, spec.cls and impl.cls, I get the following error:

ERROR #5540: SQLCODE: -114 Message: Unable to acquire lock for INSERT of child row for parent table '%Studio.Project' with parent id = 'Default_project'

Has

12
0 447
Question Joseph Tsang · Jul 14, 2022

Is there anyone using this callback in the code? I was searching in the latest IRIS documentation for any handy callbacks of the %Persistent class which allows me to execute some codes just right after a transaction has been committed (TCOMMIT). The description of this %OnSaveFinally() sounds the thing I want because it said:

If the calling method started a transaction then that transaction is completed prior to invoking the callback.

However, I later discovered in my own test that this callback is triggered after %Save(), not after TCOMMIT.

5
0 559
Question Mark OReilly · Jun 8, 2022

Hi:

Had an issue after upgrading to 2021.1 where search bar for interoability will bring up "INVALID ACTION". 

On upgrading to 2022.1 this still occurs. 

It did not occur on another environement that was upgraded from 2017.2 straight to 2022.1 

Is there any solution? Loads up SYS in url rather than customnamespacename

Issue is the url for instance brings through ip/csp/sys/EnsPortal.DTLEditor.zen?$NAMESPACE=X 

ip/csp/healthshare/customnamespace/EnsPortal.DTLEditor.zen?$NAMESPACE=X

I encountered this before and forget if there was a solution for this

1
0 381
Question Fabio Care · Jul 27, 2022

Hello all, 

i am currently struggling following the instructions for reading an image file into the database as a base64 string.

My goal is to save an image into a global as base64. I followed different guides like:

https://community.intersystems.com/post/how-save-png-image-cache-base64…

https://community.intersystems.com/post/how-save-fileimage-some-specifi…

https://cedocs.intersystems.com/ens20152/csp/documatic/%25CSP.Documatic…

Here is my current code:

 FILE,BASE64
 Set file=##class(%Stream.

5
0 644
Discussion Dmitry Maslennikov · Jul 10, 2022

I would say it is a post of pain after years of using InterrSystems IRIS Docker images in many projects.

And I hope InterSystems will hear me and do something with it.

We have a lot of issues with Docker images, but I see no progress in solving them.

  • containers.intersystems.com - any new releases substitute previous versions, makes build useless
    • ARM64 images have separate names, and it makes a pain to use them
  • flags in iris-main, appears and disappears from version to version, which may fail the start the container
  • healthcheck does not work as expected
3
0 817
Article Oliver Wilms · Jul 25, 2022 3m read

Hello,

I became aware of Python in the early 2000s when I started automating tasks. Some of our processes utilized python scripts. I never figured it out very well, and we decided to do away with Python because nobody on our team was familiar with it.

Along the way, I heard a lot about Python. My interest was renewed when InterSystems offered bonus points for using Python in contests.

The things I like the most about Python so far is how easy it is to find the mean of the ages of all Titanic passengers. For my test-data app I wanted to find the largest value in the ‘Qty’ column in a CSV file.

The

0
0 324