Nicki Vallentgoed · Dec 31, 2025 go to post

Would it be possible to run something like "iris session IRIS < iris.script > /opt/irisapp/logs/build.log 2>&1"

when the container starts?

I'm trying to find a way to create a database (in a durable volume), namespace, web app etc if it does not exist.

Nicki Vallentgoed · Dec 23, 2025 go to post

Wow, the responses here taught me that a for loop can have multiple forparameter arguments.

And it's so obscure I do not think they should be used in every day development?

Nicki Vallentgoed · Nov 11, 2024 go to post

Thank you very much.
Quick question about the port.
Is it the standard port the IRIS instance is running on?
I do not need an external language server connection on the host?

Nicki Vallentgoed · Nov 8, 2024 go to post

Fair point but I do find it odd.
Using e.g the Native SDK for Python I can have multiple applications on different servers all communicate directly with the IRIS kernel.
But I cannot do the same with IRIS to IRIS.
There are some benefits:
No added complexity.
Easy separation of applications.
Easier development management.
Easier deployment of application updates.
 

Nicki Vallentgoed · Feb 1, 2024 go to post

Thanks, the .%Get("pdf",,"stream<base64") works.

It is super frustrating though.
This produces an error: <PARAMETER> 127 %GetNext^%Iterator.Array.1
 

Set iter = jsonob.value.labReports.%GetIterator()
While iter.%GetNext(.key,.labReport,.type) {
    w !,"type: "_type
}

I do not know if it a bug on my side or the documentation:

Nicki Vallentgoed · Jan 30, 2024 go to post

My code:

try{
  Set jsonob = ##class(%DynamicObject).%FromJSON(httprequest.HttpResponse.Data)
  w !,"statusCodes: "_jsonob.%Get("statusCode"),!
  Set iter = jsonob.value.labReports.%GetIterator()
  While iter.%GetNext(.key, .labReport) {
  w !,"reportName: "_labReport.%Get("reportName")
  Set pdf=labReport.%Get("pdf",,"stream<base64")
  w !,"pdf: "_pdf.Read(20),!
  }
} catch(tException) {		
  w !,tException.DisplayString(),!
}

JSON looks like this( pdf the offending big string):

Output:

statusCodes: 200

reportName: Long-Oeloff-Badenhorst.pdf
<MAXSTRING> 5 ztestpdf+36^Test.Testy.1

ztestpdf+36 = Set pdf=labReport.%Get("pdf",,"stream<base64")

Nicki Vallentgoed · Nov 30, 2023 go to post

Good info!
What happens if the particular task takes longer than a minute and the busines sservice is invoked again?

Nicki Vallentgoed · Nov 9, 2023 go to post

Thanks for the response Brett.

In regards to check if a file is out of date, doing it on save is fine, however that's where the inconsistency problem is. Using a private development server is not really an option in our environment where we have to test with data coming from external sources e.g via HL7 TCP integrations.

Nicki Vallentgoed · Oct 12, 2022 go to post

Answering incase someone has the same issue.

docs

It does not support the <fault> element. That is, if you include a <fault> element within the <operation> element of the binding, the <fault> element is ignored.

Nicki Vallentgoed · Jun 30, 2022 go to post

Nope, does not seem to work.

Creating the async goes fine but as soon as I promote it, primary ensemble sees it as down.

You can also not revert back to an async afterwards.

Nicki Vallentgoed · Oct 7, 2019 go to post

The query plan is the same in this instance, however the relative cost is vastly different.

Without TOP 1 = 72497300   (which should give you some idea of the table size)

With TOP 1  = 11

Nicki Vallentgoed · May 2, 2019 go to post

I think he was referring to the excel xml format:  wiki link

I've used it previously:

Create  an example file in excel and save it in the xml format.

View the source in a text editor to see what it looks like.

Write out similar code to a file via COS.

Save as .xls

Ugly example:

xls=##class(%Stream.FileCharacter).%New()
xls.LinkToFile("/ensemble/nicki/a.xls")
xls.WriteLine("<?xml version=""1.0""?><?mso-application progid=""Excel.Sheet""?><Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:x=""urn:schemas-microsoft-com:office:excel"" xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:html=""http://www.w3.org/TR/REC-html40""> <DocumentProperties xmlns=""urn:schemas-microsoft-com:office:office""> <Author>me</Author> <LastAuthor>me</LastAuthor> <Created>"_$ZDT($H,3,8)_"</Created> <Company>AMPATH</Company> <Version>1.0</Version> </DocumentProperties>")
xls.WriteLine("<Styles><Style ss:ID=""header""><Font ss:Bold=""1"" ss:Size=""12""/></Style><Style ss:ID=""a1""><Font ss:Color=""#ff3333""/></Style><Style ss:ID=""a2""><Font ss:Color=""#FFA500""/></Style></Styles>")
xls.WriteLine("<Worksheet ss:Name=""Sheet1""><Table>"
_"<Column ss:Width=""120""/>"
_"<Column ss:Width=""80""/>"
_"<Column ss:Width=""100""/>"
_"<Column ss:Width=""100""/>")
xls.WriteLine("<Row ss:Height=""20"">"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 1</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""Integer"">2</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 3</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 4</Data></Cell></Row>")
    
    xls.WriteLine("<Row ss:StyleID=""a1"">"
    _"<Cell><Data ss:Type=""String"">Col 1</Data></Cell>"
    _"<Cell><Data ss:Type=""Integer"">2</Data></Cell>"
    _"<Cell><Data ss:Type=""String"">Col 3</Data></Cell>"
    _"<Cell ss:StyleID=""a2""><Data ss:Type=""String"">Col 4</Data></Cell></Row>")
    
xls.WriteLine("</Table></Worksheet></Workbook>")
xls.%Save()

Nicki Vallentgoed · Aug 2, 2018 go to post

That will not work. 

I am not in control of the software on a client pc, but most pc's will have a built in zip handler.

So zip would be more useful.

Nicki Vallentgoed · Jul 18, 2018 go to post

What would be nice though is if IS creates an in memory stream version of the zip classes.

That would be useful for generating files and zipping the stream for email etc, without hitting the disk.

Nicki Vallentgoed · May 3, 2018 go to post

I might be misunderstanding you, but I do not agree.

Class is in A and mapped to B.

ClassMethod t1() As %Status
{
w $NAMESPACE,!
q 1
}

A>d ##class(Test.PopNicki).t1()
A

A>zn "B"

B>d ##class(Test.PopNicki).t1()
B

B>
 

Nicki Vallentgoed · May 2, 2018 go to post

Classes all the way.

I have yet to see a compelling argument to use routines the later versions of cache.

Nicki Vallentgoed · Mar 10, 2016 go to post

The package is "Test".

How does the syncing work?

If I change the class in project A must it automatically update project B?

Nicki Vallentgoed · Mar 9, 2016 go to post

No

Your website seems to keep the image file names and mine are all captureX.png from taking screenshots.

So you have one from my other posts cached,  try ctrl+F5

Nicki Vallentgoed · Mar 9, 2016 go to post

I think I found the issues, there are 2.

1) The server dropdown looks grayed out even though it is useable.

So after selecting my connection there I can select a namespace

I'm used to this for non disabled dropdowns:

2)  However when I configure a server via the "configure server..." option on the New project screen I still get the error.

Here are my steps

1 Select "configure server..."

2 Type in an existing connection name, select "continue editing", click "Finish"

3. Get the error message and no namespaces