Sergei Shutov · Nov 14, 2021 go to post

You can try using DBF utility from my old Cache-based framework:

https://github.com/logist/p6/blob/master/classes/p6/Dbf.xml

It has ReadFile/ReadStream & WriteFile/WriteStream methods

Usage:

set sc=##class(p6.Dbf).WriteFile(file,array)
sc - execution status %Status
file-file name
array - string containing a name of global with data,
 
for example: ^asd("asdf"),
^CacheTemp($job,"dbf")
this array has to provide the following structure
...,"header")=<header>
format $list($list(var1,length1,type1,dec1),...,$list(varN,lengthN,typeN,decN)); type is D for date N for number anything else for string
...,"row",<row number>)=<data>

data format $list(var1,...,varN)

Sergei Shutov · Mar 1, 2022 go to post

Hi Tom,

You need to contact TRC for this one, since it will depend slightly on the Version and Edition you are using, and will most probably involve some custom code to map your AD role structure into TrakCare's security groups. They will be able to guide you in the right direction.

Cheers
Sergei Shutov
Banksia Global
https://banksiaglobal.com

Sergei Shutov · Apr 11, 2022 go to post

David's answer is not quite correct because one can't use $translate to search for groups of symbols (like two quotes next to each other), this is what $replace function is for. $translate always search for an individual character.

Sergei Shutov · Jul 28, 2022 go to post

Hi Michael,

You should have one top-level dispatch class which will dispatch individual API calls to separate endpoint classes.

<!--teapots-->
<MapPrefix="/teapots"Forward="REST.Teapots"/>

 

<!--kettles-->
<MapPrefix="/kettles"Forward="REST.Kettles"/>
Sergei Shutov · Aug 29, 2022 go to post

SAM was built as a "gateway" to proper custom Prometheus/Grafana setup for cases when you only need to monitor IRIS. If you are building more complex solution, with non-InterSystems sources, I would recommend to set up Prometheus separately from SAM and just add SAM monitoring endpoints there.

Sergei Shutov · Sep 7, 2022 go to post

There are few reasons superserver API is not publicly documented, one of them is to prevent an easy discoverability of outdated instances outside firewalls by hackers. You can use Atelier API with relatively recent Cache/IRIS, which answers on Web server port and has support for authentication and will return version of Cache/IRIS it's running on, for example:

You can also try to ask WRC privately if above option is not suitable for any reason.

Sergei Shutov · Mar 15, 2023 go to post

Well first of all there is a first-class support for FHIR data in IRIS for Health and I would definitely recommend to use it instead of rolling out your own class-based solution. See documentation here https://docs.intersystems.com/irisforhealth20221/csp/docbook/Doc.View.c…

If you want to work with projections, given that even basic data fields in FHIR are quite complex https://www.hl7.org/fhir/datatypes.html#primitive you'll need to define separate embedded classes for each data type; it doesn't have to be a separate class for each field.

Sergei Shutov · Mar 15, 2023 go to post

Hi Phillip,

In TrakCare, interoperability is controlled by TrakCare Health Messaging Framework (HMF). Each Interface has to go through HMF Gateway, which is an IRIS Production, and then all those are getting routed through HMF Router which is a separate IRIS production. Please have a look at HMF documentation for more details. A lot of this code is auto-generated so you need to understand what needs to be configured in TrakCare and what needs to be configured in Production.

Sergei Shutov · Mar 15, 2023 go to post

You can also just use incoming XML as a steam and extract data you need using parser into a custom defined ensemble message, if you only need parts of the incoming data

Sergei Shutov · Jul 3, 2023 go to post

Hi Bob,

That's good news and I like new names much more than old ones. I hope old tags for old releases will still be available?

A couple of entries from my container tagging wishlist (one can dream, you know)

- provide :latest tag for all containers, but especially for community ones, which will just pull the latest working release without having to rebuild dockerfiles every year when license expires

- provide 2023.1.x tag which will follow the latest minor version

Sergei Shutov · Jul 12, 2023 go to post

Well you gave me two so I should have one spare wish :)

Make iris:latest-cd just iris:latest, this way we can just skip the "latest" bit altogether and just use iris without any tag at all.

Sergei Shutov · Nov 14, 2023 go to post

Yes but you can have one top-level 'manually created' one and have individual ones based on separate OpenAPI files

Sergei Shutov · Feb 4, 2024 go to post

Hi @Evgeny Shvarov 
You need to use port 52773 with localhost in Docker. It's relative to the container not to your host.

I just tried this with intersystemsdc/irishealth-community:latest image above, works fine.

Sergei Shutov · Aug 5, 2024 go to post

Congratulations to all winners, it was difficult to vote this time, so many great applications and samples!

Hi Stephen, this is a valid approach however you will lose information about problematic calls such as json can't be parsed or API key in headers is wrong. I prefer to actually save the http call in full as http generic message and then call a process or operation with transformation to the proper message format, as Alex demonstrated in his third example. You can still call operation manually if you want, passing the parsed message. 

Which means that Colin guessed the code right and no, trace is not computed when tracing is off :)