go to post Scott Roth · Oct 21, 2021 I believe the bottleneck is in the BPL with the sheer quantity/format of records. I have done several BPL's that take either flat file data, or HL7 messages and insert them into SQL tables using a JDBC Stored Procedure call. Looking over the Adapter you mention, how is that different than just inserting the data into a stored procedure to do the insert? It appears that you are creating the "Dynamic" SQL statement in the class file to be sent and executed. In the past I have tried making "Dynamic" SQL statements through a JDBC call and it slows the process down, because the SQL statement will have to be built in SQL before it executes. With Stored Procedures the SQL statement is already on the MS SQL database so it just needs to pass the variables, and doesn't have to add that extra step of validating, and building the SQL query before execution.
go to post Scott Roth · Oct 4, 2021 I do something similar to what you are trying to do, I Decode the PDF, save the PDF locally, and return a path to the DTL. Several on the developer community helped me figure this out... 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 }
go to post Scott Roth · Jun 17, 2021 I believe Intersystems has stopped any development/enhancements on the Atelier plug in. They are now more focusing on using Visual Studio Code. Personally I never got into Atelier, but Visual Studio Code seems to be better than IRIS Studio.
go to post Scott Roth · Apr 23, 2021 Does this make sense.. What if I didn't use the %SYS.OAuth2 library and just treat it as another POST object that I put in my Operation as OnInit()? Do you think that would work?
go to post Scott Roth · Apr 23, 2021 Where would I put the Key that they gave me? {"Key" : "xxxxxxxxxxxxxxxxxxxxxxxx","Id": "xxxxx","Secret": "xxxxx","Resource": "xxxxx","Instance" : "xxxxx"}
go to post Scott Roth · Apr 22, 2021 When I attempt to "Discover and Save", I get....ERROR #6059: Unable to open TCP/IP socket to server localhost:80. But I do not want it to go out port 80.
go to post Scott Roth · Apr 22, 2021 So I re-read the vendor's documentation. They are using Oauth, and passing back a Token to use when sending Requests. Can I build Oauth into the Operation? If so does anyone have examples of doing this?
go to post Scott Roth · Apr 22, 2021 Do you really have to for authentication purposes? I think what I want to do is the following... https://docs.intersystems.com/healthconnect20191/csp/docbook/Doc.View.cl... Is there any examples out there for this? How can this be done?
go to post Scott Roth · Apr 22, 2021 I haven't tried even building it yet to be sure. But it does need to be sent via HTTPS. How would I create a custom header for this?
go to post Scott Roth · Mar 3, 2021 I am seeing the same error, below is what my cconsole.log is displaying 03/03/21-12:57:08:095 (39846580) 0 tpopen for host www.osumc.edu device number 61400583 port 443 mode 0x8848 tcpmode 0x124 terminators ibfsz 8192 obfsz 8192 queuesize 5 timeout 5 tcpsbuf=0 tcprbuf=0, XY=off, BINDTO=10.82.124.9103/03/21-12:57:08:095 (50397494) 0 SSL/TLS configuration: OSUWMC03/03/21-12:57:08:097 (39846580) 0Cipher list: ALL:!aNULL:!eNULL:!EXP:!SSLv203/03/21-12:57:08:097 (39846580) 0Trusted certificate file: /ensemble/TestClin/mgr/LDAPKeyStore/OSUWMC_CA.cer03/03/21-12:57:08:097 (39846580) 0^MPeer verification option = 1, certificate depth = 903/03/21-12:57:08:097 (39846580) 0SSL/TLS client requested.03/03/21-12:57:08:100 (39846580) 0Verify error with X.509 certificate at depth 203/03/21-12:57:08:100 (39846580) 0Subject: /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority03/03/21-12:57:08:100 (39846580) 0Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services03/03/21-12:57:08:100 (39846580) 0Error: 20, unable to get local issuer certificate03/03/21-12:57:08:100 (39846580) 0SSL/TLS error return from SSL_connect().03/03/21-12:57:08:100 (39846580) 0SSL_ERROR_SSL: protocol error03/03/21-12:57:08:100 (39846580) 0error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed03/03/21-12:57:08:100 (39846580) 0TPXMIT saw TCP device fail
go to post Scott Roth · Feb 5, 2021 I was never able to get this to work, and now I have another case where I need to do something similar as I have a linked table that is dynamic and need to use as a filter in a router. Can someone see what I might be doing wrong? Thanks Scott
go to post Scott Roth · Feb 3, 2021 I am not quiet sure your syntax is correct is probably should be ..Piece(source.{PV1:AlternateVisitID},"~",*) or source.{PV1:AlternateVisitID(~).IDNumber} https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI.Page.cls?KEY=EEDI_virtual_property_paths
go to post Scott Roth · Feb 3, 2021 One way you can do this is using the function Piece. https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RBAS_fpiece
go to post Scott Roth · Jan 14, 2021 I keep getting the following... ERROR <Ens>ErrException: <UNDEFINED>zTransform+134 ^osuwmc.EpicOMStoMatSysTecsysBkLoad.1 *%Ensemble("FeederScottRouting") -- logged as '-'number - @'set bp = %Ensemble("FeederScottRouting")'
go to post Scott Roth · Jan 14, 2021 So... %Ensemble("%Process") should be the Business Process (aka Router) that is calling the original DTL?
go to post Scott Roth · Jan 14, 2021 I think I found a way to handle it but I am struggling on how to send an Ens.Request message to another Operation in the middle of a DTL. I tried this through a function, but Ensemble does not recognize the SendRequestSync that I am trying to send. Is it possible to send another message to another Business Operation using Code/Function in the middle of a DTL?
go to post Scott Roth · Dec 10, 2020 For those that do not know what those tools are and are just getting into SQL, navigating around the tool within IRIS/HealthShare can be difficult at times. Even trying to use those tools can be complicated in setting up the necessary connections and settings.
go to post Scott Roth · Dec 10, 2020 I would like to see a more modern SQL management/editor within IRIS.