When using INSERT OR UPDATE command,
How does the command know if the row exists?
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.
When using INSERT OR UPDATE command,
How does the command know if the row exists?
A tool (^GLOBUFF utility) is available to check the database cache usage for each global variable.
You can run the utility directly or programmatically in the %SYS namespace.
Here's how to run the utility directly:
You can set the maximum size of the IRISTemp database at IRIS startup by setting a configuration parameter called MaxIRISTempSizeAtStart.
After setting, the system will truncate IRISTemp to the set value (MB) at the next IRIS startup. If the current size is less than the specified MaxIRISTempSizeAtStart, no truncation will occur. Also, if 0 is specified, truncation will not be performed, so the size will start without changing. (Default) Settings are made from the menu below.
In my previous articles, I described my Command Line Extension to NativeAPI.
Of course, this is also available for any other NativeAPI package.
So I created this example as a demo for the actual Java Contest.
The package contains also an IRIS server in Docker for the demo
It is evident that it also works with any remote IRIS server.
You just have to provide it with my NativeAPI CommandLine Extension.
I think this demo is easy to follow and shows the essential features.
This is the related article to the package in Java Contest.
I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.
To create a user-defined error you need to prepare the XML that describes the error code and corresponding message that you want to use as a user-defined error.
Please set the error code as a negative integer.
<?xml version="1.0" encoding="UTF-8" ?>
<MsgFile Language="en">
<MsgDomain Domain="UserErrors">
<Message Id="-111" Name="MyError">An error has occured</Message>
<Message Id="-222" Name="MyError2">An error has occured 2</Message>
</MsgDomain>
</MsgFile>
Once the XML file is created, load it into the namespace you want to use.
The 2023.3 releases of InterSystems IRIS Data Platform, InterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available (GA).
2023.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in this release:
Journal Archiving: Starting with this release, system administrators can now configure an archive location for completed journal files.
Which process notify Web Gateway when to switch to secondary/mirror IRIS? I'm trying to debug a case when the web gateway doesn't know about primary IRIS failure and is trying to send request to that instance which is causing 500 error. Also, no clue why at the same time I see that GET request to /csp/bin/mirror_status.cxw will return 200 OK.
Our setup is 2 web gateways, primary IRIS, secondary/mirror IRIS and an arbiter.
After some trials, I am comfortably on my way developing spec first REST APIs using /api/mgmt/, OpenAPI 2.0, testing with Postman.
My question is related to scaling up.
Assume these things:
- Our software is CSP web app and it's web application is '/csp/application'
- I created a new REST enabled web app called '/csp/application/v1' and for my first API I created a spec that defines an endpoint /getTeapots so the endpoint is localhost/csp/application/v1/getTeapots
- Using the /api/mgmt/ endpoint, I loaded the spec into API.TeapotLibrary
- The dispatch class in '/csp/application/v1' thus is 'API.
We recently published a new White Paper on the use of reporting nodes ("asynchronous reporting mirror members" in full) in a mirrored environment. More and more customers are looking into this mechanism as a quick and easy way to set up a copy of their production data that stays current, yet can be used for analytical querying or heavy-duty reporting workloads without impacting the source system. Read the White Paper here.
Hi Community,
Watch this video to learn how to use the GitUI plugin in the HealthShare Health Connect Cloud user interface to make changes to your interfaces in the Management Portal and commit them directly to your source control workflow.
Hi Community,
Watch this video to learn how to use source control for your Health Connect Cloud interface development via the GitLab repository that comes with your deployment.
InterSystems would like to optimize IRIS to take advantage of modern CPU instruction set extensions. That’s great for product performance, but how do you know if your CPU will still be supported for new IRIS builds? Here’s how to know your CPU’s microarchitecture family as well as how to find out your CPU’s specific instruction set extensions.
This is probably not the right place, but I don't know who I can reach out to... I am trying to configure an Apache/Web Gateway to our instance of IRIS so we are no longer using the built-in PWS. Can anyone point me in the right direction to configure Apache/Web Gateway to repoint
http://<server name>:52773/... to the https://<server name>/...
gateway so our users will not notice? How do I do this in Apache, do I need to modify httpd.conf or the ssl.conf file? What is the correct syntax...
This is what I tried to do in the httpd.conf file
<VirtualHost *:52773>
ServerNameWe are moving away from Delegated Authentication in which I stored a username and password for our LDAP in a GLOBAL to be called by ZAUTHENTICATE.
Is there a way to pull in that GLOBAL into the LDAP Configuration within the Managment Portal instead of having to manually enter it? There seems to be an issue with Copy/Paste that the password isn't being set correctly when I use Copy/Paste.
Else I just export/import the LDAP Configuration from 1 server to another and manually update the Certificate to point to the correct file.
Thanks
Scott
Is there a size limit to what a %Library.DynamicObject define variable can hold?
You can hide the source by exporting/importing only the *.obj that is generated after compiling the source program.
The command execution example specifies EX1Sample.obj and EX2Sample.obj, which are generated by compiling EX1Sample.mac and EX2Sample.mac, as export targets and exports them to the second argument file.
After moving to another namespace, I am using the exported XML file to perform the import.
USER>do $system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","D:\routine.InterSystems announces its fourth developer preview for the 2023.3 release of InterSystems IRIS® and InterSystems IRIS for HealthTM.
Future preview releases are expected to be updated biweekly and we will add features as they are ready.
Please share your feedback through the Developer Community so we can build a better product together. Initial documentation can be found at these links below.
Hello Community,
The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems HL7® Interface Specialist Recertification Project If you hold the InterSystems HL7 Interface Specialist certification AND your certification's expiration date is within 6 months of today's date, you can get recertified by successfully completing the recertification project. Completing an InterSystems recertification project is one of two options a certification candidate can choose to get recertified (the other option is to take the new version of the exam).
Hi colleages!
This is very easy to setup a FHIR server in InterSystems IRIS for Health.
It could be even one IPM command with this package:
USER>zpm "install fhir-server"
But which FHIR portal could you recommend to use?
I used to work with this one, which is very easy to install too:
USER>zpm "install fhir-portal"
but it doesn't work at the moment and I'm not sure if its main contributors @José Pereira and @Henrique Dias plan to support it.
What do you use? What do you recommend? Ideally installable with IPM package manager. Thanks!
Hello Community
IRISTEMP database consumes more disk space and make the production instance down when running Bulk SQL queries (maybe other processes aswell)
Is setting up the "Maximum" size it resolves the problem?. Is this setting impacts the performance?
What are the approaches to resolve it
sample screenshot
.png)
Hi,
An exception occurs randomly. I expect the value of ^TEST to be 20, but it's not. Did i miss something like closing, flush the stream or locking the global?
Exception
<ILLEGAL VALUE>%SaveData+15^%Stream.GlobalCharacter.1×PRAX1Í+^%SaveData+15^%Stream.GlobalCharacter.1^1)e^%SerializeObject+6^%Stream.Object.1^2e^%Save+9^%Stream.Object.1^93e^zCopyFromAndSave+58^%Stream.GlobalCharacter.1^1e^test+11^ry^1e^test+3^ry^4d^^^0
Testcode
test
n glob s glob=$na(^TEST) k @glob
n file s file="C:/temp/file.xslt"
n i f i=1:1:20 w !,$$save(file,glob)
q
save(file,glob) {
s fs=##class(%Stream.Does the Version of the Web Gateway have to match the version of IRIS that is currently running? Or are they independent of each other since they are different components? I am looking to install the Web Gateway (non-PWS) as we move forward with securing our Management Portal and VS Code connections using TLS.
Thanks
Scott
I am very new to IRIS. We are developing a PHP application that connects to an IRIS instance of one of our vendors. I am having trouble with a specific table. When I need to query this specific table for specific fields, I am receiving an error. However, if I change the call to get all columns (`*`), there is no error. I get 37K records returned.
Error:
PHP Fatal error: Uncaught PDOException: SQLSTATE[SL009]: <<Unknown error>>: [unixODBC][Driver Manager]No columns were bound prior to calling SQLFetch or SQLFetchScroll (SQLFetchScroll[0] at /builddir/build/BUILD/php-8.1.InterSystems will end support for using the VxFS filesystem with InterSystems IRIS and label it as deprecated as of the release of InterSystems IRIS 2023.3. InterSystems will continue to support any existing customers using the technology, but it is no longer recommended for new deployments.
VxFS had only been supported on SUSE Linux. Impacted customers are encouraged to migrate to XFS or another supported filesystem.
Customers with questions should reach out to their account team or contact me directly.
Information on properties defined in a class can be obtained using the following system classes:
%Dictionary.PropertyDefinition
The code description example is as follows.
Class ISJ.Sample
{
ClassMethod getPropInfo(classname As %String)
{
set cls=##class(%Dictionary.ClassDefinition).%OpenId(classname,,.status)
if $$$ISERR(status) {
write "Specified class does nt exist",!
quit
}
set x=cls.Properties
for i=1:1:x.Count() {
// Get property info (%Dictionary.We would like to know how to get the Row Count of the SELECT query. We query external database via ODBC connection.
//tSQL- is a select query.
Set tStatus = ..Adapter.ExecuteQuery(.tResult,tSQL)
We are trying to get the row count of the retrieved records as below; but It doesn't return any value.
tResult.%ROWCOUNT
$$$TRACE("Result set returned with "_tResult.%ROWCOUNT_" row(s).")
CentOS will no longer be a supported development platform as of the release of InterSystems IRIS 2023.3.
CentOS had been a supported development platform to give developers a free-to-use equivalent to Red Hat Enterprise Linux (RHEL) for IRIS development. As you're probably aware, Red Hat made significant changes to CentOS which moved it to being “upstream” of RHEL. This means it has bugs & features not yet included in RHEL, which can cause problems for developers building on the platform.