I've defined a Cache Connection to my local server. It worked for the last two days, but after an uninstall/reinstall of Atelier, it stopped working. The stack trace has these entries:
java.lang.RuntimeException: Can't read from secure storage node /com.intersys.eclipse.connmgr/ensrc
Caused by: org.eclipse.equinox.security.storage.StorageException: No password provided.
One possible way I already know of is that all fully qualified class names (ie, the package + the class name) start with %, which mean that on installation all classes will end up in the %SYS namespace, but this requires that the install be done as a user with the necessary privileges to write to %SYS.
Getting around to wrapping up a short tour in Professional Playtime, I wanted to share my experience at the HIMSS FHIR Connectathon I participated in out in Indy in April.
We are currently looking into a way to provide a group of end-users (i.e. non-Interface Development engineers) access to a pre-defined group of Ensemble-based Data Lookup Tables for purposes of viewing and editing. We do not want to give them access to ALL Data Lookup Tables due to security/continuity concerns.
My thinking is that a simple persistent Cache table with three columns (Role Name, Table Name, Access-Level [like View or Edit]) with a CSP front-end could potentially provide an easy way to make this solution a reality.
What would be the preferred method to create an HL7 message from an input that is not HL7?
Would it be better to take the non-HL7 input and construct an HL7 message in the business service that then gets passed off to a routing process, or would it be best to just pass the non HL7 message to a routing process that called a data transformation to create the HL7 message?
My thought is the later, due to the fact that updates to the creation of the HL7 message are done using the graphical DTL editor rather than editing COS in the service.
I have two servers in our TEST environment. One with HSBUS and one with HSREGISTRY. Let's call them "HSBUS01" and "HSDB01" respectively.
Now, I can access HSBUS with my SQL client by using the JDBC driver pointed to hsbus01.full.name.com and port 1972 and specifying a namespace of "HSBUS". I am, however, unable to access the HSREGISTRY instance via SQL with a similar combination of information.
I have to disect thousands upon thousands of strings like this:
96842-2-AEV.00001-63561-001958-100728760I-42
I've been able to pull out the first, second and final segments as separated by hyphens, but now I have a predicament where I need to use the second segment, the 2 shown in the example above, in a join to another table. Problem is Cache apparently doesn't like doing that. Just the same, I have to find a way.
Here's the code I'm using to pull that segment out into as separate field in the query results:
How can I create a JSON with the object ID by using the %Object:$toJSON API?
I have the following piece of code bellow where I create an object reference, create a %Object instance from %fromObject and them I am creating the JSON from $toJSON, but it does not expose the %ID (object id). How is the best approach to create a JSON with the respectives object IDs?
I'm trying to find a good way to control the Filename for X12 Acknowledgement files, but there doesn't seem to be a way to do that without custom coding. Here's what I figured out so far:
EnsLib.EDI.X12.Service.FileService allows you to set a Reply Target Config, which would likely be an X12 File Operation. The Service doesn’t have any settings related to the name of the Acknowledgement file though. That’s determined entirely by the Operation.
Starting with 2016.2 the Java XEP binding will no longer support the in-memory connection mode. The in-memory mode was deprecated in earlier versions and applications should switch to the TCP/IP connection mode instead.
The TCP/IP connection mode has bridged the gap in performance to a large extent over the past couple of years and enables the Java client to run on a remote machine.
Let me know if you have any questions or concerns.
Starting off with a working REST interface, I can access the CSP Application definition screen for the application (System > Security Management > Web Applications > Edit Web Application), and "turn off" the application by clearing the Enabled: [ x ] A
(Possibly?) little-known fact: It's possible to use $ListBuild on the left hand side of the equals sign in a set command to extract multiple list values at once:
set $ListBuild(several,individual,variables) = list
I'm posting this for the benefit of others. Not often one changes certificates in Cache, at least in my case. I run a system, that uses certificates to encrypt SOAP messages, and since the last time I ran it, my certificates expired.
So I renewed them using our PKI tool, so far so good. I gave all (3) certificates the same names (and filenames too) as to those expired, thinking that everything would just work fine next time I call the SOAP service.
I've been using iFind indices in one of my applications but this morning discovered that the index is missing data. I confirmed the issue also exists in our test environment and rebuilt the indices there. That seems to have fixed the immediate problem. However I'd like to understand how this came about to avoid it happening in the future.
Has anyone encountered this before and know the cause?
I installed Atelier on Windows in order to take a look at how the BPL and DTL graphical editors accessible via the "Open diagram editor" action work. The diagram editor is opened but I get the following error:
Message from webpage --------------------------- Unable to load SVG diagram. Please ensure your browser is supported for portal access.
It looks like Atelier uses IE in order to display the editor even though my Windows default browser is Chrome.
I followed the Documentation instructions to install Caché on my Linux box and it seems to be running fine except when I try to modify the configuration. I keep getting errors that a previous cache.cpf file (e.g., cache.cpf_8503) cannot be opened. Is my Linux "user who owns instance" account deficient in Linux permissions?
There is a question for Ensemble on Stackoverflow:
I have the below dtl. In the foreach loop, I am just copying the same code in another part under anif condition. How can I avoid this redundancy? Can I reuse using sub transformation?
Good afternoon, I have image files stored on disk. I would like to display those images in an <image> control as the end user clicks on rows in a tablepane. I already do this with image data stored in a cache database:
s imageComp = %page.%GetComponentById("ImgTab"_tLdCnt) s imageComp.disabled=0 s tId=rsId.Get("ID") s tPageObj=##class(My.PageObj).%OpenId(tId) s oid=tPageObj.ImageBLOB.%Oid() s encryptedOid=..Encrypt(oid) s imageComp.src="%25CSP.StreamServer.cls?STREAMOID="_encryptedOid
Hi this is my first post, so a little about my background. I've been programming in PHP/JavaScript for about 10 years. I've got quite a bit of knowledge surrounding object orientated programming and know the basics.
Last year I looked into the Mirth integration engine and did some work around that.
I've now moved jobs and I'm doing some work (surprise, surprise) with Ensemble.
Is is possible in Atelier to open a macro declaration? Using the context menu results in a "Current text selection does not resolve to a Script element" error in the status area at bottom of window.
Also the arguments for the macro are not shown on hover.
Doesn't seem to matter if the associated include file is added to the project.
It looks like the normal usage of calling an Ensemble based Web Service via Ensemble is to create an Ensemble Business service that inherits from EnsLib.SOAP.Service which is then used to call a business operation which inherits from EnsLib.SOAP.Operation and the SOAP Outbound Adapter which can be generated via the SOAP wizard.