A foundation production is an interoperability production.  The wizard creates the namespace and production and adds it to a register of healthshare productions visible on the wizard screen.

The Ens.Activity.Operation.Local operation is used to collect/monitor production activity. See Monitoring Productions Monitoring Activity Volume for details. 

To summarise; 

  • The 'Configure Foundation' option in the Installer Wizard;
    • creates a healthcare interoperability namespace and production 
    • adds this production to the register of productions on the Installer Wizard page
  • A Foundation Production is just an normal interoperability production
    • it is only critical in the sense that you need one to process messages in HSHC. 
    • it is the same as a HL7 routing production created with the Production Wizard except that it doesn't pre-populate with; HL7FileService, Ens.Alert, MsgRouter, BadMessageHandler,EMailAlert, HL7FileOperation and PagerAlert.
    • it does include a Ens.Activity.Operation.Local operation (see Monitoring Productions Monitoring Activity Volume)
  • HSHC 2019.1 also creates a Foundation Production and adds it to the list on the Installer Wizard page when you tick the 'enable names for interoperability productions' tickbox. (ticked by default in HSHC 2019.1)


  • use the 'Configure Foundation' option in the Installer Wizard to create interoperability namespaces and their associated productions
  • manually create whatever you need from HL7FileService, Ens.Alert, MsgRouter, BadMessageHandler,EMailAlert, HL7FileOperation and PagerAlert  
  • don't manually create interoperability namespaces and productions. use the wizard.  


  • the old 'New production' dialog doesn't add your production to the list of configurations defined at  http://yourserver.etc:port/csp/healthshare/HS.HC.UI.Installer.Welcome.cls
  • The 'start all' button wont start your new production, it will start the foundation production created when you created your namespace, or throw an error if you deleted it. (hitting 'stop all' stops all productions even if the are not in the 'register')
  • WRC informed me that the Ens.Activity.Operation.Local operation will be removed in future versions. I don't know what that means for the Monitoring Productions Monitoring Activity Volume functionality?  

I believe these are all the Cache based products

  • HealthShare Information Exchange  is latest version is 2018.1 
  • HealthShare Health Insight 2019.1
  • HealthShare Patient Index 2019.1
  • HealthShare Personal Community 2019.1
  • HealthShare Provider Directory 2019.1
  • HealthShare Unified Care Record 2019.1


These are the IRIS based products

  • InterSystems IRIS Health Connect 2019.1 
  • InterSystems IRIS for Health 2019.1


I  think you need to contact your sales engineer for an eval licence.


We use the gender codes M,F,U & I all the time in HL7v2, both on Ensemble, and since we migrated to HealthShare.  

The 'New Features in Health Connect 15.03' page of the documenation also mention that SDA has followed CDA and added 'BirthGender'(clinically relevant in some situations for care of LGBTQ+ patients).

Kind regards, 


PS: I can't speak for TrakCare as we don't use that product.

Whitelist for Atelier.

  • *.eclipse.org
  • atelier.artifactoryonline.com  (soon to be retired)
  • atelier.jfrog.io  (new domain for *.artifactoryonline.com domains)

This might be help if (like me) you work at a hospital with very strict network security.  Without whitelisting these domains for my team, the proxy (Trend) detects the JVM binaries and automatically blocks traffic.

The kind staff at the WRC helped me with this question. (WRC staff are amazing)

Suriya at WRC solved this for me

Where I went wrong: 

  1. I created context.pidSegment as EnsLib.HL7.Segment - which fails as an argument to the DTL <assign> statement)
  2. I forgot the (1) in {PIDgrp(1).PID}

The right way to copy a segment from one message to another is;

  1. create context variable as a string:  e.g. context.pidSegment as %String(MAXLEN=2500) 
  2. extract the segment as a string: context.k22.GetValueAt("PIDgrp(1).PID")
  3. use the DTL to set the right field: <assign value='context.pidSegment' property='target.{PIDgrp(1).PID}' action='set' />

Thanks go to Suriya at WRC



  1. On your inbound FHIR Patient Query message, first try to see if the PDQm Services can successfully transform it into a HS.Message.Patient Search Request.

Using the HealthShare Test Utility, PIX and PDQ (FHIR), Patient Search (PDQm), with the supplier set to 'PDQm.Supplier' I did a simple search, but got a 'No production is running' error.

have I missed something in setting up PDQm?  It looks like I need to have a HSREGISTRY namespace/production/web application  running at /csp/healthshare/hsregistry/services/HS.Hub.HSWS.WebServices.cls  ? 

Is that right?

'No production is running' error: 

HTTP Status = 500 Internal Server Error
ERROR #5001: ERROR #6248: SOAP response is a SOAP fault: faultcode=Server faultstring=Server Application Error faultactor=HS.Hub.HSWS.WebServices detail= <error xmlns="http://www.intersystems.com/hs/hub/hsws"> <text>ERROR &lt;Ens&gt;ErrProductionNotRunning: No production is running</text> </error>

[2018-04-19 17:15:55] Service:nn-tie2v:57772

HS.Test.UI.PDQm Run: 2018-04-19 17:15:55 Test Id: 7

PS I added PDQm to the production as per the instructions in HealthShare Health Connect  >  IHE Use Cases in Health Connect  >  Using FHIR® IHE Profiles  >  Setting Up and Using PDQm 

do ##class(HS.Util.Installer.Kit.FHIR.ServerPDQm).Add(, "namespace")

I had created the FHIR production/namespace earlier:

do ##class(HS.Util.Installer).InstallFHIRServer("namespace")