Cool feature!

I asked for interoperability adapters for issuing shell calls and the answer was quite objective, although the DC post reference didn't match my question (I guess)... Anyway, here is the link: https://community.intersystems.com/ask-dc-ai?question_id=218088

PS: I tried to google the same question just for fun, prefixing Intersystems to it ("intersystems is there an interoperability adapter for call programs by command line?"), and didn't get any result pointing to EnsLib.Pipe.OutboundAdapter. :)

Hi Benjamin!

Thank you for your kind words!

Thank you for your feedback as well, we really appreciate seeing people using our apps! :)

We release a new version with some improvements:

  1. When SQL executions generate error, the UI just present the error description keeping all elements, instead of the weird behavior you noticed
  2. We added a new sample database available in OpenExachange - the HoleFoods in order for people to try the tool with other schemas - like you already did ;)
  3. Now you can add SQL queries as examples. So if the LLM returns a wrong SQL, you can fix it and update your example library, giving a change to the tool to improve the prompt in the next related user prompts. One collection is generated per schema.

Again, thanks for your feedback!

Below, some screenshots of such improvements:

Hi Prashanth,

I had a similar requirement once. The following is how I managed it:

First, I setup a method in a CSP dispatch class, which respond to a REST endpoint, to invoke a Business Service in the current namespace working production:

ClassMethod SomeRestEndpointCallback(body As %DynamicArray) As %DynamicObject
{
    $$$TOE(st, ##class(Ens.Director).CreateBusinessService("BusinessServiceName", .service))
    $$$ThrowOnError(service.ProcessInput(body, .output))
    Return output
}

Then, I created a adapterless Business Service (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...) in order to don't pooling for data but just wait for an external trigger instead:

Class some.package.AdapterlessBS Extends Ens.BusinessService
{

/// Configuration item(s) to which to send file stream messages
Property TargetConfigNames As Ens.DataType.ConfigName(MAXLEN = 1000);

Parameter SETTINGS = "TargetConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId}";

Method OnProcessInput(request As %RegisteredObject, Output response As %RegisteredObject) As %Status
{
    Set tSC = $$$OK
    Try {
        // Could be any message... adapter to your needs
        Set tMsg = ##class(Ens.StringResponse).%New()
        Set tMsg.StringValue = "some value"
        
        // Send the message to the targets
        Set targets = $LFS(..TargetConfigNames)
        For i=1:1:$LL(targets) {
            Set target = $LG(targets, i)
            // can be sync or async... it's up to you decide
            //Set tSC = ..SendRequestSync(target, tMsg)
            Set tSC = ..SendRequestAsync(target, tMsg)
            Quit:$$$ISERR(tSC)
        }
    }
    Catch (ex) {
        Set tSC = ex.AsStatus()
    }
    Quit tSC
}

Now, you can add this Business Service to a interoperability production and set the desired Business Process as its target. So, when your REST endpoint is accessed, it will call the BS and then the BP.

HTH,
José

Hi David.

Thank you for your interest int the project.

I didn't try it in GitHub Codespaces, but I just test it in my local Windows PC and it worked:

As you can see, the command in README.md worked for me. I like to use this flags to get more information on possible issues.

But, I changed such a commnad to just docker-compose up -d, once this command automatically builds the image if it does not exists.

Thank you for your feedback, really appreciate it!

Hi @Evgeny Shvarov / @Semion Makarov !
 

I just added an IRIS Interoperability Production show how to use the code generated by IRIS-FHIRfy to convert a simple CSV into FHIR and persist it to IRIS for Health. Evidences could be found herehere or here.

Could you add the points for Digital Health Interoperability bonus to IRIS-FHIRfy, please?

Thank you!