Hey Developers,
Get updated on recent changes to Provider Directory and Patient Index. Take a peek at what is coming next:
InterSystems HealthShare is a healthcare informatics platform for hospitals, integrated delivery networks (IDNs) and regional and national health information exchanges (HIE). HealthShare includes health information exchange, data aggregation, workflow, text analysis, and analytics technology.
Hey Developers,
Get updated on recent changes to Provider Directory and Patient Index. Take a peek at what is coming next:
I've experienced this problem several times recently. I go to a production in my development instance and click on the (+) to add a new service. A pop-up appears with the message "An error occurred with the CSP application and has been logged to system error log (^ERRORand nothing else. Examining ^ERRORS is of no help. There's a lot of gibberish there that isn't informative in the least.
I can add processes and operations just fine.
The last two times this happened I had to re-install HealthShare from scratch.
I am working in Intersystems Healthshare product.
I want to clear the message logs from a particular interface (Service,process,operation).
In intersystems we have the option to purge the data for all interfaces for the corresponding time but I want to clear the data logs for particular interface only.
Please let me know how to approach this scenario.
December 13, 2021 - Advisory: Vulnerability in Apache Log4j2 Library Affecting InterSystems Products
InterSystems is currently investigating the impact of a security vulnerability related to Apache Log4j2.
The vulnerability — impacting at least Apache Log4j2 (versions 2.0 to 2.14.1) — was recently announced by Apache and is reported in the United States National Vulnerability Database (NVD) as CVE-2021-44228 with the highest severity rating, 10.0.
Please see this page for more details about the vulnerability and updates on whether InterSystems Products are affected.
I've never had a problem changing the content-type on a response using either %CSP.Page or %CSP.REST until now. No matter where I put the line to set the content-type to "application/json", it stubbornly emits a content-type of "text/html".
In OnPreHTTP: (I tried one at a time)
either
do %response.SetHeader("content-type", "application/json") // didn't work
or
set %response.ContentType = "text/plain" // didn't work
The same lines in OnProcessInput() didn't change the output content-type, either.
The class signature is
Class HS.Local.VA.HS.DocRepo.Prefetch.Service.RESTService Extends (Ens.
Hey Developers,
Learn about the recent changes to InterSystems HealthShare Unified Care Record and what is coming next:
Hello Community,
After beta testing the new HealthShare Patient Index Technical Specialist exam, the Certification Team of InterSystems Learning Services has performed the necessary calibration and adjustments to release it to our community. It is now ready for purchase and scheduling in InterSystems exam catalog. Potential candidates can review the exam topics and the practice questions to help orient them to exam question approaches and content.
I need help with resolving this issue of Synchronization failing. 13:55:46.338:HS.Director: Switching to namespace 'MYPORTAL' [Foundation] 13:55:46.450:Ens.Director: Production 'MYPORTALPKG.HSCOMMProduction' starting... 13:55:46.589:....HSCOMMProduction: Table synchronization state: Waiting 13:56:01.604:....HSCOMMProduction: Startup Error 0 =Synchronization failed*zOnStart+50^HS.Util.AbstractProduction.1 MYPORTALÞ.e^zOnStart+50^HS.Util.AbstractProduction.1^2(e^zStartProduction+41^Ens.Director.1^1(e^zStartProduction+8^%SYS.Ensemble.1^1'e^zStartProduction+8^Ens.Director.1^1-e^zinvokeMethod+22^|"HSLIB"|HS.Director.1^1*e^zinvokeAll+28^|"HSLIB"|HS.Director.1^1(e^zStartAll+1^|"HSLIB"|HS.Director.1^19e^zStartProductions+2^|"HSLIB"|HS.UI.StartStopFrame.1^10e^zOnPage+24^|"HSLIB"|HS.UI.StartStopFrame.1^18e^zPage+9^|"HSLIB"|EnsPortal.Template.standardPage.1^2$e^CSPDispatch+480^%SYS.cspServer^2$d^CSPDispatch+274^%SYS.cspServer^1&d^zProcessRequest+1^%CSP.Session.1^1!d^Request+668^%SYS.cspServer2^1 d^Request+25^%SYS.cspServer2^1&d^zProcessRequest+1^%CSP.Request.1^1d^css+43^%SYS.cspServer2^1 d^SuperServer+55^%SYS.SERVER^3d^^^0 13:56:01.608:Ens.Director: ERROR #5001: Synchronization failed 13:56:01.609:Ens.Director: ERROR #5001: Synchronization failed 13:56:01.609:HS.Director: Switching to namespace 'MYPORTALREPORTS' [Foundation] 13:56:01.644:Ens.Director: Production 'MYPORTALREPORTS.ReportingProduction' starting... 13:56:03.182:Ens.Director: Production 'MYPORTALREPORTS.ReportingProduction' started.ERROR #5001: Synchronization failed
I'm upgrading my laptop, and installed HealthShare 2020.2. I wanted to import my server connections from my previous laptop, so I exported the Registry Keys (Windows 10) Under Computer\HKEY_CURRENT_USER\SOFTWARE\InterSystems\Cache\Servers from the old machine. I then imported them into new laptop, but I still don't get the list of connections in my HealthShare Remote System Access list from the HS Cube in my system tray.
Does anyone have a solution for this? I thought this was more portable.
Hi all,
I'm trying to output a XML file, mapped from a ORU_R01 2.3 HL7 message, with a file name based of fields in the source HL7 message in the following format,
source.{PIDgrpgrp(1).PIDgrp.PID:PatientIDInternalID(1).ID}_"-"_
source.{PIDgrpgrp(1).PIDgrp.PV1grp.PV1:VisitNumber.ID}_"-"_
source.{PIDgrpgrp(1).ORCgrp(1).OBR:ObservationDateTime.timeofanevent}
To give something like RXR0000000-000000123-20211125105415.xml as the output filename,
I initially tried to extend the EnsLib.XML.Object.Operation.
Hi Guys,
Is there a community version of Healthshare Connect? I know there is for Iris proper but I can't seem to find the Healthshare Connect Community version.
Regards
Mike
Hi all,
I'm using a snippet I found from Scott Roth to extract, decode, and save a PDF from a HL7 message and save it to a specified file path, but I'm running issues with the following error:.png)
My approach was to a create a utility function accessible from a DTL like this:
Class ELHTPRODPKG.Functions.Utility.ExtractPDF Extends Ens.Rule.FunctionSet
{
ClassMethod DecodeBase64HL7(base64 As %Stream.GlobalBinary, Path As %String, FileName As %String) As %String [ Final ]
{
//Debug
WRITE $LENGTH(base64)
// Decode
set Oref = ##class(%FileBinaryStream).%New()
set Oref.Filename = Path_FileName
Do base64.Rewind()
While 'base64.AtEnd
{
set ln=base64.ReadLine()
set lnDecoded=$system.Encryption.Base64Decode(ln)
do Oref.Write(lnDecoded)
}
Do Oref.%Save()
return Oref.Filename
}
}Hey Developers,
In the next video from #VSummit21 we'll show you recent changes to InterSystems HealthShare Health Connect and what is coming next:
Hi all,
Just wondering if there's a quick way to get the DocType, without knowing it in advance, from a message body by building a string from the VersionID, MessageType, and TriggerEvent fields? (Similar to how it might be done dynamically in Rhapsody)
Can this then be used to set the DocType for a source message?
If this is not the best practice what is a suitable alternative approach?
Thanks for your help,
Ben
InterSystems kits include an Apache web server, which provides a convenient way for customers to interact with the Caché/IRIS Management Portal without needing to install an external web server; however, this web server should never be used for production instances, and customers must install a web server that fits their specific needs and security/risk requirements.
Recent tests have noted some security issues with the currently included Apache web server.
Hey Developers,
Learn about new features in the InterSystems HealthShare Health Insight 2020.1 and 2020.2 releases and plans for future releases:
⏯ New & Next: Deliver actionable intelligence with HealthShare Health Insight
Hi Community,
Learn about strategic approaches being taken to leverage the potential of HL7 FHIR in InterSystems HealthShare:
Hello there!
I am hoping to get some help with "SQL Search index" and JSON objects.
I am storing a JSON object in a column of type %Stream.GlobalCharacter
Property JSON As %Stream.GlobalCharacter;
I also have a index that looks like below.
Index AnalyticIdx On (JSON) As %iFind.Index.Analytic(INDEXOPTION = 0, LANGUAGE = "en", LOWER = 1);
The index is updated on insert, but the property names are indexed as well, like firstName in a object like {"FirstName":"Magnus", "LastName":"Guvenal"}, Say I want "Magnus" ie FirstName och not "Güvenal" / LastName to be indexed.
I have an incoming data partner who occasionally passes a non-ASCII character in some free text fields which is causing some downstream systems to be unable to accept the message. Ideally I'm looking for some way to just process the entire message as a data transformation applied in the business rule, as we already have a pre-processor transform to remove the PD1 segment.
ClassMethod Transform(pRequest As EnsLib.HL7.Message, Output pResponse As EnsLib.HL7.Message) As %Status
{ Set $ZT="Trap",tSC=$$$OK
Set pResponse = pRequest.
I’m happy to announce that there is space available in a training on the InterSystems Change Control Record (CCR) application at the end of November. Class is open to InterSystems employees, partners, and customers that use the InterSystems CCR application (ccr.intersystems.com).
Capacity is limited, so please register now!
Course Name: InterSystems Change Control: Tier 1 Basics
When: November 30, 2021 – December 2, 2021, 9am to 5pm US Eastern Time
Where: Live, instructor-led virtual classroom with hands on exercises. You will receive connection details shortly before class.
I have a SIU message that has multiple AIS segments in an RGS group. I need to reorder the AIS segments based on the AIS 3.1 value.
What is the most efficient way to do this in a transform?
EnsLib.HL7.Adapter.TCPInboundAdapter has a Connected property that I assume is set to the state of the connection session with the remote host; i.e. 1 when Connected, 0 when not. I'm assuming this is the property the Production Configuration web page uses to display the state of the service (green for Connected, red for not Connected, etc.).
How can I interrogate the value of that property of an active service, via a method running in separate process?
(It really seems like I should know this, but I'm just not finding the right magical incantation)
I am using the following code to capture the current Date/Time and Date/Time from the previous 15 minutes
set now=$horolog
$$$TRACE("now:"_now) set time15min = $piece(now,",",*) - (15 * 60)
$$$TRACE("time15min"_time15min) set after = $piece(now,",",1)_","_time15min
$$$TRACE("after"_after) set datetime15=$zdatetime(after, 3)
$$$TRACE("datetime15"_datetime15) set datetimenow=$zdatetime(now, 3)
$$$TRACE("datetimenow"_datetimenow) set datetime15=$replace(datetime15," ","T")
$$$TRACE("datetime15"_datetime15) set datetimenow=$replace(datetimenow," ","T")
$$$TRACE("datetimenow"_datetimenow)
The issue I am having is that it errors at midnight as it cannot account for the previous day and the previous 15 mins (Time being 23:45)
Is there an "If" statement I can write to resolve this or something else?
Hi Developers! As part of an internal company hackathon at InterSystems, I'd love community feedback on a few topics. Feel free to chime on any/all of these via comment or direct message to me.
I am relativly new to this, so excuse me if i am asking a dumb question
HL7 schema is 2.4
When a HL7 message comes in and in the PID segment on spot 4 the word "Relation" is written, i want to filter out those messages through a Router Rule.
I have come up with several rules (when conditions), here are some examples.
HL7.{PID:4} CONTAINS "Relation"
or
HL7.{PID:AlternatePatientIDPID(1).ID} CONTAINS "Relation"
I have tried a lot of different Rules, but no luck yet.
But every time i test a massege what contains the word Relation in de PID segment on spot 4 it states ".....
Happy #VSummit21 week!!
CCR users should check out the following Virtual Summit '21 session by @Jean Millette:
Drinking Our Own Champagne: InterSystems AppServices Move from Zen Reports to InterSystems Reports
- Find out how we use the CCR application to make changes to the CCR application (for reports)
- Find out how we moved from Zen Reports to InterSystems Reports for the CCR application
Feel free to ask questions on the content.
Nice work Jean!!
Hello all,
I receive an embedded PDF link as part of a JSON message. The %Get method is currently used to extract the data items from the JSON message, however we have come across a problem when trying to extract a data item which is an embedded PDF file as the string is too long. Does anyone have any suggestions as to what would be the appropriate method to use to extract this particular data item?
Thanks
October 26, 2021 – Alert: Missing Locks after ECP Database Server Restart or Failover
InterSystems has corrected a defect that can violate application locking guarantees in a distributed cache cluster (ECP configuration), which can lead to application integrity issues. This defect affects:
We receive a JSON message containing an element which is larger than the system long string size. We are using Ensemble HealthShare v2017 which prevents us from using the %GET method as it doesn’t allow us to define the output as a Stream. We are instead trying to the read the contents of the JSON message using Readline function, and store the value into an instance of the %Stream.GlobalCharachter class, and then read from the instance of that class and write the contents of that element into a HL7 Message.
Hello All,
I am receiving this error when attempting to place a file in a local SFTP server.
ERROR <Ens>ErrFTPPutFailed: FTP: Failed to Put file '101320210700.RAW' (msg='Error in SFTP Put('/healthshare/mgr/Temp/VPacx9a1eq0b5g.iostream','/SFTP/unmhsmcsa/OUT/101320210700.RAW') ERROR #7504: Timeout',code=0)
Any help is appreciated.
Below are my settings
.png)