Looking for pointers on how to create a file operation class that would use the HL7 Message Type in the file name
For example if the Message type was ADT^A31 the file name would be ZLOG_FILE_ADTA31_20190927.dat
Thank you for looking.
InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record
time.
Looking for pointers on how to create a file operation class that would use the HL7 Message Type in the file name
For example if the Message type was ADT^A31 the file name would be ZLOG_FILE_ADTA31_20190927.dat
Thank you for looking.
Is there any issue with setting the Pool Size > 1 on components using EnsLib.FTP.PassThroughOperation? I have a component that has 60,000 documents in the queue and looking for way to process this output quicker.
How do I manipulate a string in Ensemble DTL (X12 document) to extract a string starting from the right, or end, of the string?
I need to have 10 digit phone numbers, however some of the source data records include the "1" for the long distance dialing and I need to exclude this.
I have tried using Right(), SubStr(), and even SubString(string,*,-10) but it will not compile.
I find it hard to believe that Ensemble does not have the ability to read a string from the right.
Thank you for any assistance.
A permanent job opportunity has arisen for a Caché/Ensemble developer with at least 5 years experience. My client is a specialist resource provisioner of developers for high profile clients in the finance, healthcare, retail, distribution and credit business that are mainly based in central London. My client is looking for a highly-motivated individual who thrives in an environment where problems are open-ended.
Good morning -
I am attempting to pass some HL7 content (say, a complete ADT message) from one server to another via REST/JSON - for reasons.
I can get the data across but when I try to create an EnsLib.HL7.Message object from the message in the JSON body, I end up with just the start of an HL7 msg in the resulting object. Looks like: MSH|^~\&
The start of the code accepting the data looks like this:
S tInput = tReq.Message
S tMsg = ##class(EnsLib.HL7.Message).%New()
D tMsg.ImportFromString(tInput)
S tMsg.DocType = "2.3.
Greetings,
I am trying to test an hl7 message inside studio and when I click on the test button I get this error:
"<FUNCTION>GetProp+2^%CDCalBk" at 9:51 am. $I=/dev/null:50333010 ($X=0 $Y=54) $J=50333010 $ZA=0 $ZB="" $ZS=65536 ($S=66023400)
I have never seen this before! Any suggestions?
Here a simple test message:
MSH|^~\&|TESTRAD|ABC|RADIOLOGY|WYZ|20190715125605||ORU^R01|20190715125605|T|2.3
PID||123456788^^^EPIC^PMRN|1234567890^^^EPIC^PMRN||TESTING^TWO||19780422|F
PV1||OUTPATIENT|||||^^^SMITH^^^^^PHS^^^^PRN
OBR|1|776565|A44444|CT.TH.
Hi all,
is it possible to omit the typical XML header line
when writing an the contents of a EnsLib.EDI.XML.Document using the above mentioned operation. I´ve already digged into the config value Format. It only states that:
C(e) : output an XML header line declaring character encoding e. If e is empty use the encoding defined by the Adapter. If e begins with ! force the output stream's encoding.
I am trying to return a stream soap response using web services I can call my web service supply it with a xml string which works fine . I then work on that XML and try to return a Stream but all works in the production when my service receives the stream after I get the error as if its trying to copy stream to a variable and I am confused as to where that operation happens.
The errors I am getting
ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zCopyFrom+28^%Stream.TmpCharacter.1 *Rewind
and here is the stack trace in case I am missing something
We have a case where we have 1 message coming in, but then sending two messages out to the same location. Even with FIFO sometimes the messages get out of sequence depending on what is need to be done to the message in the DTL before send. Is it possible to call sleep or Halt or write some kind of a function to put a pause in a routing rule between two sends?
I've created a scheduled task that dumps HL7 messages to flat files. It uses the OutputToLibraryStream() method of EnsLib.HL7.Message. I'd like to be able to run it on a mirror member host whether it's primary or backup.
When run against a database that's mounted read-only, it works fine. However, when I attempt to run it against a mirror backup database, I get the following error:
#5002: Cache error: <PROTECT>%LoadData+7^EnsLib.HL7.Message.1
Tracing that back to the source, I find:
Lock +(^EnsLib.H.
InterSystems has corrected a defect in applications that use Unicode character 223 (ß). This defect can result in incomplete query results, class compilation errors, and removal of custom SQL privileges.
This problem occurs on systems that are running or have previously run on:
The defect is triggered by data and component names containing Unicode character 223 (ß). In the versions listed above, an uppercase conversion incorrectly maps that character to Unicode character 7838 (ẞ). Applications perform this uppercase conversion using features such as $ZCONVERT and %SQLUPPER.
Problems can occur when accessing data or classes created or modified on a product with a different uppercase conversion than the one currently in use.
InterSystems has corrected a defect that could lead to invalid backups on Windows platforms. The defect causes upgrades to disable the EnableVSSBackup setting. By default, EnableVSSBackup is enabled (value set to 1) and the upgrade sets its value to 0. Windows VSS backups taken with this setting disabled may contain invalid CACHE.DAT files.
This problem is limited to Windows platforms on the following versions:
The defect only occurs if you are upgrading to a version listed above. Once you have upgraded to an affected version, you must manually enable the setting; otherwise, it will be disabled on future upgrades, even when upgrading to versions containing the correction.
For customers using Windows VSS backups, InterSystems recommends enabling this setting on any 2018.1 instances of Caché or Ensemble. Once you have enabled the setting, future upgrades (including to affected versions) will preserve its value.
Is the TotalDuration column (processing times for all messages w/in a time frame) measured in seconds?
Thanks,
LG
Hi,
I'm trying to run a query from Management Portal, to get a count of messages in 10 minute periods for analysis. I'm using DATEPART to pull the hour and minute portions, but the value being returned is the UTC value, rather than the actual value.
i.e.
TimeCreated = '2019-09-10 23:01:45'
DATEPART(hh, TimeCreated) is returning 22 rather than 23.
How do i force DATEPART to return the correct display value?
This article will provide tips and tricks on customizing Ensemble business hosts with configurable settings.
Ensemble production Settings are configurable values that control the behavior of a production and its hosts.
The documentation for adding and removing Settings and specifying categories and controls for Settings is provided at the link:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?
Can health Connect create a file in a directory, than add data (HL7 messages) to it?
Is it possible to create a task that will initiate a Business Service that is dependent on the completion of a separate EDI data process?
I have a complex data flow with multiple EDI processes where one process must run and produce one or more files that get deposited in the source folder for the next EDI process. The entire process is currently set up where 2 of the EDI processes execute at a specific time. The problem with that is when a network or server interruption occurs at the time they are supposed to start, it causes a complete failure of the entire process.
After upgrading I ran a $SYSTEM.OBJ.CompileAllNamespaces("u"). What I got in return was kind of a shock.
In reviewing errors I am seeing code being referenced but no longer applies. It is referring to stuff that might of been defined in the Context , Formal Spec ,Thread , etc.
ERROR #5373: Class 'osuwmc.CPD.DataStructures.TblPharmacyDEA', used by 'osuwmc.CPD.BusinessOperation:SelectProviderTempDEA:FormalSpec', does not exist
ERROR #5373: Class 'osuwmc.FeederPat3BPLTest4', used by 'osuwmc.FeederPat3BPLTest4.Thread1:compileafter', does not exist
ERROR #5373: Class 'osuwmc.DataStructures.MERDABFile.
Trying to modernize tasks I have to do on cache like change global variables on different servers, different namespaces....
Actually, I have a bash script doing ssh on each server and running bash script on each server like this
echo "zn \"namespace\"
s ^Var=1
"|csession ensapp
But this is not clean/modular/. I was thinking about using Ansible - as it is exactly what I need to do all the git pull. But I am not sure how to interact with cache. A shell ansible module - no way as it does not manage state.
We have a customer that is not able to accept HL7 result messages that are missing OBX:3.1. I have been trying to create a function that could return a boolean value of 0 if the message didn't meet the expectations of the function.
.png)
{
#dim tSeg as EnsLib.HL7.Segment
set tSegCount = pHL7Msg.
I have several BPL's that act like SQL Server Integration Services (SSIS) where they are transferring data. When I do this they are all being written under 1 session id, is it possible to make the BPL create multiple session ID's as it is cycling through a Snapshot, so it is easier to read in the trace?
Thanks
Scott Roth
I'm writing "Finder"-like dialog and need to get list of BPL classes.
The query is dependent on current "path" - it outputs all BPLs in the current path (if any) and all sub-packages which contains BPLs.
So far I have this query:
Query getBPL(path, needPlus = {(path'="")}) As %SQLQuery
{
SELECT DISTINCT $PIECE(Name, '.', 1, $LENGTH(:path, '.') + :needPlus) Name
FROM %Dictionary.ClassDefinitionQuery_SubclassOf('Ens.BusinessProcessBPL')
WHERE Name %STARTSWITH :path
}My problem is, if I'm not in "root" path I need to add additional dot level, but in root path I only need to add one.
Hi Community,
Our latest issues of Developments and Developments Healthcare Edition have been posted to the Developments Archive site, where you'll also find other previous issues. Learn about InterSystems API Manager, preview releases of InterSystem IRIS and IRIS for Health, and live webinars this month about how you can easily move your Ensemble or Caché applications to InterSystems IRIS.
Optimize your investment in InterSystems technology by subscribing to these and other InterSystems publications.
Hi all,
I am trying to create a method to count the number of entries in a global, including all subscripts. I am having a bit of trouble getting the code to make it to the second subscript. When I get to the position where my key is "Canada" and I add a comma and empty quotes to it, it returns USA as the new key when I do the order function. Is the $Order or the global not able to use a single string to represent multiple subscripts?
We've just published an update to the Serenji extension for VS Code. Starting with this version (3.0.7) you can now debug the code that implements your REST services. Here's a taster:

Read more about Serenji on Open Exchange.
Is there a way that when you run $system.OBJ.Compileall() that you can make the output written to a file instead of the screen? I am trying to capture all the errors so I can review the code and fix them before we upgrade.
Thanks
Scott
Currently we are using Health Share 2015.2.2, and looking to upgrade to the latest version in the next month.
From what I understand we have to upgrade to 2017 or 2018 prior to going to 2019.1 since 2019.1 is on the IRIS platform.
In trying to outline my steps in the upgrade process I came up with a question.
Has anyone had experience with this? or should I open a ticket with WRC?
Hi, I have used CSP to exec SQL selects from any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.
I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.
Anoyone has made that?
Hello everyone,
We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.
We have been receiving the following error message for a long time:
ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0
This happens when there are no files to process and appears from time to time, maybe every 20 minutes.
Hi, Is there a way to count the number of segments in a HL7 Mesage? I tried the examples from the other answers but nothing works for me.
I am writing a function to get the last OBX segment field value 5. Below is a sample screenshot of what I want.
The number of obx segments can change, so I want to count the last obx segment and then get the field 5 value.
Would appreciate some guidance on this.