go to post Scott Roth · Feb 4 Within our DTC... <assign value='source.GetFieldStreamRaw(.tStream,"ORCgrp(1).OBRgrp(1).OBXgrp(1).OBX:ObservationValue(1).AlternateText",.tRemainder)' property='tSC' action='set' /> <assign value='##class(osuwmc.Utils.Functions).DecodeBase64HL7ToFileFaxing(tStream,source.{MSH:SendingApplication.NamespaceID},source.{PID:PatientIdentifierList(1).IDNumber}_context.TextIDTemp_".PDF")' property='a' action='set' />
go to post Scott Roth · Feb 3 With some help from the Developer community, below is a Function I wrote for our needs to take a Base64 and write it out to a PDF. ClassMethod DecodeBase64HL7ToFileFaxing(base64 As %Stream.GlobalBinary, Ancillary As %String, FileName As %String) As %String { set ArchDir = <directory> 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(%Stream.FileBinary).%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() do ##class(%File).SetAttributes(Oref,33261,.return) set Oref = "" // Close file set PDFFilePath = "/Fax/PDFFiles/"_Ancillary_"/"_$PIECE($ZDATE($HOROLOG,7)," ",1)_"-"_$PIECE($ZDATE($HOROLOG,7)," ",2)_"-1/"_FileName return PDFFilePath }
go to post Scott Roth · Jan 24 Thanks, I was able to resolve my issues with JDBC and using Active Directory Password Authentication through Microsoft Entra. Connecting using JDBC to MS Azure SQL through Microsoft Entra and Active
go to post Scott Roth · Jan 24 I published an article based on my findings... Connecting using JDBC to MS Azure SQL through Microsoft Entra and Active
go to post Scott Roth · Jan 15 ClassMethod GroupIDExists(pHL7Msg As EnsLib.HL7.Message, pSegment As %String, pField As %String, pLookupTable As %String) As %Boolean { #dim tSeg as EnsLib.HL7.Segment set tSegCount = pHL7Msg.SegCountGet() set i = 1 Set tFound = 0 //get new values set tval="" while ((i <= tSegCount) && (tval="")) { set tSeg = pHL7Msg.GetSegmentAt(i) if (tSeg.Name = pSegment) { set tID = tSeg.GetValueAt(pField) set tval= ..Lookup(pLookupTable, tID) } set i = i + 1 } if (tval '= "") { Q 1 } quit 0 } An example....
go to post Scott Roth · Jan 14 I ended up putting statements into my BP that set the EnsLib.SQL.Snapshot variable = "" after use.
go to post Scott Roth · Jan 14 I am still working with WRC and Microsoft to determine where the issue is.
go to post Scott Roth · Jan 9 According to Microsoft, I had to download the 12.8 driver. But that did not work either, Microsoft is saying I need to install Maven and POM.
go to post Scott Roth · Jan 9 We use the Gateway to make Queries and Stored Procedure calls from our Business Processes/Business Operations.
go to post Scott Roth · Jan 6 @Chandrasekar Angaiah My Init is as follows.. Method OnInit() As %Status { Set ..InitDSN = ..Adapter.DSN //Set ..Adapter.ConnectAttrs = "QueryTimeout:45" ; try this too just in case... Set ..%Row.MaxRowsToGet = -1 Quit $$$OK } When I try to compile, I am getting a %Row does not exist in this class.
go to post Scott Roth · Dec 27, 2024 Thanks, this looks very helpful in the case where we are in EST, but Radiology reads might come from a CST.
go to post Scott Roth · Dec 27, 2024 I ended up writing a function with some help from the Developer community to do this. The function basically iterates through the the HL7 message and check it against a Data Lookup Table. I am in the office in two week and will share it once I am back in the office.
go to post Scott Roth · Dec 27, 2024 This could be useful to the other versions of IRIS as well. Folks who use IRIS for Health, Health Connect, and HealthShare might find this useful.
go to post Scott Roth · Dec 20, 2024 I haven't had a chance to fully dive into 2024.2 and heading out on Vacation for the Holidays. I will take a look again at this after the 1st of the year.
go to post Scott Roth · Dec 18, 2024 I have seen this before on SQL Outbound Operations when we have had to force stop the BO when it was trying to call/execute a Stored Procedure. The only way we have seen to get rid of the empty PIDs is to stop/start the namespace.
go to post Scott Roth · Dec 12, 2024 More than likely there is a Firewall in place that every call we make outside of the Medical Center goes through. Using a Personal laptop which is not owned by OSU, I was able to see type ahead search results and return search results from the Documentation page. Edge - Version 131.0.2903.86 (Official build) (64-bit) Chrome - Version 114.0.5735.199 (Official Build) (64-bit)
go to post Scott Roth · Dec 10, 2024 I would double check your directory <Directory "/InterSystems/iris/csp"> my config for Red Hat 8 is the following... #### BEGIN-ApacheCSP-SECTION ####LoadModule csp_module_sa "/opt/webgateway/bin/CSPa24.so"CSPModulePath "/opt/webgateway/bin/"CSPConfigPath "/opt/webgateway/bin/"CSPFileTypes csp cls zen cxwAlias /csp/ /opt/webgateway/bin/<Location /> CSP On</Location><Location "/csp/"> CSP On</Location><Location "/api/"> CSP On</Location><Location "/oauth2/"> CSP On</Location><Location "/isc/"> CSP On</Location><Location "/ui/"> CSP On</Location> <Directory "/opt/webgateway/bin/"> AllowOverride None Options MultiViews FollowSymLinks ExecCGI Require all granted <FilesMatch "\.(log|ini|pid|exe)$"> Require all denied </FilesMatch></Directory> if your still having an issue I would suggest you talk with WRC
go to post Scott Roth · Dec 6, 2024 I went through the motions of creating a Foreign Server, and foreign tables to pull in MS SQL information in order to centralize a view that I had created on MS SQL Server and just pull it into IRIS. After fumbling my way through the creation, I could query the tables, but if I would only query 1 column to pull into this sql statement, I would get an error. I could not see the tables in DBeaver as I prefer to use it to write my sql statements. As soon as I signed out of the Production, both the foreign server, and tables no longer exist. Are Foreign tables a temporary thing? I would like to create a view in IRIS so my team doesn't have to rely on others to pull the data and we could reference it instead of calling a JDBC lookup on MS SQL server. I would also like to make the server, and tables available to all namespaces. Can someone help, or should I contact WRC?
go to post Scott Roth · Dec 6, 2024 <!DOCTYPE html> <html lang="en" dir="ltr"> <head><!-- OneTrust Cookies Consent Notice start for intersystems.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="8d5650d9-35f0-4aec-8e1f-9fa3682325e6" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for docs.intersystems.com --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T38JKJG');</script> <!-- End Google Tag Manager --><!-- serverID = A-1 --> <script type="text/javascript" src="https://docs.intersystems.com/irislatest/csp/docbook/jquery-3.6.0.min.js"></script> <title>Search InterSystems Documentation</title> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="twitter:title" content="Search InterSystems Documentation"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta name="image" property="og:image" content="https://docs.intersystems.com/irislatest/csp/docbook/Intersystems_optlsy.jpg"> <meta name="twitter:image" content="https://docs.intersystems.com/irislatest/csp/docbook/Intersystems_optlsy.jpg"> <meta name="description" content="Search InterSystems Documentation"> <meta name="og:description" content="Search InterSystems Documentation"> <meta name="twitter:description" content="Search InterSystems Documentation"> <meta class="swiftype" name="ST-ContentSource" data-type="string" content="Documentation"/> <meta class="swiftype" name="ST-ContentType" data-type="string" content="Documentation"/> <meta class="swiftype" name="ST-Product" data-type="string" content="Health Connect"/> <meta class="algolia" name="ALG-AppID" data-type="string" content="EP91R43SFK"/> <meta class="algolia" name="ALG-Index" data-type="string" content="docs"/> <meta class="algolia" name="ALG-SearchKey" data-type="string" content="709759d92d99a5cf927e90c965741389"/> <meta class="algolia" name="ALG-Product" data-type="string" content="product:'Health Connect'"/> <meta class="algolia" name="ALG-Version" data-type="string" content="version:'2024.3'"/> <script> var ALGOLIA_INSIGHTS_SRC = "https://cdn.jsdelivr.net/npm/search-insights@2.0.3"; !function(e,a,t,n,s,i,c){e.AlgoliaAnalyticsObject=s,e[s]=e[s]||function(){ (e[s].queue=e[s].queue||[]).push(arguments)},i=a.createElement(t),c=a.getElementsByTagName(t)[0], i.async=1,i.src=n,c.parentNode.insertBefore(i,c) }(window,document,"script",ALGOLIA_INSIGHTS_SRC,"aa"); aa('init', { appId: 'EP91R43SFK', apiKey: '709759d92d99a5cf927e90c965741389', } ); </script> <meta class="algolia" name="ALG-ProductFacets" data-type="string" content="Health Connect"/> <meta class="algolia" name="ALG-VersionFacets" data-type="string" content="2024.3"/> <meta name="robots" content="noindex,nofollow"> <meta name="st:robots" content="noindex,nofollow"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <!-- Google Analytics --> <script type="text/plain" class="optanon-category-C0002"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-30918-1', 'auto'); ga('send', 'pageview'); </script> <!-- End Google Analytics --> <link href="https://fonts.googleapis.com/icon?family=Material+Icons&display=block" rel="stylesheet" /> <link rel="stylesheet" class="basestylesheet" id="resultsredesign" type="text/css" href="https://docs.intersystems.com/irislatest/csp/docbook/algolia/algoliaredesignstyles.css"> <link rel="stylesheet" class="extrastylesheet" id="lightstylesheet" type="text/css" href="https://docs.intersystems.com/irislatest/csp/docbook/algolia/algolialight.css"> </head> <body> <a class="ac-skip-main" href="#main" data-swiftype-index="false">Skip to main content</a> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T38JKJG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="content-outer"> <div id="content-inner"> <header data-swiftype-index="false"> <header data-swiftype-index="false"> <div id="banner" class="search-algolia"> <div id="bannerleft"> <a href="https://docs.intersystems.com"> <img id="docslogo" src="https://docs.intersystems.com/irislatest/csp/docbook/doc-logo.svg" alt="InterSystems: Creative data technology" height="71" width="263"> </a> </div> <div id="bannerright"> <nav id="sitesmenulist" data-swiftype-index="false" aria-label="menu of other InterSystems websites"> <ul class="top-menu"> <li><a href="https://learning.intersystems.com/" target="_top">Learning</a></li> <li class="activesite"><a href="https://docs.intersystems.com" target="_top">Documentation</a></li> <li><a href="https://community.intersystems.com/" target="_top">Community</a></li> <li><a href="https://openexchange.intersystems.com/" target="_top">Open Exchange</a></li> <li><a href="https://globalmasters.intersystems.com/" target="_top">Global Masters</a></li> <li><a href="https://www.intersystems.com/support-learning/learning-services/certification-program/" target="_top">Certification</a></li> <li><a href="https://partner.intersystems.com/" target="_top">Partner Directory</a></li> </ul> </nav> </div> </div><!-- end of banner --> <noscript><link rel="stylesheet" id="noscriptstylesheet" type="text/css" href="https://docs.intersystems.com/irislatest/csp/docbook/noscriptstyles.css"></noscript> <noscript><div class="noscriptbanner" data-swiftype-index="false"><p>Sorry, your browser does not support JavaScript or JavaScript is disabled. Please enable JavaScript or use another browser to have a better experience.</p></div></noscript> </header> <noscript><link rel="stylesheet" id="noscriptstylesheet" type="text/css" href="https://docs.intersystems.com/irislatest/csp/docbook/noscriptstyles.css"></noscript> <noscript><div class="noscriptbanner" data-swiftype-index="false"><p>Sorry, your browser does not support JavaScript or JavaScript is disabled.<strong> Please enable JavaScript or use another browser to search.</strong></p></div></noscript> </header> <main class="resultsmain"> <div id="filtering" class="demo"> <main class="homeTab container"> <div class="container-wrapper"> <section class="container-filters"></section> </div> <section class="main-wrapper"></section> </main> <main class="resultsTab container"> <div class="container-wrapper"> <section class="container-filters"> <div class="container-header"> <h2>Search</h2> <div data-layout="desktop"> <div id="clear-refinements-desktop"></div> </div> <div data-layout="mobile"> <div class="ais-Stats" id="stats-mobile"></div> </div> </div> <aside class="container-body"> <div class="widget"> <div class="ais-Menu" id="main_category_contentTypeFilterWidget" ></div> </div> <div class="widget"> <div class="ais-Menu" id="main_category_productFilterWidget" ></div> </div> <div class="widget"> <div class="ais-Menu" id="main_category_versionFilterWidget" ></div> </div> <div class="widget"> <div class="ais-Menu" id="main_category_extraTagsFilterWidget" ></div> </div> </aside> </section> <div data-layout="mobile" class="container-filters-footer"> <div class="container-filters-footer-button-wrapper"> <div class="ais-ClearRefinements" id="clear-refinements-mobile" ></div> </div> <div class="container-filters-footer-button-wrapper"> <div class="ais-Stats" id="stats-bottom"></div> </div> </div> </div> <article class="bannerandresults" style="width:calc(100%-500px)"> <div class="resultstopspace"> <div id="bannerright" class="demo"> <div class="searchWidget widget" id="main" tabindex=-1> <div class="searchWidgetPreview"> <div class="ais-SearchBox-wrapper" id="search-wrapper"> <div class="ais-SearchBox" id="search-input"></div> <div id="voicesearch-input"></div> </div> </div> <div class="absolute bottom-0 text-center w-full flex flex-col" ></div> </div> </div> <div id="darkmodeparent" style="float: right;"><label class="switch" id="darkmodebutton" > <input type="checkbox" class="checkbox" onclick="togglestylesheetresults()"> <span class="slider round"><img class="sun" src="https://docs.intersystems.com/irislatest/csp/docbook/newIcon-sun_star.svg"><img class="moon" src="https://docs.intersystems.com/irislatest/csp/docbook/newIcon-moon_darkmode.svg"></span></label> </div> </div> <section class="container-results"> <header class="container-header container-options no-title"> <div id="hitsPerPage"></div> <div id="stats-top"></div> </header> <div style="display: flex;"> <section class="hits"> <div class="hitsWidgetWrapper widget"> <div> <div> <div> <div id="search-results"></div> </div> </div> </div> <div class="absolute bottom-0 text-center w-full flex flex-col" ></div> </div> </section> </div> <div class="container-footer"> <nav data-widget="pagination"> <div class="ais-Panel"> <div class="ais-Panel-body"> <div> <div id="pagination"></div> </div> </div> </div> </nav> </div> </section> </article> </main> <aside data-layout="mobile" class="resultsTab container-filters-button" > <button class="base primary filters-button" onclick="window.openFiltering()" > <i class="mr-1 materialIcons">filter_list</i> Filters </button> </aside> </div><!-- end of content-inner --> <a class="gotofeedback" target="blank" href="Doc.Feedback.cls">Feedback<span class="ac-visually-hidden">Opens in a new tab</span></a> <footer data-swiftype-index="false"> <div class="flexdiv"><!-- container for footerleft & footerright --> <div class="flexleft">© 2024 InterSystems Corporation, Cambridge, MA. All rights reserved.</div> <div class="flexright"> <span><A href="https://www.intersystems.com/privacy-policy/" target="_blank" rel="noopener">Privacy<span class="ac-visually-hidden">Opens in a new tab</span></A> & <A href="https://www.intersystems.com/noticesterms-conditions/" target="_blank" rel="noopener">Terms<span class="ac-visually-hidden">Opens in a new tab</span></A></span> <A href="https://www.intersystems.com/guarantee/" target="_blank" rel="noopener">Guarantee<span class="ac-visually-hidden">Opens in a new tab</span></A> <A href="https://www.intersystems.com/accessibility/" target="_blank" rel="noopener">Accessibility<span class="ac-visually-hidden">Opens in a new tab</span></A> <div class="cookie-settings-footer"><!-- OneTrust Cookie Settings button start --><a id="ot-sdk-btn" class="ot-sdk-show-settings">Cookies Settings</a><!-- OneTrust Cookie Settings button end --><a href="https://docs.intersystems.com/website-cookies.html">Cookie List</a></div> </div> </div><!-- end of container for footerleft & footerright --> <div class="footerbottom"> <div>Last content update: 2024-12-05 08:14:24PM</div> </div><!-- end of footerbottom --> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.14.2/dist/algoliasearch-lite.umd.js" integrity="sha256-dImjLPUsG/6p3+i7gVKBiDM8EemJAhQ0VvkRK2pVsQY=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/instantsearch.js@4.49.1/dist/instantsearch.production.min.js"></script> </footer> </div><!-- end of content-outer --> <script src="https://docs.intersystems.com/irislatest/csp/docbook/docview.min.js"></script> <script src="https://docs.intersystems.com/irislatest/csp/docbook/algolia-common.min.js"></script> </body> <script src="https://docs.intersystems.com/irislatest/csp/docbook/algolia/index.min.js"></script> </html>