Question Paul Riker · Jun 6, 2019

I have a custom process that is parsing HL7 and inserting it into a table. Periodically the inserts fail with # due to error: ERROR #5803: Failed to acquire exclusive lock on instance of.... 

Traditional databases would wait until the lock is removed then do the insert, but cache fails. I'm sure it's my coding approach.

How can I work around this? A Try/Catch loop?

Thanks in advance.

7
0 1067
Question Paul Riker · Mar 29, 2019

We have been storing raw messages in a MySQL database for DR and ad hoc purposes. We are thinking of using an Ensemble instance as our data lake instead. We could segregate the source data by namespace or by global. But either way we'll want a custom global to index the data for data retrieval performance purposes.

Anyone else taking this approach? Any feedback?

2
0 546
Question Paul Riker · Apr 24, 2018

I want to create an interface specific purge job. Please let me know if there are any holes in my approach. I realize that an interface that went from HospitalAService to HospitalARouter to PracticeBOperation would require two separate executes in my example below, but I want that granularity as there are some intermediate steps in our workflows that we don't need to retain messages for.

2
0 947
Question Paul Riker · Dec 27, 2017

We do not use the out of the box web server (57772) for HealthConnect, we run a stand alone instance of Apache with https enabled. Now when I go to Tools > Templates > Web Form Wizard,  I get an error Navigation Cancelled. I get a similar error when I try Tools > Add Ons > Add On.

Any ideas?

7
0 861
Question Paul Riker · Sep 5, 2017

Is it possible to execute a sql update statement from objectscript? This code isn't working for me.

Set tSQL = "UPDATE table Set Status = 'Completed' WHERE ID in (1,2,3,4)"
Set tStatement = ##class(%SQL.Statement).%New()
Set tSC = tStatement.%Prepare(tSQL)

If I write my dynamic sql to the event log, copy and execute it in the Management Portal, it works fine.

4
0 963
Question Paul Riker · Apr 18, 2017

I have a client sending us data MLLP in base64 format. I'm using the EnsLib.HL7.Adapter.TCPInboundAdapter adapter. What setting do I change to accept the base64?

2
0 601
Question Paul Riker · Apr 4, 2017

I have an EMR sending double quotes "" as the value. How do I write criteria to find this match in a DTL?

PV1|1|A|||||1111111111^Doctor^MR|||||||||||||||||||||||||||||||||||||20170331|""

source.{PV1:DischargeDateTime()}="""" didn't work

2
0 759
Question Paul Riker · Mar 24, 2017

GT1|1|1|Test^Test||123 Building^123 Building^Brooklyn^NY^11220^United States^^^Kings|^PRN^PH^^^^^^^^^(111) 111-1111~^PRN^CP^^^^^^^^^(222) 222-2222|||""|IN|DGH^Daughter

I'm trying to clear the phone number completely.

Remove target.{GT1(1):GuarantorPhNumHome()} still gives me _~_

2
0 467
Question Paul Riker · Dec 13, 2016

I want to set the value in the second field of OBX-5, or OBX-5-2. My schema is not broken down to that granular level, so I can't just click OBX-5-2 to populate it. I tried a few variations without success.

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1).2}

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1)(2)}

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1.2)}

 

Any ideas?

4
0 946
Question Paul Riker · Oct 17, 2016

I have a persistent class where I am logging each CCDA I receive. I want to store all of the providers associated to that CCDA (many to one). In a relational database, I would have a child table with a foreign key to the primary table. I'm guessing the equivalent to Cache would be 

1. Create a custom class (ProviderList) with the properties I want to store.

2. Add the class as a property of my CCDA persistent class.

Property Providers as Array of ProviderList (SQLProjection = "table/column";

Am I on the right track?

4
0 578
Question Paul Riker · Oct 5, 2016

I'm trying to read PID-3 and route the message based on if a certain prefix existed, but I keep getting Property Does Not Exist.

I've tried

HL7.(PID:PatientIDInternalID()) Contains "COS"

HL7.(PID:PatientIDInternalID(1)) Contains "COS"

HL7.{PID:PatientIDInternalID()} Contains "COS"

HL7.{PID:PatientIDInternalID(1)} Contains "COS"

This is a 2.3 MDM message. Thanks!

1
0 620
Question Paul Riker · Sep 19, 2016

What are the pros and cons of developing a custom database driven routing engine vs. using the Ensemble standard routing engine. What I'm trying to accomplish with the custom routing engine is less manual intervention every time a new route is added. The con I can see with the custom engine is performance may lag behind the standard engine. My development vs. Intersystems essentially.

I appreciate feedback. Thanks!

3
0 487
Question Paul Riker · Aug 9, 2016

We want to isolate the storage of our CCDAs from our HL7 V2 data, but keep them under the same namespace. From my understanding, I should create a new database then store those classes related to CCDAs in that database. Is this the correct approach?

1
0 449
Question Paul Riker · Jul 6, 2016

I am writing a static SOAP response to simply test connectivity. The end users is getting an error "Message: The processing instruction target matching [xX][mM][lL] is not allowed.", which I believe is related to white space. if I observe the response, it looks like there are two blank lines between the header and the body, which I'm guessing is the white space problem. But I can't seem to get rid of it.

Any ideas?

Code:

3
0 1385