go to post Guillaume Rongier · Dec 2, 2020 Hi Yuri, Not now but it's plan to be in the future, may be next year.
go to post Guillaume Rongier · Nov 17, 2020 If you have license key for heathshare (no community version of healthshare is available), the installers and familiar with docker, check this git : https://github.com/grongierisc/healthshare-docker It's an unofficial version of HealthShare on docker, very useful to do test and build edge on the fly.
go to post Guillaume Rongier · Nov 17, 2020 If you need an how-to de develop an interoperability production check this git. https://github.com/grongierisc/formation-template It's in french but you will have a lot of gif to get throw the tuto and build a CSV parser and drop the file in the database with transformations.
go to post Guillaume Rongier · Nov 4, 2020 Hi Mike, To retrive multi-part from %resquest you have do to this in the %CSP.REST class : // Get properties set body = %request.Get("body") if '$d(body) { $$$ThrowOnError($$$ERROR(9200,"no parameters")) } set dynaBody = {}.%FromJSON(body) // Get stream set stream = %request.GetMimeData("file") if ('$IsObject(stream) { $$$ThrowOnError($$$ERROR(9200,"no file")) } To get property you have to use Get and for stream GetMimeData In my example my body is a json.
go to post Guillaume Rongier · Nov 3, 2020 Hi Paul, Are you looking for theses classes : HS.Hub.Standalone.HL7.DTL.SubTransform.PD1ToSDA3 HS.Hub.Standalone.HL7.DTL.SubTransform.PIDToSDA3 and co ? And you can have a look at this code to convert any HL7 and all his segment into SDA : https://github.com/grongierisc/FHIR-HL7v2-SQL-Demo/blob/master/src/FHIRD...
go to post Guillaume Rongier · Oct 27, 2020 Hi Yakov, Have you tried to extend you target message by %SerialObject rather than %RegistredObject. In fact, %RegistredObject are in memory object and can't be transmitted in Messages. More details in this documentation : https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI...
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 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 · 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.