The majority of my Ancillary billing files in HL7 are batch. In the structure I have just made FHS, BHS,FTS,FHS all optional. In my DTL, I am only processing those messages that truly begin with a MSH segment.
- Log in to post comments
The majority of my Ancillary billing files in HL7 are batch. In the structure I have just made FHS, BHS,FTS,FHS all optional. In my DTL, I am only processing those messages that truly begin with a MSH segment.
Just following up, can anyone answer my question above?
Yes the JDBC Gateways within the Production do stop and start when Cache' is going down and coming back up, but I am talking at the %SYS level,

Without the JDBC Gateway Server running a lot of the JDBC Gateway's (Services) start failing in the production which causes us issues.
ZSTART and ZSTOP are kind of vague, how does that fit into ccontrol start and ccontrol stop. Is there any setting where this can be set to automatic?
Scott
Eduard, where can I see the code for ZSTART AND ZSTOP?
Thanks
Scott
Thanks.
Sean,
I tried running through your example above. When I got to set results={} ,I got the following error. Does this mean I could not get a connection outside my firewall at the Hospital?
USER>set req=##class(%Net.HttpRequest).%New()
USER>set req.SSLConfiguration="npiregistry"
USER>set sc=req.Get("https://npiregistry.cms.hhs.gov/api?city=balimore&postal_code=212")
USER>set results={}.%FromJSON(req.HttpResponse.Data)
<THROW>%FromJSON+37^%Library.DynamicAbstractObject.1 *%Exception.General Premature end of data 12 Line 1 Offset 0
USER 2e1>write results.%Get("result_count")
WRITE results.%Get("result_count")
^
<UNDEFINED>^%Library.DynamicAbstractObject.1 *results
USER 2e1>set results={}.%FromJSON(req.HttpResponse.Data)
<THROW>%FromJSON+37^%Library.DynamicAbstractObject.1 *%Exception.General Premature end of data 12 Line 1 Offset 0
Thanks
Scott
Yes I created a blank SSL/TLS confirguration called npireigstry just like you mentioned above.

I wrote out sc after executing the GET and got the following...
write sc0 [Š%<WRITE>zSend+199^%Net.HttpRequest.1 'USER #$^zSend+199^%Net.HttpRequest.1 +1 $^zGet+1^%Net.HttpRequest.1 +1X^@ +1$D^zExecute+15^%Studio.General.1 +1X^@ +1 D^runMtdLow+22^%SYS.BINDSRV +1 D^popFrame+199^%SYS.BINDSRV +1!D^ServerLoop+23^%SYS.BINDSRV +2!D^SuperConnect+34^%SYS.DBSRV +1"D^SuperServer+112^%SYS.SERVER +1
Any Idea on what this error could be?
Does this only work on certain Ensemble versions? I tried it on 2015.2.2 and was getting SYNTAX errors.
I think I am definately being blocked along the process somewhere. I tried the above commands as Sean mentioned with a proxy and without one, but I keep running into issues.
USER>set req=##class(%Net.HttpRequest).%New()
USER>set req.SSLConfiguration="npiregistry"
USER>set req.Server="npiregistry.cms.hhs.gov"
USER>set req.Https=1
USER>set req.Port=443
USER>set sc=req.Get("/api?city=baltimore&postal_code=212")
USER>write req.HttpResponse.Data.Read(300000)
WRITE req.HttpResponse.Data.Read(300000)
^
<INVALID OREF>
USER>set req=##class(%Net.HttpRequest).%New()
USER>set req.ProxyServer="10.127.20.41"
USER>set req.ProxyPort="8080"
USER>set req.SSLConfiguration="npiregistry"
USER>set req.Server="npiregistry.cms.hhs.gov"
USER>set req.Https=1
USER>set req.Port=443
USER>set sc=req.Get("/api?city=baltimore&postall_code=212")
USER>write req.HttpResponse.Data.Read(300000)
WRITE req.HttpResponse.Data.Read(300000)
^
<INVALID OREF>
Without Proxy...
0 +«npiregistry.cms.hhs.gov:443
With Proxy
0 3Â %<WRITE>zSend+179^%Net.HttpRequest.1
Here is the same code but from the Studio (class view)
<assign value='##class(%Stream.GlobalCharacter).%New()' property='tStream' action='set' />
<assign value='source.GetFieldStreamRaw(.tStream,"ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).AlternateText",.tRemainder)' property='tSC' action='set' />
<if condition='..Length($get(tSC))>0' >
<true>
<assign value='"1"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:SetIDOBX}' action='set' />
<assign value='"ED"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ValueType}' action='set' />
<assign value='"7"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationIdentifier.Identifier}' action='set' />
<assign value='"URL"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationIdentifier.Text}' action='set' />
<assign value='"EXTLRR"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationIdentifier.NameofCodingSystem}' action='set' />
<assign value='"1"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationSubID}' action='set' />
<assign value='"PDF"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).Identifier}' action='set' />
<assign value='"TMSAUDIO"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).Text}' action='set' />
<assign value='"PDF"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).NameofCodingSystem}' action='set' />
<assign value='"Base64"' property='target.{ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).AlternateIdentifier}' action='set' />
<assign value='target.StoreFieldStreamRaw(tStream,"ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).AlternateText", tRemainder)' property='tSC' action='set' />
<assign value='""' property='$P(tRemainder,"|",11)' action='set' />
</true>
</if>
I haven't really dove into Node,js, but I will look into it.
Thanks
Scott
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.
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 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.
Please see Jeff's answer below.
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.
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.
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 thought with external calls they could not be async.
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?
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")
}

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
Class osuwmc.Epic.CustomHeader Extends %SOAP.Header
{
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...
Method AddCustomHeaderElement(mustUnderstand = 0)
{
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?
Can you explain further, I guess I am not following?
Thanks
Scott
so how would the code block look like for the following... How do I return the EnsLib.SQL.Snapshot?

Thanks
Scott

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
.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 don't have a PIDGrp in my structure...
.png)