Scott Roth · Dec 27, 2024 go to post

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.

Scott Roth · Dec 20, 2024 go to post

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.

Scott Roth · Dec 18, 2024 go to post

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.

Scott Roth · Dec 12, 2024 go to post

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)
Scott Roth · Dec 10, 2024 go to post

I would double check your directory

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 cxw
Alias /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

Scott Roth · Dec 6, 2024 go to post

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?

Scott Roth · Dec 6, 2024 go to post
<!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>&nbsp;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">&copy; 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>
 &amp; <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>

Scott Roth · Dec 2, 2024 go to post

I have never used JSON before to execute queries with an EnsLib.SQL.OutboundAdapter, but I have executed using 

..Adapter.ExecuteUpdateParmArray. I would assume it works the same way

Method DeleteProviderAddress(pRequest As osuwmc.CPD.DataStructures.DeleteProviderAddress, Output pResponse As Ens.Response) As %Status
{

  set query = "DELETE FROM ProviderAddresses where Address_k = ? and DoctorNumber = ?"


  set par = 2

  set par(1) = pRequest.AddressKey

  set par(2) = pRequest.DoctorNumber



  set tSC = ..Adapter.ExecuteUpdateParmArray(.nrows,query,.par)



  if 'tSC write " DeleteProviderAddress Failed ",tSC

  quit tSC

}
Scott Roth · Nov 20, 2024 go to post

Several errors were shown with similar URLs
 

https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-1.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://www.google-analytics.com/g/collect?v=2&tid=G-T4HF9FK66C&gtm=45j…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-2.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…
https://ep91r43sfk-3.algolianet.com/1/indexes/*/queries?x-algolia-agent…

Scott Roth · Nov 20, 2024 go to post

I already use Get("<column>") to pull the values, I was just looking for an easier way like with a Foreach loop

Scott Roth · Nov 20, 2024 go to post

When I open developer tools on the page, I am seeing the following.

  • Uncaught TypeError: Cannot read properties of null (reading 'classList' at hidelefttocbottom (docview.min.js:3:15344) at docview.min.js:3:18107
  • Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. at algolia-common.min.js:2:8179
Scott Roth · Nov 20, 2024 go to post

I went to previous versions of the documentation, and the search did not work there either.

Scott Roth · Nov 20, 2024 go to post

I tried Private Browsing and reset the cookie settings for the site, but I still got the same result with Edge.

Scott Roth · Nov 20, 2024 go to post

We had a similar experience where we had upgraded our Test environment to 2024.1 but then due to some of the bugs reported it was too late for us to restore from a back-up back to 2022.1.3. So now we are stuck with 2024.1 in our Test environment until we have time to go through 2024.2 and verify our little nuance bugs have been resolved.

Scott Roth · Nov 18, 2024 go to post

Only issue that we have seen with Red Hat, is that patches/updates are not dynamic enough and most of the time require a reboot of the server. 

Scott Roth · Nov 17, 2024 go to post

I would suggest that you follow up with WRC, as I never seen that issue before.

Scott Roth · Nov 16, 2024 go to post

If line feed and carriage returns still are problematic look into using $ZSTRIP

Scott Roth · Nov 15, 2024 go to post

you need to convert the Base64 to a Stream to put into OBX:5.5.

source.GetFieldStreamRaw(.tStream,"ORCgrp(1).OBRgrp(1).OBXgrp("_k1_").OBX:ObservationValue(1).AlternateText",.tRemainder)'

Scott Roth · Nov 15, 2024 go to post
<if condition='source.{ORCgrp(1).OBRgrp(1).OBXgrp(k1).OBX:ValueType}="ED"' >
<true>
<assign value='source.GetFieldStreamRaw(.tStream,"ORCgrp(1).OBRgrp(1).OBXgrp("_k1_").OBX:ObservationValue(1).AlternateText",.tRemainder)' property='tSC' action='set' />
</true>
</if>
</foreach>
<if condition='..Length($get(tSC))&gt;0' >
<true>
<assign value='"1"' property='target.{OBXgrp(1).OBX:SetIDOBX}' action='set' />
<assign value='"ED"' property='target.{OBXgrp(1).OBX:ValueType}' action='set' />
<assign value='"7"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.Identifier}' action='set' />
<assign value='"URL"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.Text}' action='set' />
<assign value='"EXTLRR"' property='target.{OBXgrp(1).OBX:ObservationIdentifier.NameofCodingSystem}' action='set' />
<assign value='"1"' property='target.{OBXgrp(1).OBX:ObservationSubID}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).Identifier}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).NameofCodingSystem}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(1).OBX:ObservationValue(1).AlternateIdentifier}' action='set' />
<assign value='target.StoreFieldStreamRaw(tStream,"OBXgrp(1).OBX:ObservationValue(1).AlternateText",tRemainder)' property='tSC' action='set' />
<assign value='"F"' property='$P(tRemainder,"|",11)' action='set' />
</true>
</if>

This is an example of what we pretty much do for any system that sends us a Base64 encoded PDF that we have to reformat to send to Epic EMR.

Scott Roth · Oct 28, 2024 go to post

I tried exporting a copy of the BPL class myself from the Classes explorer, in the XML document that was saved I still seeing 'languageOverride', and when I tried to import it through the Classes explorer on my PROD instance which is 2022.1.4..

ERROR <Ens>ErrInvalidBPL: Invalid BPL
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
    > ERROR #5030: An error occurred while compiling class 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
  > ERROR #5490: Error running generator for method 'OnCompile:osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR: Ens.BusinessProcessBPL.cls(OnCompile) of generated code compiling subclass 'osuwmc.ImagetrendAmbulancePDFResultBPLser'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
ERROR #5001: attribute 'languageOverride' is not declared for element 'assign'
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MasterPendingResponses
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser__SynchronizedResponses
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MessagesReceived
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser_MessagesSent
Compiling table osuwmc.ImagetrendAmbulancePDFResultBPLser
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMasterPendingResponses.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMessagesReceived.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserMessagesSent.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLserSynchronizedResponses.1
Compiling routine osuwmc.ImagetrendAmbulancePDFResultBPLser.1
Detected 31 errors during load.

So, I am going to follow up with WRC tomorrow... Thanks for the assist.

Scott Roth · Oct 28, 2024 go to post

setting the export version to iris2022.1 resulted in the same errors.

Scott Roth · Oct 28, 2024 go to post

I know you're looking for an IIS solution, but what I did for our mirrored environment was setup an individual Web Server, and Web Gateways on each of the mirrored environment boxes. but configured them to also accept the VIP FQN as part of the configuration.

Scott Roth · Oct 14, 2024 go to post

Did you ever find the answer to your question? Did you end up having to use Wireshark? 

Scott Roth · Oct 2, 2024 go to post

Memory usage. We are seeing a decrease in the amount of available memory under at the OS Level. WRC has mentioned that the gmheap need to be increased in the application, however that is only increasing the amount of memory the application can use, it does not answer the issue of what is using all the memory.

Scott Roth · Oct 2, 2024 go to post

There are some details within some of the globals to show us what is causing them to be created, but in my BP I don't get why they are being created.

Those that start with $lb(" actually point to the PID within the Application that is being used.

The one BPL in question takes the HL7 ADT message and parses it out into separate Insert/Update etc... stored procedures classes to be called against the BO.

Scott Roth · Sep 26, 2024 go to post

I did open a ticket with WRC but in investigating it on my end we think a network outage on the 9/19 caused some of our interfaces to go into a loop that took the Shared Heap Memory to the max, which could have caused the issues with connecting to LDAP.