Hello,
We have the following code:
{
set ..MTOMRequired = 1 set ..SecurityOut.actor = "http://www.gobiernodecanarias.org/Platino/Authentication/1.0"
set ..SecurityOut.mustUnderstand = "1"
set ..SecurityNamespace = "http://docs.oasis-open.
InterSystems ObjectScript is a scripting language to operate with data using any data model of InterSystems Data Platform (Objects, Relational, Key-Value, Document, Globals) and to develop business logic for serverside applications on InterSystems Data Platform.
Hello,
We have the following code:
{
set ..MTOMRequired = 1 set ..SecurityOut.actor = "http://www.gobiernodecanarias.org/Platino/Authentication/1.0"
set ..SecurityOut.mustUnderstand = "1"
set ..SecurityNamespace = "http://docs.oasis-open.
In a HTTP operation, which extends Ens.BusinessOperation, EnsLib.REST.Operation, one can read the component's AlertGroups property by simply referring to it with "..":
.png)
set AlertGroup = ..AlertGroups //Do something with AlertGroup
"AlertGroups" is a property of Ens.Host. The above however does not work in a business process which Extends Ens.BusinessProcessBPL which extends Ens.BusinessProcess which extends Ens.Host.
First,
Forgive me if this is a rather low-level question - I am a physician informaticist who is learning cache/mumps for the first time. I am sure this probably relates to some setting but I can't find a similar issue anywhere.
When I create a list, and then try and return that list - I get a bunch of symbols back along with my results, or sometimes I just get symbols.
I pasted a screenshot below. Thank is advance for the help!
Anthony

Hi Developers!
Another way to start using InterSystems ObjectScript Package Manager is to use prebuilt container images of InterSystems IRIS Community Edition and InterSystems IRIS for Health Community Edition.
We deploy this IRIS images on DockerHub and you can run it with the following command:
docker run --rm -p 52773:52773 --init --name my-iris -d intersystemsdc/iris-community:2019.4.0.383.0-zpm
Launch a terminal with:
docker exec -it my-iris iris session IRIS
And install zpm-module as:
USER>zpm zpm: USER>install objectscript-math [objectscript-math] Reload START [objectscript-math] Reload SUCCESS [objectscript-math] Module object refreshed. [objectscript-math] Validate START [objectscript-math] Validate SUCCESS [objectscript-math] Compile START [objectscript-math] Compile SUCCESS [objectscript-math] Activate START [objectscript-math] Configure START [objectscript-math] Configure SUCCESS [objectscript-math] Activate SUCCESS zpm: USER>
And use same commands for InterSystems IRIS for Health using the tag: intersystemsdc/irishealth-community:2019.4.0.383.0-zpm
The images are being published on IRIS Community Edition and IRIS Community Edition for Health repositories of Docker Hub.
We will update tags with every new release of IRIS and ZPM.
Happy coding!
Hello,
We would like to get the XML which is being given by the requested system, directly to our Service output.
We have tried to just output directly the Message Response as follows:
Method findCandidatesXML(mensEntrada As %XML.GlobalCharacterStream(CONTENT="MIXED")) As Mensajes.Response.GestionPacientes.operacionResponse(XMLNAME="mensSalida") [ Final, ProcedureBlock = 1, SoapAction = "http://SCS.Hello,
We would like to store a list into a global. The need is to get the full Web Service's Response Message, because of currently, our Operation sends the message to the Process, whith an empty list:

We have created a copyList which is a clone of the list which is being returned from the web service client:
set copyList = pResponse.RSPK21QUERYRESPONSE.%ConstructClone(1)
$$$LOGINFO("copyList: "_copyList)
$$$LOGINFO("copyList count: "_copyList.Count())
$$$LOGINFO("copyList.GetAt(1): "_copyList.GetAt(1))
$$$LOGINFO("copyList.PID8: "_copyList.
How can I get the current date and time in the destination file when I'm using Stream.CopyFrom because Stream.CopyFrom preserves the date and time of the source file.
I am looking to run some analysis on existing software to quickly identify global variable references. Ideally you would feed in a "starting routine" and after going through all referenced routines you would end up with a finite set of global variables. So the primary purpose is to take say 10,000 lines of code and map out the referenced global structures without relying on a programmers eye. I found the post on Object Script equivalent to Studio "Find in Files" interesting but the downside is that output is too verbose and would require parsing to extract the global structures. How would you override writing to the terminal so that you could parse the data?
I'm looking into finding ways to fetch data from cache efficiently and work with it with python - specially pandas.
i tried the following but i'm wondering if this is the most efficient way?
to run the stored procedure as %ResultSet inside cache in a classmethod and serialize the data to JSON
and then call that class method from python
Class User.RegObj Extends %RegisteredObject { ClassMethod runAlpha() As %Library.DynamicAbstractObject { set QHi=##class(%DynamicAbstractObject).%FromJSON("{}") set rs=##class(%ResultSet).%New("User.Person:alpha") set pr=rs.Execute("","") set idx=0 while rs.
Hello,
We would like to submit a JSON using Ensemble. Here we have the JSON structure:
{
"app_id": "e47322de-64c8-43c5-a1b7-42aa6409eb48",
"headings": {"en":"Cita Atencion Primaria","es":"Cita Atencion Primaria"},
"subtitle": {"en":"C.P. ISORA","es":"C.P. ISORA"},
"contents": {"en": "Next appointment", "es": "Siguiente cita"},
"data":{
"centro": "C.P.
Hello,
I am wondering the best way to disable a user account using this class in Cache (Security.Users).
https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…
Example User Account = jhipp
Currently is Enabled
I know that we can use the auto-generated EnabledGetStored method, for example:
%SYS> w ##class(Security.Users).EnabledGetStored("jhipp")
1
There is not an auto-generated method to set this property, right?
I can modify this property with the Modify function, but I have to build a temp array with one value etc.

Constantinople in the 5th century AD
(It was possible for people to build grandiose buildings and vehicles without the use of computers and robots 1,600 years ago.)
If you assign dimensionless numbers to physical parameters in your code, you risk misunderstandings and errors when calculating and converting between units of measurement.
Hello,
I would like to change signature's algorithm to be sha1.
I share the current code:
(BINARY SECURITY TOKEN and USERNAME TOKEN CODE omitted)
set signSha1=##class(%XML.Security.Signature).%New()
do signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
//..SetSignatureMethod($$$SOAPWSrsasha1)
//$method(signSha1,"SetSignatureMethod",$$$SOAPWSrsasha1)
//signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
set sig=signSha1.CreateX509(cert)
I have tried to use SetSignatureMethod, however in the Message Viewer we see:

Hi
I've got a new piece of work to do which the goal is to send an email out if files start queuing up in a specific folder.
Is there any way of achieving this?
Any help would be appreciated.
Kind Regards,
Joao Palma
I am trying to get a list of all settings for all the config items of a given production using SQL . When I run the following sql as a dynamic query I am unable to access the setting names and values. Settings is a list of Ens.Config.Setting
Set query="Select Name, Production, Settings,$ListLength(Settings) "
_"As Count from Ens_Config.Item "
Set rc=##class(%ResultSet).%New()
Set sc=rc.Prepare(query)
Set sc=rc.%Execute
While rc.Next(.sc) {
For i=1:1:Count {
Set tSetting=$List(Setting,i)
Set name=tSetting.Name
}I get a LIST error on the last line!
Hi all, it's finally time for the next release of VSCode ObjectScript extension. So what's new in this release.
Files in Server Explorer now can be edited
Added more details about connection errors
Improvements in Server Explorer build tree
Hello,
I am working on Ensemble 2017.2.1 .
I need to export my security settings into an extern database, in order to make a report.
I've created a Business Operation with an SQL Adapter into a Namespace, but I don't know how to get every security data from "%SYS" Namespace ( SQLPrivileges , Resources , Roles , Services , Users ... ).
I dont't want to use the terminal and the ^SECURITY routine, because i don't want to store a XML file on the server.
I tried to create a method where I can use the (Security.
Hi,
On a persistent class, I have defined an %OnNew method that validate some properties with appropriate status code for each kind of error. Question is: how do you catch the specific error when %New is called on this class?
Surrounding %New method with a try-catch not seems to work.
Thanks
I'm trying to tie IRIS (2019.1) into our Concord Fax cloud-based email-to-fax workflow. We have some sites that require a fax be sent to multiple locations based upon certain data (ie Radiology and Emergency departments). Unfortunately, CC-ing does not work with Concord Fax so I need a way to send the email, change the recipient, and then send it again if certain criteria are met. Is this possible? Do I need to duplicate and rename the method, calling the second one in the MessageMap?
Hello everybody,
My question would be, how is the recommended way to access Windows shares, also in view of future demads. Of course, I'm also happy about an explanation or code snippet of how the library, which is mentioned in the following , can be used under cache.
The classic jcifs library is easy to use, also with Cache, but as microsoft ceases support for smb1, we are currently looking for alternatives. jcifs-ng is such a library, which we took a closer look at. In java code a jcifs-ng file operation looks like this:
[.
Hi,
I'm attempting to use the $EXTRACT function in my routing rule but I'm seeing 'Expression Parsing' error messages when trying to save the rule.
I want to check the last character of a post code by using the following code:
$EXTRACT(HL7.{PID:PatientAddress(1).ziporpostalcode},*)="Z"
Could anyone assist with this?
Thanks,
Martin
Hi Community!
New "Coding Talk" video is already on InterSystems Developers YouTube:
⏯ How to Install and Use ObjectScript Package Manager with InterSystems IRIS
Do you ever have the desire to optimize your code as much as possible?
Do you have any cases where every nanosecond matters?
Do you use If statements?
This quick tip can help your code run slightly faster with no additional code.
Hi Developers!
Many of you are looking for samples on how to work with InterSystems IRIS Analytics, formerly known as DeepSee.
There is a Samples BI module with Patients and Holefoods examples which is available on Github with source code. The installation steps are clear but take time.
Recently we added the option to run IRIS Community Edition containers with ObjectScript Package Manager (ZPM) on board. This simplifies the installation to the "run-one-command" step for the modules submitted to ZPM Community Registry. And thus we can benefit the Samples BI installation with ZPM.
And here is how you can run it on your laptop. Let's go!
Happy new year! I’m Raj Singh, InterSystems’ product manager for Developer Experience and I’d love your feedback on how you use IDEs today and your thoughts for the future.
We understand you depend on a solid, intuitive and flexible IDE from InterSystems - whether you are an ObjectScript expert or new to it; whether ObjectScript is at the core of your applications, or you develop more in Java, Python, C# or Node.js.
This is a lesson learned, which I would like to share with community.
Recently I ran into an issue, where I was using %ConstructClone and it kept cloning extra records, which were not needed. The record for which I was trying to run a clone had many-to-one relationships.
The solution to this issue was using param -1. If you run %ConstructClone(-1) it will not clone relationships, but rather just clone single oref as desired in this case.
I hope this information helps someone who is working with similar records.
Hi Developers!
Often when we install a code package we want to make some post-install settings, e.g. call to a method, set up a configuration file.
This article describes how to do this with the ObjectScript Package Manager.
To make any post-install calls you need to add <Invoke> elements into <Invokes> tag to the module.xml. Each <Invoke> element can have nested <Arg> elements if you want to pass params to the method:
<Invokes> <Invoke Class="Class.Name1" Method="MethodName1"> <Arg>Sting Value</Arg> <Arg>123</Arg> </Invoke> </Invkoes>
Here is an example module.
I am working on a BPL to take data from a MS SQL database and create an HL7 Materials Message for our EMR. I have done this plenty of times in the past however I am running into an error.
"Remote Gateway Error: JDBC Gateway SP execute(0) error 0: Access to the remote server is denied because no login-mapping exists."
What is confusing is that this BPL doesn't differ from any of my other BPLs in connecting to MS SQL Server. I know I am missing something..
I have an array of table names that I want to iterate over and for each table, get the number of rows. I was hoping I could do something like:
set tStatement = ##class(%SQL.Statement).%New()
set tSC = tStatement.%Prepare("SELECT COUNT(*) AS ObservedRowCount FROM ?")
$$$ThrowOnError(tSC)
set tTableName = ""
for
{
set tTableName = $O(tCounterAry(tTableName))
quit:tTableName=""
set tResult = tStatement.%Execute(tTableName)
// ...
}But that doesn't work:
ERROR #5540: SQLCODE: -1 Message: IDENTIFIER expected, ?
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!