Interesting article and well written. What could the potential use cases be? Can the functionality be stripped down to bear minimum to reduce the application foot print and enhance the integration capabilities for smart home devices?

Looks like ClearTable is not the correct method. As per the code, its doing

ClassMethod %ClearTable(pTable As %String)
Kill ^Ens.LookupTable(pTable)

so..i did this but not too comfortable touching the globals directly. Hoping there is a cleaner way... (the below works)..

Table initialization

s tmpTable = ##class(Ens.Util.LookupTable).%New()
s ^Ens.LookupTable("myNiCTmpTable00992314","DUMMYVAL")=0 //create some randomly named table

<....use this tmp table for lookup and adding new rows.>

delete the tmpTable once done with usage

d tmpTable.%ClearTable("myNiCTmpTable00992314")

Edit: Adding a 2 digit random number at the end of the temp table name to ensure no conflict if multiple threads are running at the same time.

Thank you Eduard. Below is the error i am getting

ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zSetPatientPhotoOperation+2^UH.Photo.Operation.IPatientAccessMobileServices2016.1 *SetHttpHeader,EnsLib.SOAP.OutboundAdapter -- logged as '-' number - @' Set tSC = ..Adapter.SetHttpHeader("something", "someValue")'

Thank you Eduard and Robert. 

Do i have to encode this to base64 prior to the WS call?

HI Marc - how about during daylight savings time? Does this routine take care of that case even though we are specifying %K(-5)? May be use  $System.Util.IsDST() and do -4 if true.

Edit: That check if DST will not work if the input timestamp falls in DST but we are doing the conversion outside of that. There has to be an easier way to convert this (may be against the local OS timezone or something).

Thank you Vitaliy. why 5700? is there an optimal chunk size to split a large stream?

Thank you Scott. So assuming you were pushing to multiple targets at the service level?

does any one know what 'quit 0' will do at the DTL level? Does this retry the same message? Appreciate it.