go to post Guillaume Rongier · Jun 22, 2020 Hi Klaus, You have to proxy IRIS to use https. To do so, use this git : https://github.com/grongierisc/Https-Proxy-IRIS-Docker Simple https proyx https://github.com/lscalese/isc-webgateway-letsencrypt More robust Https proxy with certbot and https between proxy and IRIS https://github.com/grongierisc/IRIS-Oauth2-Server-Client An example of IRIS as an Oauth2 server + embedded apache https proxy + full implementation of those tutos : https://community.intersystems.com/post/intersystems-iris-open-authoriza...
go to post Guillaume Rongier · Jun 12, 2020 Hi Yuri, You have to use a proxy server to do that. Have a look at this git : https://github.com/grongierisc/Https-Proxy-IRIS-Docker or this one : https://github.com/lscalese/isc-webgateway-letsencrypt
go to post Guillaume Rongier · May 25, 2020 Hi Tom, You can have a look at this documentation : https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=EDIC... to help you to create a dicom production to send document to pacs. If you are not on Ensemble, you have in the community installer for ENSDEMO production : https://openexchange.intersystems.com/package/irishealth-ensdemo But in short, you have to create an EnsLib.DICOM.Document Fill it with information about the patient, ect. e.g Set pDocOut = ##class(EnsLib.DICOM.Document).%New() // Set patient data $$$THROWONERROR(tSC, pDocOut.SetValueAt("Toto^Toto", "DataSet.PatientName")) $$$THROWONERROR(tSC, pDocOut.SetValueAt(1, "DataSet.PatientID")) //Set pdf in EncapsulatedDocument $$$THROWONERROR(tSC, pDocOut.SetValueAt("application/pdf","DataSet.MIMETypeOfEncapsulatedDocument")) /// File is you binary pdf document IF '$IsObject(file) $$$THROWONERROR(tSC, $$$ERROR($$$FailedToNewClass, "%Stream.TmpBinary")) // DICOM Standard PS3.5: The Value Field containing Pixel Data, like all other Value Fields in DICOM, shall be an even number of bytes in length // Thanks Michel Liberado for this hack IF (($L(binary) # 2) '= 0) { // Any char would be fine but I want to have the End Of Transmission ASCII character $$$THROWONERROR(tSC, file.Write($CHAR(4))) } $$$THROWONERROR(tSC, pDocOut.SetValueAt(file,"DataSet.EncapsulatedDocument")) Once you have your pDocOut you can send it to business process Demo.DICOM.Process.Storage
go to post Guillaume Rongier · Jan 30, 2020 Hi Lucas, All security settings are store in the %SYS databases. You can access then with this query : select * from Security.System Or with this procedure select * from Security.System_List() If you want to do this in COS : s ResultSet=##class(%ResultSet).%New("Security.System:List") d ResultSet.Execute() While ResultSet.Next() { zw ResultSet.Data("Name") } Like that you don't have to use the export function who only create files. Now you can parse data and build your report directly from an homemade object.
go to post Guillaume Rongier · Jan 16, 2020 Hi Kevin, You can use IOAddr property from EnsLib.TCP.CountedInboundAdapter IOAddr property come in this format : 57777<-127.0.0.1:54844 To extract the source IP adresse you can parse it like that : set fullIOAddr = ..Adapter.IOAddr //57777<-127.0.0.1:54844 set remoteIP = $P($P(fullIOAddr,"-",2),":",1) //127.0.0.1
go to post Guillaume Rongier · Aug 1, 2019 Hi Julian,On what version of InterSystems product you are working on ?If it's on Ensemble, check out ENSDEMO namespaces, you will have an example of what you are looking for with this production : Demo.DICOM.Production.StorageLocalIf you are on Iris for health you can install EnsDemo with the help of this git : https://github.com/grongierisc/InstallEnsDemoHealth
go to post Guillaume Rongier · Apr 18, 2019 If you want some examples, benchmarks and ready to use adaptor you can have a look at this :IRIS/Ensemble as an ETLOpen ExchangeBathSqlOutboundAdaptorWith this adaptor you can expect to be more than 10 times faster. (this github provides you examples).
go to post Guillaume Rongier · Jan 22, 2019 My guess is that you are concatenating string with the operator "&" (AND) instead of "_".If you do so, ObjectScript will cast your string as boolean false, the result of (false and false and false) equals 0, the result you see in your question. Method PatientInfo(ID As %String) As %Status { #dim status as %Status=$$$OK SET myquery="SELECT GUID, IDType,IDValue FROM MergeHyland.TypeTwoDimesionCollection WHERE GUID ="_ID SET rset=##class(%ResultSet.SQL).%Prepare(myquery,.err,"") WHILE rset.%Next() { WRITE !,rset.GUID _ ":" _ rset.IDType_ ":" _ rset.IDValue } WRITE "End of data" return status }
go to post Guillaume Rongier · Jan 7, 2019 Hi Eduardo,My comprehension of your use of Git and Ensemble is that all devs build on the same sever like this :This is not the way to go.I recommend to use this model where every devs have there own server :
go to post Guillaume Rongier · May 31, 2017 Hi, Have you try to type your SQL parameters : set param(i,"SqlType") = 12 //12 for SQL_VarCharI hope this will help you.