So far we have ended up with like 4 routing rules just for ADT alone to get it do the Ancillary systems.
- Log in to post comments
So far we have ended up with like 4 routing rules just for ADT alone to get it do the Ancillary systems.
When we were going through our conversion from egate to Ensemble, it was suggested not to have anymore that 25 rules within a Business Router. Anymore than that caused us severe performance issues when it came to making sure our downstream systems was receiving the messages in time.
Scott Roth
I am not aware that a CSV could be read in via EnsLib.File.PassthroughService. From what I was taught a CSV would have to be mapped to a RecordMap then you can parse out the CSV using EnsLib.RecordMap.Service.FileService.
https://docs.intersystems.com/healthconnect20191/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_recmap
Scott
I have opened a ticket with WRC regarding this issue.
From what I read is the basic purge does not take care of the orphaned messages. That's why there is this manual step we have to configure.
Not sure if this will answer your question or not, but we had to move to the jTDS JDBC driver in order to pass an AD account through a connection.
jdbc:jtds:sqlserver://(server name/port) ;instance=tp;domain=osumc;useNTLMv2=true;cacheMetaData=true;prepareSQL=2;
That was my mistake I needed to replace tVal with tFound.
I don't have a PIDGrp in my structure...
.png)
.png)
When I feed a lab result through with OBX:3.1 valued, it is not being identified in this WHEN statement. Any other suggestions?
I should of explained this a bit better.
We have 3 servers, 2 (A,B) Locally, 1 (C) offsite.
Currently we are running on Server B. If I do a backup of Server B on 2015.2.2, can I restore it on Server C after it has been upgraded to 2019.1.
I was wondering if the Full System Backups were compatible across versions of Health Share/Health Connect, since 2019.1 everything changed from ccontrol to iris.
I thought I would give this a shot before bugging WRC, but I'll go ahead and ask them.
Thanks
Scott

so how would the code block look like for the following... How do I return the EnsLib.SQL.Snapshot?

Thanks
Scott
Can you explain further, I guess I am not following?
Thanks
Scott
What do you mean by "After that you need to create an instance of this class and add it to HeaderOut property of your WS client."
I created the custom header as suggested above
{
Parameter XMLFORMAT = "literal";
Parameter XMLIGNORENULL = "RUNTIME";
Parameter NAMESPACE = "urn:epic-com.2013.Interconnect.Headers";
Parameter XMLTYPE = "Epic-Client-ID";
Property Value As %String(MAXLEN = 36, XMLPROJECTION = "CONTENT") [ InitialExpression = "12349fe5-2ff8-4b79-b723-e69efbabcdef" ];
}
then in my operation I did the following...
{
set h=##class(osuwmc.Epic.CustomHeader).%New()
if mustUnderstand{set h.mustUnderstand = 1}
Do ..HeadersOut.SetAt(h,"osuwmc.Epic.CustomHeader")
}
but still got an error on HeadersOut.
.png)
What is HeadersOut and where do I set it?
When I add my method to my operation I am getting an error on ..HeadersOut . I am running 2015.2.2
Method AddCustomHeaderElement(mustUnderstand = 0)
{
set h=##class(osuwmc.Epic.CustomHeader).%New()
set h."Epic-Client-ID" = "Test"
if mustUnderstand{set h.mustUnderstand = 1}
Do ..HeadersOut.SetAt(h,"osuwmc.Epic.CustomHeader")
}

I read the instructions on how to create a custom header, however how do I specify the sub element of Epic-Client-ID, if we aren't allowed to use "-" Parameter, Property names?
I thought with external calls they could not be async.
With a little help I have built the following Method to Decode and save off the Encoded pdf but return me the directory that I saved the PDF under....
ClassMethod DecodeBase64HL7ToFile(base64 As %Stream.GlobalBinary, Ancillary As %String, FileName As %String) As %String
{
set ArchDir = "/ensemble/data/transfer/AncillaryPDF/"
set ArchAncDir = ArchDir_Ancillary_"/"
set FaxDateDir = ArchAncDir_$PIECE($ZDATE($HOROLOG,7)," ",1)_"-"_$PIECE($ZDATE($HOROLOG,7)," ",2)_"-1/"
if '##class(%Library.File).DirectoryExists(ArchDir)
{
do ##class(%Library.File).CreateDirectory(ArchDir)
}
if '##class(%Library.File).DirectoryExists(ArchAncDir)
{
do ##class(%Library.File).CreateDirectory(ArchAncDir)
}
if '##class(%Library.File).DirectoryExists(FaxDateDir)
{
do ##class(%Library.File).CreateDirectory(FaxDateDir)
}
set Oref = ##class(%FileBinaryStream).%New()
///$$$LOGINFO(FaxDateDir_FileName)
set Oref.Filename = FaxDateDir_FileName
Do base64.Rewind()
While 'base64.AtEnd {
set ln = base64.ReadLine()
set lnDecoded = $system.Encryption.Base64Decode(ln)
do Oref.Write(lnDecoded)
}
Do Oref.%Save()
set PDFFilePath = FaxDateDir_FileName
return PDFFilePath
}
I have Field Test 2019.1 loaded on another PC. If I export 2.8.HL7 from it, can I, or will it work in version 2015.2.2??
Are schemas backwards compatible within Ensemble?
I do something simular to what you asking. But my AD Group matches a Role that I had built within Ensemble. I give certain users access to modify their own data lookup tables, by creating individual pages for them and locking it down so they can not access the rest of Ensemble. It works pretty well.
the Syntax for MAXLEN was wrong. Instead of MAXLEN(5000) it should of been MAXLEN = 5000
We are still somewhat old school eGate folks in this sense. We send all of our transactions to flat files, then we can use those files to feed in data into the test system if needed. We did this when we moved from eGate to Ensemble to make sure we were getting the same transactions and counts.
Please see Jeff's answer below.
You can use split on ZC02, get the length, then for each number that it split you create a separate DFT message.
I didn't originally write the code but it works. My guess is my teammate who wrote it was trying to compensate for partial values, as in decimals.
ClassMethod IsNumeric(value As %String) As %Boolean
{
//Load value into local var tNumber
set tNumber = value
//Use $extract to get the FULL VALUE into an internal format for $isvalidnum
set tFullValue = $EXTRACT(tNumber,1,$length(tNumber))
//Use $isvalidnum to check if the full value is numeric (ex: 123456789 = true, 123456789x = false)
set tNumberIsValid = $ISVALIDNUM(tFullValue)
//At this point, we simply return tNumberIsValid (it will either be 1, true or 0, false)
quit tNumberIsValid
}
It seems Node .js is not going to be a viable option. My systems folks said it was compliled with a different GCC than what we have loaded on our AIX Server. If we were to load Node.js it would mess up the rest of the scripting (PERL, Shell) we do on the server.
Javascript was just one idea, I bet there are many other types of code that can be used to adjust an image resolution. Is there anything that can be called from Atelier without having to install a bunch of software on the server?
I guess I am not following. I have created class files in the past through Studio to call those globals I referenced before. I am not familiar with the CRUD method, but a simple SET ^PERSON(1) = "MIKE|MALE|Developer" should be able to set your global, and when you do a GET to pull the information out of the global you can use PIECE to split the string apart by the | . Someone out here in the development community might have a better answer for you.