go to post Guillaume Rongier · Oct 25, 2020 Hi Ravikumar, All can be done in InterSystems IRIS with almost no code. Have a look at this demo to convert HL7v2 to FHIR : https://openexchange.intersystems.com/package/FHIR-HL7v2-SQL-Demo For JSON/XML to FHIR, you can have a look here : https://github.com/grongierisc/HL7ToJson For HL7 SIU, the same can be achieved with the first link. For CDA/FHIR you have example here : https://github.com/grongierisc/FHIRaaS/blob/master/src/Interop/BP/CCDATr... If you need more help, let me know.
go to post Guillaume Rongier · Oct 23, 2020 I agree with you in most cases. The most important announcement for me would be Embedded Python.This will bring to the community the power of python libraries, it's a giant step forward. https://www.youtube.com/embed/widxuV4Ov9s[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
go to post Guillaume Rongier · Oct 23, 2020 Hi, you have to use irisinstall with elevated privileges. cf: https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View.c...
go to post Guillaume Rongier · Oct 22, 2020 Thanks @Henrique Dias It is the principle of a community, between helping and sharing.BTW, I really liked the last video with the other members of the community about your NPM project. https://community.intersystems.com/post/promo-video-screencast-no-projec...
go to post Guillaume Rongier · Oct 20, 2020 Hi, SuperServer port since 2020.3 is 1972 : docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2020.3.0.221.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2020.4.0.521.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2020.3.0.221.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2020.4.0.521.0-zpm
go to post Guillaume Rongier · Oct 8, 2020 Don't forget that SuperServer port changed from 51773 to 1972 cf : https://irisdocs.intersystems.com/iris20203/csp/docbook/Doc.View.cls?KEY... docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2020.3.0.221.0-zpm docker run --rm --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.2.0.204.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2020.3.0.221.0-zpm docker run --rm --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/irishealth-community:2020.2.0.204.0-zpm
go to post Guillaume Rongier · Sep 1, 2020 Don't know if that can help, but with this module, you can do the other way around from swagger generate persitent classes. https://openexchange.intersystems.com/package/objectscript-openapi-defin...
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 · Apr 7, 2020 Adaptor now aviable on zpm : zpm install sql-batch-outbound-adaptor
go to post Guillaume Rongier · Mar 10, 2020 Hi, here is a similar article about ensdemo for IRIS and IRIS for health. https://community.intersystems.com/post/install-ensdemo-iris
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 30, 2020 Hi Blaise, You can pass %OnNew expection to %New with this code snippet : Class Test.PersitenceTest Extends %Persistent { Property mandatory As %String [ Required ]; Method %OnNew(mandatory As %String = "") As %Status { set ..mandatory = mandatory $$$ThrowOnError(..%ValidateObject()) Quit $$$OK } } Now when you call the new method : USER>set test = ##class(Test.PersitenceTest).%New() If $isobject($get(newerror))=1 Throw newerror ^<THROW>%Construct+9^Test.PersitenceTest.1 *%Exception.StatusException ERROR #5659: Property 'Test.PersitenceTest::mandatory(10@Test.PersitenceTest,ID=)' required Now you can catch you %OnNew expection anywhere : ClassMethod test() As %Status { try { set test = ##class(Test.PersitenceTest).%New() } catch ex { Return ex.AsStatus() } Return $$$OK }
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 · Jan 9, 2020 Studio : Like : It's fast Find in files directly on the server side Intuitive Debugging is not perfect but manageable Dislike : Only on windows No easy to use with other third party file or software Atelier : Like : Easy to use with source control Dislike : File synchronization with server especially BPL, DT, RecorMap Complicate to configure Slow VS Code with Dmitriy's plugin Like : Modern UI Crossplatform Lite Intuitive with no file synchronization concern Fast Dislike : Can't edit, manage CSP files No find in file on server side Debugging not easy to use Serenji : I haven't tried it yet because you need to install some classes on the server side, but sound very promising for debugging. Conclusion : My main IDE is VSCode with Dmitriys's plugin and some times Studio for find in files, csp managment and debugging. Do you expect to be writing code in a web-based editor five years from now? Yes, why not, already a lot of people do it on Jupyter Notebook.
go to post Guillaume Rongier · Aug 20, 2019 The dialect of Intersystems IRIS being approved in the hibernate git repository.The depot managers want to stop the "support" of the Cache dialect to position the IRIS one.https://github.com/hibernate/hibernate-orm/pull/2335
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 · Jul 29, 2019 Thanks for sharing this knowledge on ObjectScript language.I haven't heard of SOLID Principle before, I'll apply it on my next code.BTW : can you share your sildes for an easier walkthrough ?