Rechercher

文章
· 六月 18 阅读大约需 3 分钟

How to create your own search table for HL7 messaging

My intention is to show how simple it is to generate a lookup table taking into account the information received in our HL7 messaging. The HL7 message lookup table provided by IRIS is certainly sufficient for most of the searches we want to perform, but we always have that special field in our HIS, LIS, RIS, etc. that we'd like to search by. But that's in a segment outside of that lookup table. That field forces us to generate a specific search using the expanded search criteria. We'll likely have many messages, and we'll also have to filter by date and time so we don't timeout.
 

 

How do we solve this?

By generating our own search table.

And how do we generate our search table?

As we non-geniuses have always done, COPYING! In our lives, we will meet 3-4 geniuses. They will be the ones who invent, generate, visualize the afterlife, etc. If you are one of them, you already know how to do this. You'll be in the top 100 of the global masters, you'll have more than 500,000 points, and a veritable trousseau of InterSystems products in your home. The rest of us will do as we have done all these years before the chatGPT: copy, and without any shame, with our heads held high, so let's begin.

 

First Step

We will generate our class in Visual Studio Code, we will open the EnsLib.HL7.SearchTable class that IRIS gives us, and we will copy all the content of the class (CTRL+C). Then we will go to our class and paste (CTRL+V).
 

 

Super important: we will also copy the Extends, the ClassType, Inheritance. We are not leaving anything out, just the Copyright, that doesn't interest us. We don't have enough ego to leave our mark of great work.

 

 

If you're old school, this screen will seem very familiar to you 😉

 

Second Step

 

Now we do the magic: we add our fields, remove the ones we aren't interested in, and we can even translate it into Spanish to make it look better.
 

 

 

In this case, I've added the message source, destination, event, service, and patient episode, and this is where your need comes in. Add any field you want/need. As you can see, you can add the segment, field, and component numerically. For me, it's easier than adding the English name, but keep in mind that we can only guarantee that segment 1 will be the MSH; the rest will depend on each message. So, in the case of segments, it's better to use the code (PID, PV1).

After all this arduous task, we compile and now have our lookup table. We just need to assign it to the components in our production, obviously the HL7 components. Let's get to it.

 

 

Third Step

 

We open our production and look for the HL7 components, we go to the additional parameters and there we will find our lookup table, we select it and proceed to apply the changes, from that moment on, all the messages that enter through that component will be stored in our lookup table. If later we add more fields to the lookup table, it will be from the compilation of this when they will begin to be saved, and for previous messages, that field will be blank.

 

 

Whether they enter or exit, in HL7 type operations we also have the lookup table. Normally, in the output components nothing is activated by default, but if we are interested in controlling the output we also have it available.

 

 

With these simple steps we have our production ready to save the data we are interested in. We just need to generate the queries, and to do that we go to the message viewer.

 

Demonstration

 

In the messaging within the criteria, when we select the lookup tables, we will find what we did. When we select it, we can now start playing with our fields

 

 

Below, I'll give several examples, but your imagination is the limit. I'm getting carried away. The fields in the lookup table will set the limits for you.


1. Search if no condition. We only want to see the input message event and message ID.

 

 

2. Search by event showing patient and episode codes

 


3. Search by episode showing the service, patient name and HL7 message type

 

 


From here on it's up to you, enjoy 😋

讨论 (0)1
登录或注册以继续
公告
· 六月 18

Get Certified as a Development Professional

Do you have at least two years' experience developing with InterSystems IRIS® data platform and basic knowledge of InterSystems ObjectScript?

👨‍🎓Validate your expertise with the new InterSystems IRIS Development Professional certification exam, our first professional-level exam!

Badge: InterSystems Certified. InterSystems IRIS Development Professional  


What does the exam cover?

Best practices in:

  • Architecture
  • Development lifecycle
  • Data retrieval
  • Code

Why get certified?

  • 👏 Get formal recognition of your skills and experience.
  • 🚀 Boost your confidence...and your career!

As one InterSystems-certified customer says:

...certification is a solid guarantee that you have both the breadth and the depth needed to operate efficiently in these technologies.

讨论 (0)2
登录或注册以继续
文章
· 六月 18 阅读大约需 5 分钟

Définir et obtenir, et pas de souci avec JSON

Le bon vieux temps

La classe %Library.DynamicObject existe dans IRIS depuis bien avant que IRIS ne devienne IRIS. Si vous l'utilisez depuis l'époque de Cache, vous souhaiterez peut-être vous familiariser avec certaines de ses modifications.

Dans Cache 2018, la méthode %Get n'avait qu'un seul argument. Il s'agissait de la clé permettant de récupérer les données dans le JSON. Ainsi, si votre objet JSON s'appelait myObj, cela ressemblerait à ceci:

讨论 (0)2
登录或注册以继续
问题
· 六月 18

Databases inside a Namespace

Hi,

I want to write a program to:

- list all defined namespaces

- for each namespace, the databases making up the namespace

Python would be ideal but ObjectScript is OK.

Would someone know how to do this?

Thanks

4 Comments
讨论 (4)3
登录或注册以继续
InterSystems 官方
· 六月 17

IRIS 2025.1 日本語ドキュメント公開 & ランチャーからの参照方法

このたび InterSystems IRIS 2025.1 の日本語ドキュメントが完成しました。以下のURLでご参照いただけます。

<--break->IRIS for Windows では、ランチャーの [ドキュメント] をクリックしたときに、好きな日本語ドキュメントを表示させることができます。

ランチャーのドキュメントリンク先は、デフォルトでは英語ドキュメントに飛ぶようになっています。ご希望の日本語ドキュメントを表示させるには、IRISサーバがIISを利用している場合は、IRISサーバ上で以下の(1)(2)を実行し、HTTPリダイレクト機能をインストール&リダイレクトを設定する必要があります。

(1) IIS HTTPリダイレクト機能追加 (まだの場合)

IRISサーバ上のIISに、リダイレクト機能を追加します。
[Windows の機能の有効化または無効化]→[インターネット インフォメーション サービス]→[World Wide Web サービス]→[HTTP 共通機能]→[HTTP リダイレクト]→[OK]

(2) 日本語ドキュメントへのリダイレクト設定

IRISサーバ上でコマンドプロンプトを管理者モードで起動し、以下3行を実行してください。これにより、希望の日本語オンラインドキュメントへのリダイレクトが設定されます。

注意
※2行目の /path は /<インスタンス名>/csp/docbook になります。以下の例では、インスタンス名=IRIS です。また、 /physicalPath は任意のフォルダで構いませんが、フォルダが存在している必要があります。
※3行目の /destination は、表示したいドキュメントの docbookj までを指定します。以下の例では、IRIS for Health にリンクしています。

cd C:\windows\system32\inetsrv
appcmd add app /site.name:"Default Web Site" /path:/iris/csp/docbook /physicalPath:c:\inetpub\docbook
appcmd set config "Default Web Site/iris/csp/docbook" /section:httpRedirect /enabled:true /destination:https://docs.intersystems.com/irisforhealth20251/csp/docbookj

IRISサーバが Apache を利用している場合は、こちら の手順をご覧ください。

 

なお、過去バージョンを含めた、日本語ドキュメント一覧は こちら からご確認いただけます。
ぜひ日本語ドキュメントをご活用いただき、IRIS 製品をより便利にお使いください。

讨论 (0)0
登录或注册以继续