検索

お知らせ
· 2024年12月12日

Technology Bonuses for the InterSystems "Bringing Ideas to Reality" Contest

Here are the technology bonuses for the InterSystems "Bringing Ideas to Reality" Contest 2024 that will give you extra points in the voting:

  • IRIS Vector Search usage -3
  • Embedded Python usage -3
  • InterSystems Interoperability - 3
  • InterSystems IRIS BI - 3
  • VSCode Plugin - 3
  • FHIR Tools - 3
  • Docker container usage -2 
  • ZPM Package Deployment - 2
  • Online Demo -2 
  • Find a bug in Embedded Python - 2
  • Code Quality pass - 1
  • Article on Developer Community - 2
  • The second article on Developer Community - 1
  • Video on YouTube - 3
  • YouTube Short - 1
  • First Time Contribution - 3

See the details below.<--break->

<--break->IRIS Vector Search - 3 points

Starting from 2024.1 release InterSystems IRIS contains a new technology vector search that allows to build vectors over InterSystems IRIS data and perform search of already indexed vectors. Use it in your solution and collect 5 bonus points. Here is the demo project that leverages it.

Embedded Python - 3 points

Use Embedded Python in your application and collect 3 extra points. You'll need at least InterSystems IRIS 2021.2 for it.

InterSystems Interoperability - 3 points

Make a tool to enhance developer experience or to maintain or monitor or use the InterSystems Interoperability engine.Inteoperability tool example. Interoperability adapter exampleBasic Interoperability template.  Python Interoperability template.

InterSystems IRIS BI - 3 points

Develop a tool that improves the developer experience or uses InterSystems IRIS BI feature of IRIS Platform. Examples: DeepSeeWeb, IRIS BI Utils, AnalyzeThis. IRIS BI Analytics template.

VSCode Plugin - 3 points

Develop a plugin to Visual Studio Code editor that will help developers to develop with InterSystems IRIS. Examples: VSCode ObjectScript, CommentToObjectScript, OEX-VSCode-snippets-Example, irislab, vscode-snippets-template and more.

FHIR Tools - 3 points

Develop a tool that helps to develop and maintain FHIR applications in InterSystems IRIS or help with FHIR enablement tools, such as FHIR SQL Builder, FHIR Object Modeland InterSystems FHIR Server. Here is a basic InterSystems FHIR template and examples of FHIR-related tools.

Docker container usage - 2 points

The application gets a 'Docker container' bonus if it uses InterSystems IRIS  running in a docker container. Here is the simplest template to start from.

ZPM Package deployment - 2 points

You can collect the bonus if you build and publish the ZPM(ObjectScript Package Manager) package for your Full-Stack application so it could be deployed with:

zpm "install your-multi-model-solution"

command on IRIS with ZPM client installed. 

ZPM client. Documentation.

Online Demo of your project - 2 points
Collect 3 more bonus points if you provision your project to the cloud as an online demo. You can do it on your own or you can use this template - here is an Example. Here is the video on how to use it.

Find a bug in Embedded Python - 2 points
We want the broader adoption of InterSystems Embedded python, so we encourage you to report the bugs you will face during the development of your python application with IRIS in order to fix it. Please submit the bug here in a form of issue and how to reproduce it. You can collect 2 bonus points for the first reproducible bug.

Code quality pass with zero bugs - 1 point

Include the code quality Github action for code static control and make it show 0 bugs for ObjectScript. 

Article on Developer Community - 2 points

Write a brand new article on Developer Community that describes the features of your project and how to work with it. Collect 2 points for the article. 
*This bonus is subject to the discretion of the experts whose decision is final. 

The Second article on Developer Community - 1 point

You can collect one more bonus point for the second article or the translation of the first article. The second article should go into detail about a feature of your project. The 3rd and more articles will not bring more points, but the attention will be all yours. 
*This bonus is subject to the discretion of the experts whose decision is final.

Video on YouTube - 3 points

Make the Youtube video that demonstrates your product in action and collect 3 bonus points per each. Examples.

YouTube Short - 1 point

Make a YouTube Short demonstrating your product in action and collect 1 bonus point each.

First-Time Contribution - 3 points

Collect 3 bonus points if you participate in InterSystems Open Exchange contests for the first time!

The list of bonuses is subject to change. Stay tuned!

Good luck with the competition!

3 Comments
ディスカッション (3)1
続けるにはログインするか新規登録を行ってください
質問
· 2024年12月12日

Mirror entered trouble state

Dear community, my company use intersystems iris, a old version of 2019 and centos 7.9

At the moment, we are faced with a rather strange luck of iris.

Every day during working hours, we receive a error that iris primary cannot transfer the journal to the backup node.

We have availability monitoring, these errors do not affect availability in any way, but I still wanted to analyze this error.

I understand that the severity of this error is only 1, but Can someone share a diagnostic method this error?

12/12/24-15:48:43:705 (20263) 1 MirrorServer: Unlinking with journal daemon at 0x09db5294, returning to catchup state.

12/12/24-15:48:43:705 (15734) 1 MirrorServer: Mirror entered trouble state (backupjrnend = 138522624)

12/12/24-15:48:43:705 (15734) 1 MirrorServer: Mirror id #0 set trouble state. Failed to send journal data through 138555856 for file #51647 (cur = 51647/138522624)within timeout period. Disconnected from journal system

12/12/24-15:48:43:762 (20288) 0 MirrorServer: Ping ack received from unlinked backup...(repeated 1 times)

12/12/24-15:48:43:762 (20288) 0 MirrorServer: Mirror trouble state cleared. Switched to Agent Controlled failover.

12/12/24-15:48:43:763 (20288) 0 MirrorServer: Ping ack received from unlinked backup

12/12/24-15:48:43:805 (20263) 0 MirrorServer: Client up to date, linking with journal daemon @ 0x09db5294

12/12/24-15:48:43:806 (20263) 0 MirrorServer: Sending Prepare to Switch Modes

12/12/24-15:48:43:807 (20263) 0 MirrorServer: Switched from Agent Controlled to Arbiter Controlled failover

1 Comment
ディスカッション (1)2
続けるにはログインするか新規登録を行ってください
質問
· 2024年12月12日

%ExistsId and %OpenId methods for linked tables in FHIR Facade do not work

My IRIS instance is connected to a Postgres database using SQL Gateway and linked tables.
One of these tables is projected to the Patient class. I want to select a record from this table by ID and convert it to a FHIR resource using the %ExistsId and %OpenId methods.
I noticed that if I call these two methods from the console, the record is always found.

1 Comment
ディスカッション (1)1
続けるにはログインするか新規登録を行ってください
記事
· 2024年12月12日 2m read

Lookup Data Tables with TTL per entry and Purge Cleanup Task

Like many others probably find themselves, we were stuck doing live data mapping in our Interface Engine that we really didn't want to do, but had no good alternative choice. We want to only keep mappings for as long as possibly needed and then purge expired rows based upon a TTL value. We actually had 4 use cases for it ourselves before we built this. Use cases:

1. First ORU result with unique OBR-21 gets converted to a MDM^T02 event, any later ORU with the same OBR-21 value within 30 days (max workflow possible) gets sent as MDM^T08 to replace the existing document link.
2. CPOE ORM gets generated from an ORU result. The resulting vendor does not accept Filler Order Numbers, and the Interface Engine must clear the field. The CPOE interface must have the Filler Order Number. Cannot replace Placer Order Number with Filler Order Number as Clinician techs need to reference the Placer Order Number inside the vendor devices. Interface Engine then needs to map Placer Order Numbers to Filler Order Numbers to add in the missing values required for CPOE
3. Resulting vendor cannot change procedure after exam begun, and results filing back must be for the latest procedure. To avoid manually working these every time they happen, the Interface Engine needs to create a map for any new procedures after Exam Begun notification and map results to the new procedure. Max time to keep these procedure mappings is 72 hours.
4. Vendor cannot handle XO order update for change procedure ORM message. Instead they expect a cancel (CA) for the old procedure and a new (NW) or update (XO) for the new procedure. To create the cancel message, the Interface Engine needs to persist a map of the order number to procedure. When a procedure update message comes through, the Engine will lookup the previous procedure, send out the cancel order, then update the persisted mapping and send out the order update with the new procedure. There will be a max time that should usually be possible between the new order, and a change procedure later.

Since these scenarios will maintain live dynamic keys and values, we want to only keep mappings for as long as possibly needed and then purge expired rows. I looked at the LookupTable class, but it does not provide any kind of TTL functionality. So we wrote our own class dubbed LookupData.

https://codefile.io/f/vEgnWzafOx

This is my first class I developed from a blank slate. I am open to constructive criticism on how this can be made better. I am sure there are better ways to do some of the methods, so I welcome your feedback.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
ディスカッション (4)1
続けるにはログインするか新規登録を行ってください