Question Mark OReilly · Nov 7

Trying to check date in DTL. 

Want to throw a custom error not the default one from the $ZDTH. It does in the try as will write "Error" when testing the DTL but the actual error not showing. Report errors is turned on.  I also tried the THROW logic from best practices but that doesn't work either. $SYSTEM.Status.DisplayError(status) does display what the error should be returned. 

0
0 0
Question Mark OReilly · Oct 27

We are trying to mark a hl7 nack as "completed" to ignore an error and not generate the alert. 

We can remove from adding a managed alert or add another router in 

When Nack of CR of 

Date of birth in PID.7 must not be empty

We tried via this but i think it's only for an actual IRIS alert errror not the HL7 error code/description 

E*Date of birth in PID.7 must not be empty=C,:?CR=C,:?R=RF,:?E=S,:~=S,:?A=C,:*=S,:I?=W,:T?=C

0
0 0
Question Mark OReilly · Oct 8

Hi:

I see a lot of cool REST apps and i'm trying to host something in the TIE using REST/Axios with VITE. 

At the moment i will probably host the application in web applications in Intersytems. 

For authorisation and getting the logged in user and password to any app, is there a standard people are doing? 

I.e. for axios you might have this from the app

auth: {
        username: apiUser,
        password: apiPass
      }
0
0 0
Question Mark OReilly · Jul 15

As foreign tables are behind a paywall (booo); we have a external cache system using the intersystems ODBC driver or usually a .jar CacheDB.jar. 

The requirement is :

"Create a copy of the external table once a day to perform comparisons to detect changes"

We could go full code and this is what we will do but trying the following should ideally work 

CREATETABLE Sample.YoungPeopletwo ASSELECT *
FROM Pennine_TIE_Clinicom_Link.PMISPECIALREGNCA
WITH STORAGETYPE = COLUMNAR

This resulted in 

0
0 0
Question Mark OReilly · Apr 4

Does %OSCertificateStore only check the trusted root folder in windows?

Can it be used for Personal store on servers or is there another condition can be used? 

Used it for a first time and writing a function to check specific ones being used for expiry but had one this week that was to be installed in personal rather than the trusted root and didn't know if stating OSCertificateStore or a url otherwise to look in the personal installed certs on the server could be used instead so stuck with the original way (which can get confusing)

0
0 0
Question Mark OReilly · Feb 4

When removing a segment in DTL for hl7 using foreach the segment doesn't actually get removed and leaves a blank segment. 

i.e. 

MSH|^~\&|SendingSystem|ReceivingSystem|202301241000||ADT^A01|12345|P|2.4
EVN|S|202301241000
PID|1|MRN12345|1^^^^KEEP~2^^^^Remove~3^^^^Keep|M|19800101|  
PD1|PatientAddress^Street^City^State^Zip
PV1|I|INPATIENT|BED123|DoctorID|202301241000|202301241000

This blank segment to be removed

0
0 0
Question Mark OReilly · Dec 16, 2024

When implementing deferred response there was a problem initially with a few responses which meant we had blank jobs spawned somehow. How do you get rid. All the operation does is:

SET sc =..SendRequestAsync($piece(..ForwardComponentNames,",", i),pRequest,1)

These all sent ok and tried to update status to 9 from 6 hoping it would clear the blank jobs but it didn't . The original issue has been resolved weeks ago. 

0
0 0
Article Mark OReilly · Dec 13, 2024 5m read

As part of the Open Exchange competition Salford Royal (Dean White and Mark O'Reilly) developed a REST API for sharepoint as a template that works but can also be a starting point to your own Rest Applications 

Prerequisites

This is using the v1 REST sharepoint API you need a tennant id, client id, client secret and tennant name 

Setup 

Configure an OAuth server

 

The code in the middle is the tennant ID 

Create a client config name as whatever you want 

Set up the oauth client replacing your server ip with the ip of the server you are on (not the VIP address- if not part of a VIP localhost may work) 

0
0 0
Question Mark OReilly · Oct 25, 2024

We have a scenario where we use the best practice article of a BP and DTL to split up HL7 messages mainly ORUS 

https://community.intersystems.com/post/splitting-oru-messages-using-ob…

It is really useful but we have this code in many places that we are trying to consolidate it in one place. 

We do not want to split it at the first stage in our rules as there is a lot of messages that go to sink. So we are trying for specific rules and the incoming hl7 matches certain rules and classified for certain downstream systems that it is then split and transformed. 

0
0 0
Question Mark OReilly · Aug 30, 2024

As part of fully decoupling code we send a snapshot from a business service (running a SQL statement). 

sql service                         Processor                                File Out

This is picked up by a processer and puts it into a file .txt. 

Issue is if you open it up via the SQL.snapshot message as this is 46,819 rows it'll take too long to respond to opening up the sql.snapshot in the message viewer when viewing the session if looking from the business service 

Is there any way to not have this xml open up in full in the portal? I.e. have a see more? 

0
0 0
Question Mark OReilly · Jul 31, 2024

Hi:

I have been adapting the IRIS WHIZ addon as part of the contest. I will soon fork the code on github so the changes are available. 

The next phase is I am storing the date from and to time for a more complete search cache 

zenPage.getComponent(36).value

it works in the chrome console ok 

I'm not sure in external JS how to set the page it is on as a zenpage to use the zenpage functions

0
0 0
Question Mark OReilly · Jun 12, 2024

Hi:

We are looking again into DB size. Looking at our Ens.MessageHeaderI GSIZE is 3767107

Looking at the global i'm not sure if we have had an issue in the past so much of the data looks the same, we only have 3 values in the  $zwc and although some of the data in the $c between 1 and 18630 it looks very similar as if there was an issue in the past. But if anyone has any examples of their index param this would help to know if our global is abnormal. 

Data below 

0
0 0
Question Mark OReilly · Apr 19, 2024

In message bank how do you search within XML? XML is imported on message bank so that side is ok as can see it like below

On source system message viewer finds message

On Message bank it doesn't 

More basic queries using the MessageHeader will work so the filters do work just must not be using the right one (if it is possible) to query the XML message 

0
0 151
Question Mark OReilly · Feb 16, 2024

*** updated from a comment as original question may not have been clear**

To clarify my question this is the library property helper class Library property helper when you look at the documentation for computed from documentation here Computed documentation

ClassMethod FullNameComputation(cols As %Library.PropertyHelper) As %String
{
    return cols.getfield("FirstName")_" "_cols.getfield("LastName")
}
// ...
0
0 243
Question Mark OReilly · Dec 12, 2023

When running a sql insert query with CONVERT('datetime', '2023-12-12 11:27:00',120) in an insert statement into a table this works on one server and not the other. 

i.e. to record datetimereceived 

Property datetimereceived As%TimeStamp(EXTERNALSQLNAME = "date_time_received", EXTERNALSQLTYPE = 93) [ SqlColumnNumber = 12, SqlFieldName = date_time_received ];

The gateway connections are the same, The one that works runs a v6 SQL server db the one that doesn't is the standard version 10 so although there is a mismatch i do not believe it would be this as the older setup works

1
0 164
Article Mark OReilly · Dec 8, 2023 2m read
Scenario

IRIS has the likes of SQL inbound adapters for use with SQL gateways such as EnsLib.SQL.InboundAdapter to repeatedly query SQL Gateway connections. A scenario appeared as that we wanted to query an Internal database for some data but did not see an out of the box service for this. 

Desired Approach

Have a Generic service that can poll internal SQL to work with downstream components.

How

What was not clear was "How do I send a result set downstream". It was not very clear as a resultset itself is not a peristent class and the object cannot be "Swizzled" an error like so 

0
0 334
Question Mark OReilly · Aug 15, 2023

We have this intermittent issue with a particular supplier message , just wondering if anyone has further insight around the two errors we get when we see this. 

We use the out of the box TCP hl7 adapter. 

We first seem to get this incomplete hl7 message resulting in an error like 

Discarding leftover input 'MSH|

This is not unexpected as the final obx has not dot the description of OBX:2.2 ect. 

OBX|53|TX|NCDAC^

The next message will have the error 

2
0 242
Question Mark OReilly · Jul 3, 2023

In show Query messages in the message viewer the head.%Id is always used. How do you do this via your own sql/objectscript as fast as the portal does a search as using dates searching Ens.MessageHeader on portal is slow. 

For instance if you try do a search saying (TimeProcessed >='2023-06-01 00:00:00.000' and TimeProcessed <'2023-06-02 00:00:00.000') it is slow but using the portal the search would know this is head.%ID >= 5344549861 AND head.%ID <= 5347641372. How do you utilize this in your own queries as can't see the logic in EnsPortal.MsgFilter.Assistant 

3
0 302
Question Mark OReilly · Apr 14, 2023

After any installs upgrades we get the following 

04/13/23-18:00:00:978 (18668) 0 [Utility.Event] d:\intersystems\healthshare\mgr\enslib\ (Database is readonly)
04/13/23-18:00:00:979 (18668) 0 [Utility.Event] d:\intersystems\healthshare\mgr\hslib\ (Database is readonly)

I think we must have before altered these to not read-only. 

Not sure if the isssue is by default 

-Running task as user with %ALL rather than SYS user

- Should the dbs be as default in the all backup list 

- Should these be not ro so it backs up without error? 

2
0 293
Question Mark OReilly · Feb 16, 2023

Hi we have started to get rid of orphaned data and would like to soon compact and truncate the database as will have about 40gb free to return to filesystem after the few weeks of running the new task. 

The idea would be to do this on the shadow server first of mirror rather than primary. 

Is there any reason this is a bad idea? Considering this needs done on both servers of mirrored db? As idea would be to do this on shadow server before we failover to the server a few days afterwards. And do the same for the month afterwards. 

3
0 226
Question Mark OReilly · Feb 3, 2023

Hi:

I don't understand how to use this open exchange item for auto creating deleting items. I think it assumes knowledge in the steps of how to use it which i don't get. 

Added the code into dev on  SRFT.Utility.DeleteHelper.OnDeleteSuper and SRFT.Utility.DeleteHelper.AddHelper  

current class is 

Class Messages.XML.GenericWif.fileparameters Extends (%Persistent, %XML.Adaptor)
{

Property revisionnumber As %String;

Property primarylink As Messages.XML.GenericWif.primarylink;

Property additionalindexes As Messages.XML.GenericWif.additionalindexes;

2
0 270
Question Mark OReilly · Jan 11, 2023

Is there an easy way to open classes in VS Code?

In studio you go open and just type the class name and it opens up the class. 

In VS Code need to know the full path, is there a quick way? It is probably the one thing preventing from using VSCode full time (apart from not seeing the .luts or csp files)

15
0 5250
Article Mark OReilly · Aug 31, 2022 2m read

Background 

Most websites have a "Fav.ico" file that sets what the icon is for the webpage. Most users have multiple environments, Dev/Test/Live. Often it can be difficult at a glance to see which environment you are in at a time. Wouldn't it be nice to visually see what version you are in? In this example all the instances are called the same and are named "ENSEMBLE". Note that this is certainly IRIS FOR HEALTH as is used on 2022.1 

The default Icon is IR

In this article we will change to logos to similar to the below 

Icon File

1
0 435