Article Davi Massaru Teixeira Muta · Apr 10, 2024 3m read

If you have system tables implementing the "VERSIONPROPERTY" functionality, you may encounter error 5800. This article explains how this error occurs and provides solutions to resolve the issue.

When version checking is implemented, the property specified by VERSIONPROPERTY is automatically incremented each time an instance of the class is updated (either by objects or SQL).

For example:

ClassMethod RunVersionChange() As %Status
{
    Set sample = ##class(dado.TblSample).%OpenId("42")
    Write !,"VERSIONPROPERTY value: "_ sample.VersionCheck
    
    Do sample.StatusSetObjectId("AL")
    DO s
0
0 300
Announcement Larry Finlayson · Apr 10, 2024

Developing with InterSystems Objects and SQL – IN PERSON (Cambridge office) April 29-May 3, 2024   9:00am-5:00pm US-Eastern Time (EDT)

  • 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 94
Discussion Vadim Aniskin · Apr 10, 2024

Hi Developers!

With InterSystems IRIS Cloud SQL recently becoming Generally Available, some of you may have had a chance to try it out. Or maybe you used it for your contest entry or during the EAP period. We're curious to learn what YOU think of it. So, have you already tried the new service InterSystems IRIS Cloud SQL

We have launched a new Ideas Portal category dedicated to this database-as-a-service (DBaaS) where we're looking for your ideas on how we can improve InterSystems IRIS Cloud SQL. 

Or share your experience with the service in the comments to this post. 

   

0
0 140
Question Michael Davidovich · Mar 21, 2024

Hello,

I have my server setup a resource server.  When a user calls our API they submit a bearer token as authorization and in our dispatch class AccessCheck() we validate the JWT using ##class(%SYS.OAuth2.Validation).ValidateJWT()

If I include a scope to check in that method I get the error Scope check may only be done on requesting client and I'm not sure what this means. The method works without include the scope and will let me know if I have an unsigned token or an expired token.  

I noticed that the implementation of the method calls Set token=##class(OAuth2.AccessToken).Open(access

5
0 383
Question Kurro Lopez · Apr 9, 2024

Hi community,

I'm calling to a API that it is retrieving the content of a file as Content of response. I'm catching the binary but I need to convert this Stream to a Base64 string.

I'm trying to convert a %Stream.GlobaBinary to a Base64 string using the following code, but it doesn't work.

do stream1.Rewind()
set response = ""while 'stream1.AtEnd {
    set temp=stream.Read(4000)
    set temp=$system.Encryption.Base64Encode(temp)
    set response = response_temp
}

The content is not correctly converted to Base64

Also, I've tried to convert it as dynamic JSon and get the stream as

6
0 677
InterSystems Official Fabiano Sanches · Mar 19, 2024

The 2024.1 release of InterSystems IRIS® for HealthTM, and HealthShare® Health Connect is now Generally Available (GA).

❗This announcement does not apply for InterSystems IRIS®

Release Highlights

In this release, you can expect a host of exciting updates, including:

  1. Support for Smart on FHIR 2.0.0
  2. FHIR R4 object model generation
  3. Improved performance of FHIR queries
  4. Removal of the Private Web Server (PWS)
  5. and more.

Please share your feedback through the Developer Community so we can build a better product together.

Documentation

Details on all the highlighted features are availab

6
0 408
Question Nezla · Apr 8, 2024

Hi Guys,

Any Idea on how can make a dynaTree with 4 levels hierarchy (attached), I'm using the below code but sometimes works and other cases it doesn't?  

Set locId=..locId,pos=1,(pLineArr,astArr,compArr)=""
&Sql(Select Parent->Name,ID into :Fac,:kLoc from MSDS_COM.Loc where Parent=:locId)
Set:SQLCODE (Fac,kLoc)=""Set pTree(0,"ch",1) = ""Set pTree(1) = $LB(Fac,locId,1,"","")
Set Sql="Select ProductLine from MSDS_Serenity.ProdLineDetails where Active=1 and Loc="_kLoc_" group by ProductLine order by ID"Set RS = ##class(%ResultSet).%New()
Do RS.Prepare(Sql)
Do RS.Execute()
While 

1
0 131
Question Colin Brough · Apr 8, 2024

We are writing a custom Business Operation to interact with a downstream SOAP web-service. Classes for the SOAP operation were originally generated using the SOAP Wizard, then modified. This is functioning OK, but we'd now like to set the ReplyCodeActions setting on the operation and are struggling to make it visible via the management portal. How can we achieve this?

The classes are structured like this:

  • The Operation uses class TNHS.SOAPclassExtra
  • TNHS.SOAPclassExtra  Extends TNHS.SOAPclass
  • TNHS.SOAPclass  Extends Ens.BusinessOperation
  • Ens.BusinessOperation has a property ReplyCodeAct
1
0 238
Question Julian Matthews · Apr 8, 2024

Hi everyone.

Is there a sensible approach to having a lookup table in Namespace A, and then accessing this from Namespaces B, C, D (etc)?

I'm trying to avoid creating a Global mapping of the lookup table global (^Ens.LookupTable) as I fear that it would then link all other lookups in that global and lead to some unexpected behaviour, but would be open to trying something in this realm if it's the best option.

Another approach I have considered is creating a custom lookup function that is run from the secondary namespaces that does some namespace hopping, but it feels messy. Something like:

4
0 415
Question Norman W. Freeman · Oct 30, 2023

The following code call the method of the same name as defined in the nearest superclass:

Class MyClass Extends%Persistent
{
  ClassMethod Foo()
  {
  }
}

Class SubClass Extends MyClass
{
  ClassMethod Foo()
  {
      do##super() // <----
  }
}

Not let's say I want to call Foo() super class method but from another method :

Class SubClass Extends MyClass
{
  ClassMethod AnotherMethod()
  {
      do##super().Foo() //will not work
  }
}

This is possible in some other programming languages such as C# or Java.

I cannot find anything in documentation

8
0 647
Announcement Larry Finlayson · Apr 8, 2024

HealthShare Patient Index – Virtual April 30-May 2, 2024   9:00am-5:00pm US-Eastern Time (EDT)

  • This 3-day course teaches the installation, configuration, and use of HealthShare Patient Index.
  • Day one focuses on patient identification issues, and the tools that can be used for reviewing records identified by the system for human attention.
  • This session is appropriate for both technical staff and administrative staff who manage patient identification issues. Day two starts with installation, and in the course of two days moves through the initial configuration of a system, the process for
0
0 89
InterSystems Official Fabiano Sanches · Apr 8, 2024

InterSystems has encountered a defect that causes some upgrades of HealthShare® Health Connect to fail. This only affects instances that are not licensed for the use of FHIR® and that have interoperability-enabled namespaces. Under these conditions, the upgrade fails with an <HSFHIRErr> error.

This defect only impacts upgrades to version 2024.1 of HealthShare Health Connect.

The affected version, 2024.1.0.263.0, has been removed from distribution.  A new Point Release is available:

Original posting Point Release
2024.1.0.263.0 2024.1.0.264.1

If you have any questions

0
0 166
Announcement Rob Tweed · Apr 5, 2024

Hot on the heels of our announcement last week about our ultra-high-performance mg-dbx-napi JavaScript interface for IRIS, we are now pleased to announce a significant new technology - mg_web - which not only represents a new paradigm for JavaScript Web Frameworks, but also delivers significantly higher performance than even the fastest of the established Node.js Web Frameworks, whilst leveraging all the benefits of the big-three industry-standard Web Servers.

Designed with the use of mg-dbx-napi in mind, it's allows straightforward creation of robust, high-performance server-side JavaScript

1
3 361
Announcement Olga Zavrazhnova · Apr 8, 2024

InterSystems' team is heading to the MIT Hacking Medicine GrandHack 2024, taking place from April 19-21 2024!

MIT GrandHack is a premier event that brings together innovators, entrepreneurs, and healthcare professionals from around the world to collaborate on solving some of the most pressing challenges in healthcare through technology and innovation.

InterSystems is pleased to sponsor and support this event, offering our technology to hackers and presenting the "The GenAI in Healthcare" challenge.

We're excited to see the innovative projects that will arise from this event!

0
0 232
Question Jani Hurskainen · Apr 2, 2024

EnsLib.File.PassthroughOperation has File Name property with default value: %f_%Q%!+(_a)

The Management Portal documentation description of the property:

Name of file to output the document(s) to. May include timestamp specifiers. The %f specifier if present will be replaced with the name of the document's original source filename (stripped of characters illegal in target filenames).

See the method Ens.Util.File.CreateTimestamp() for documentation of timestamping options.

More documentation describing the behaviour of %f: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Pa

5
0 359
Question Carl (booz Allen) Deitrich · Mar 5, 2024

We have JSON type data in a Dynamic Object.  Is there a simple way to export / dump that data to a delimited string or file?

e.g.

Results={"ClassA":{"ClassName":"ClassA","ACount":367191880,"BCount":367191880,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}
"ClassB":{"ClassName":"ClassB","ACount":5352149227,"BCount":5352149227,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}}

6
1 487
Question Joe Jones · Mar 17, 2023

Hi Community,

I am trying to read a JSON file and convert into HL7 message.Please find the example below

Set Jsonobj={"Doctype":"ADT^A01","PatientId":"123","PatientName":"Alex"}

Set Dynjsonobj=##class(%Library.DynamicObject).%FromJSON(Jsonobj)

Error :<THROW>%FromJSON+37^%Library.DynamicAbstractObject.1 *%Exception.General READ error while reading input stream 10 Line 1 Offset 0

I am getting this error while reading the file,Can you please tell me where i am doing wrong in converting the file?

Joe

9
0 1261
Question Corentin Blondeau · Mar 7, 2024

I would like to compare two Registered Object and list the properties that differ.
For now, I achieve this :
 

ClassMethod AssertObjectEquals(object As%RegisteredObject, objectToCompare As%RegisteredObject, Output msg As%String) As%Status
{
        Set returnValue = 1// check if same classSet className = $CLASSNAME(object)
        If (className '= $CLASSNAME(objectToCompare)) {
                Set returnValue = 0Set difference = "not same class"
        }

        If (returnValue) {
                // Get the definition to browse properties
6
0 453
Article Theo Stolker · Jan 15, 2024 1m read

I though this is a pretty cool way of installing webterminal in an environment where I had Management Portal / Visual code access, but I had no terminal access. zpm was already present. otherwise you could add it in the same class.

  1. Create the following class file
  2. Compile. This will take a while, and then you will see the output from zpm!
  3. You can now open the webterminal by opening http://your-host/terminal/
Class Theo.Util.Webterminal Extends %RegisteredObject
{

/// Description
ClassMethod install() As %Status [ CodeMode = objectgenerator ]
{
    zpm "install webterminal"
}

}
7
1 516
Question Sylvie Greverend · Apr 6, 2024

It is probably somewhere in the doc. So hard to search. Hope InterSystems going to AI on their community/support data. 

How to see a meaningful value in management portal - sql explorer. For instance
Class MySetting Extends %Persistent{
     Property Name As %String;

Class MyObj Extends %Persistent{
    Property Setting As MySetting;

When browsing MyObj in management portal (just select * from MyObj - lazy to do a join), I will see 1,2.. values in the Setting column. I would like to see the Name. I do not want index MySetting with Name as primary as the name can change

Thank for your comment.

1
0 156
Announcement Anastasia Dyubaylo · Apr 6, 2024
0
0 114