#InterSystems IRIS for Health

10 Followers · 2.4K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Question Flávio Lúcio Naves Júnior · Mar 31, 2023

Hello everyone,

I am working in the HealthShare, and I need to check some modification during a period of time in the records of a patient. But I don't want to use HealthShare managment portal, I want to create some querys because are many records of patient. I tried to find the Globals or Tables that are used by Iris in the Record History function. ChatGPT helped me, saing that the table is HS.IHEX.RecordHistory and the global ^HS.IHEX.RecordHistory, but I didn't find any data in the global or table. Can someone help me? Anyone knows a way to do querys for the Record History and see the chan

6
0 459
Question Michael Wood · Jan 19, 2024

I am trying to do a INSERT OR UPDATE SQL query, but the query always inserts new rows to table. Is it how I defined the table or am I mising something in the query?

table defines as,

Class AH.AHCOMMON.Tables.HospDepartmentData Extends %Persistent [ Language = objectscript ]
{

Property Tablespace As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 2 ];

Property DepartmentId As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 3 ];

Property TimezoneName As %Library.String(MAXLEN = 100) [ SqlColumnNumber = 4 ];

Property PatientDepartmentName As %Library.String(MAXLEN = 100) [ SqlColumnNumber

1
0 246
Question Mark OReilly · Jan 16, 2024

Does anyone have any trick to get the raw text out whenever you run a DTL test in the DTL editor? 

If not is there any plans to add this to a later version? It would help certain workflows where you just want to run a transform in the DTL to then copy and paste the message to send into a test on the operation. I am aware you can set up a file and rule to then go out to a file or operation but seems like additional workflows when there are scenarios you just want a quick copy of the message text after doing transform. Other messages you can add &RAW=1 a button for Raw or just an additional raw

2
0 258
Article Hiroshi Sato · Jan 18, 2024 1m read

InterSystems FAQ rubric

If you need to migrate your server for some reason, you can reduce the setup work by copying configuration information from the pre-migration environment to the post-migration environment.

The following setting information can be migrated.

  • iris.cpf
  • SQL gateway settings
  • web gateway settings *Note 1
  • user-created routines etc. stored in the IRISSYS database *Note 2
  • security settings
  • task settings

Note 1: If a password has been set, only the password needs to be reset manually.
Note 2: Preferred connection server settings such as ^%ZSTART, ^ZMIRROR routines, etc

1
2 301
Article Ashok Kumar T · Aug 14, 2023 8m read

In this article,  I walk through the %JSON.Adaptor class. This class is extremely useful in exporting data into serialized JSON and importing the JSON objects and saves into class object.

I'll start with the %JSON. Adaptor parameters. The parameters are crucial part of the JSON import and export operations.

If your property name is not the same as the actual JSON key name for export to external or load the data’s into object through import, you should use the%JSONFIELDNAME parameter to define the alias name. If it doesn't, it produces an 'unexpected field' in the input error at the time of

2
6 1446
InterSystems Official Fabiano Sanches · Jan 17, 2024

The 2023.1.3 extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect is now available. It provides bug fixes for any of the previous 2023.1.x releases.

You can find the detailed change lists / upgrade checklists on these pages:

How to get the software

The software is available as both classic installation packages and container images.  For the complete list of available installers and container images, please refer to the Supported Platforms webpage.

Fu

0
0 230
Article Muhammad Waseem · Jan 16, 2024 2m read

In the context of HL7 FHIR (Fast Healthcare Interoperability Resources), the terms "id" and "identifier" refer to specific elements used for identifying resources within the FHIR data model. For a newbie, these terms can be confusingly similar, but they serve distinct purposes.  

Look at the below Patient resource for August T. Faulkner:

The resource has an id of “1” — generated by the FHIR server when the resource was created.
Patient August T. Faulkner also has a identifier (Medical Record Number) — possibly provided by the hospital — of 78510398960

0
0 1083
Article Anssi Kauppi · Jun 30, 2020 3m read
Many organisations implement centralised log management systems to separate and centralise the log data in order to e.g. automate threat detection (and response) and to comply with regulatory requirements. The primary systems of interest are the various user facing applications, but increasingly also other kinds of systems including integration platforms.

What comes to the data platform (not the user facing application) most of the the events of interest/required are available as predefined system audit events in audit log - out of the box. They just need to be enabled. The rest are generally

2
2 520
Question Oliver Wilms · Jan 11, 2024

Hello, I tried to convert HL7 message to JSON in a business process and I got errors. Has anybody converted HL7 to JSON? Are certain characters not allowed in JSON?

I just tried to set a property to quote request.RAWContent and quote. I will try to put example in GitHub and share here later.

5
0 1247
Question Ali Chaib · Jan 15, 2024

We are in the process of installing a FHIR server on our InterSystems interface engine and have encountered a few questions. Your expertise and insights would be greatly appreciated:

  1. Automatic Handling of Requests and Responses:
    • Is installing a FHIR server sufficient to handle requests (POST, GET, PUT) automatically without manual intervention? Can we expect automatic creation and updating of resources based on incoming requests?
  2. Storage of FHIR Resources:
    • Where are FHIR resources typically stored? Is it in a database, global arrays, or another form? Are there tools available to vi
2
0 184
Question Scott Roth · Jan 13, 2024

I am trying to work on a ZMIRROR that will execute a shell script to failover our VIP at the hardware level when NotifyBecomePrimary occurs.

ZMIRROR ; Custom logic for specific mirroring eventsq;
NotifyBecomePrimary() PUBLIC {
 #;This procedure is called as a notification when this system becomes Primary.
 #;It does not return any value.
 #; invoke the command to select this host for running the crontabtry {
	Set cmd = "/usr/local/sbin/failover-intengtest-vip_SR"d$ZF(-100,"/SHELL /LOGCMD /STDOUT=/archive/logs/failover-intengtest-vip.log""",cmd)
    }
 catch e {
     d
4
0 261
Announcement David hay · Jan 14, 2024

clinFHIR is a web application that has been developed pretty much over the same time as FHIR has. 

Originally developed to help clinicians visualize FHIR (hence the ‘clin’ in the name) it has become more widely used by the FHIR community for learning FHIR and assisting with design. It is maintained by David Hay - one of the FHIR Management Group co-chairs with support from InterSystems, which is much appreciated!

There are 4 modules that may be of interest to participants in the upcoming Interoperability contest.

  • The Patient viewer for looking at an individual patients records
  • Server Query which makes RESTful API calls against a FHIR server displaying the result in different formats
  • Bundle Visualizer which will display the contents of a bundle
  • Graph Builder which allows you to build graphs of interconnected resources.

I’ve created a longer post on google docs that goes into a little more details of these modules, with links to other resources such as my blog and the R4 Specification and R5 FHIR specification. I’ll be enhancing that over time - feel free to comment.

A note with regard to FHIR versions. The latest version is R5 (release 5), though many in the community still use R4. In most cases, if you're not sure then use R4. If you're not sure which version a FHIR Server supports, examine its CapabilityStatement which you can get from the server endpoint [host]/metadata

I should also point out that clinFHIR doesn’t currently use SSL. It is on the roadmap, but there are a few issues to work through. The consequence of this is that if you enter ‘clinfhir.com' into the browser, it may not find it. You sometimes have to specify http://clinfhir.com/

If you need further assistance, I would alway recommend using the FHIR chat, and if your question / comment / suggestion is related to clinFHIR then there’s a specific stream there.

0
0 428
Question Scott Roth · Jan 13, 2024

Within a DTL is it possible to access and update the Message Header properties of an EnsLib.HL7.Message?

Currently we have multiple EMR Services for each environment sending to 1 Business Process to Normalize the data, then it is sent to another Business Process to route the data. 

Since the SourceConfigName changes with every send to a Business Process, I am looking for a way to maintain the SourceConfigName of the SessionID so I know how to direct the message. Whether I pull the SourceConfigName into a field not being used in the HL7 Message, or I set another Header or Body property to the

7
0 678
Question Ephraim Malane · Jan 12, 2024

Hi Community,

I am attempting to create a new table by executing a SELECT statement that involves joining multiple tables. However, I encountered an error during execution: '( expected, AS found^Combined AS.' I would also like to create a cube based on this SQL table. However, during the cube creation process, I am prompted to specify a source class, and I'm unsure which class to use as it requires an existing class. Could you please help me identify the issue with the table creation, and provide guidance on selecting the appropriate source class for the cube creation?"

Feel free to let me k

1
0 227
Question Dmitry Vaysbeyn · Sep 11, 2023

[InterSystems IRIS SEVERE ERROR HSFLIVE] [Utility.Event] ISCLOG: WorkMgr CountWorkers: Found dead job ns=%SYS rtn=%SYS.WorkQueueMgr  data=$lb("job","3209241","jobnum",67,"group","Run","category","SYS","breadcrumb","","jobtype",59)

Did anyone else get this type of alert?

3
1 475
Question Scott Roth · Jan 11, 2024

I am trying to write a ZMIRROR routine that makes a shell script call using $ZF

Set cmd = "/usr/local/sbin/failover-intengtest-vip"Do$ZF(-100,"/ASYNC /SHELL",cmd)

The script I am calling is returning an output to the screen, how do I get around this using $ZF without having to rewrite the scripts?

Thanks

Scott

2
1 251
Article Megumi Kakechi · Jan 11, 2024 2m read

InterSystems FAQ rubric

This error occurs when an instance of the class is already open at compile time.

There are two ways to deal with this issue:

  1. Terminate the process or application that has the instance open
  2. Compile options in the studio build menu: Check the compile flag “Compile classes in use” and compile.  

If you want to determine which process is using the class, try the sample routine below.

/// Test.mac
search(classname) public {
    Set pid=""
    Set pid=$order(^$Job(pid))
    While pid'="" {
        Do checkVars(pid,classname)
        Set pid=$Order(^$Job(pid
1
0 221
Announcement Larry Finlayson · Jan 10, 2024

Developing with InterSystems Objects and SQL – IN PERSON (Cambridge office) February 12-16, 2024   9:00am-5:00pm US-Eastern Time (EST)

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems development environment to build high-performance transactional applications. Learners build a complex application using an IDE, object-oriented design, SQL and unit testing.
  • This course is applicable for users of InterSystems IRIS Data Platform and Caché.
  • Many benefits are offered by being physically in the classroom with our instructors for a more personaliz
0
0 158
Question Lewis Houlden · Jun 30, 2023

Hello

We are in the process of upgrading to 2023.1 for InterSystems Health Connect, and the Business Rule Engine editor is very difficult to use compared to 2022.1. It's difficult to scan over the rules as it all looks the same style with barely any distinction between rules, constraints, conditions, whens etc. There's also tonnes of whitespace, and searching on the page is hit and miss (using Ctrl + F) . I can see the previous editor is still available when you modify the URL, but I'm wondering if we can set it to be the default editor, and if this is something supported.

Thanks

Lewis

7
1 663
Question Sylvain Guilbaud · Jan 5, 2024

Hello,

I have been facing a problem for several months, I have several flows that work in SFTP with the iris class EnsLib.FTP.PassthroughService

The problem is that from time to time I get an error message that says:

"A connection could not be established because the target computer expressly refused it"

I had the case for a server at our house and we solved the problem by extending the call interval parameter to 60 seconds,

However I have the same error for an external server with exactly the same configuration as the first flow, I contacted their infrastructure department who told me th

3
0 461
Question Sylvain Guilbaud · Aug 23, 2023

Is it planned that LOAD DATA takes into account several DATE/DATETIME formats with, for example, a parameter indicating the format used in the source data?

example :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
3
0 261
Article Sylvain Guilbaud · Jan 8, 2024 3m read

Hello Community,

When using an SQL type Business Service, it may happen that we need to replay certain rows from the source table.

Let's take as an example the Business Service "from customer SQL" using the generic class EnsLib.SQL.Service.GenericService

Different cases arise, depending on the settings used on this Business Service.

First case :

If the Business Service only uses a KeyFieldName

In this case, to reprocess IDs 123, 456 and 789, it will be enough to delete them from the global ^Ens.AppData for the Business Service concerned on the "adaptor.sqlrow" reference:

kill

0
1 445
Question Julian Matthews · Dec 21, 2023

Hi everyone.

I have a few processes where I rely on them being triggered by a schedule to run, and in the past I have relied on the following setup:

The Scheduled Task is a custom class that runs a minimal amount of code to simply create and send the specified service an Ens.Request, and equally the Service is also a custom class that simply passes the Ens.Request to the Process for it to kick the process off.

As scheduled tasks need to be configured on a per-mirror basis, I'd like to do away with it completely and simply have a service that just sends the Ens.Request to the Process based

8
0 658
Article Megumi Kakechi · Jan 4, 2024 1m read

InterSystems FAQ rubric

If a relationship is set and there is a large number of n in a 1:n ratio, a large amount of memory may be consumed due to sequential processing of the relationship.

After referencing a many-sided object in a program and internally swizzling it, simply releasing the variable containing the OREF (deleting it, setting another value, etc.) will not free the many-sided object and the relationship object. This is the cause.

To free them completely from memory, you need to explicitly free them by freeing the OREF variable and executing the Relationship object's %UnSwizzleAt

0
0 342