Question
Stephen De Gabrielle · Oct 10, 2019

What is a Foundation Production?

Hi, 

What is a Foundation Production and what does it do?

We are currently on HealthShare Health Connect  15.03 and we are starting the process of moving to HealthShare Health Connect 2019.1.

The 2019.1 Installation Guide is pretty clear that it is essential, but I'm having trouble working out exactly what it does?

Leading on from this is what should I call it?

From the installation guide: 

5. For Local Name, enter the name that will identify the Foundation production. This name will become the namespace that contains the class definitions for the production

So the name I give it will be the name of the production and the namespace.

The name in guide is FHIR234 - which makes me wonder if the Foundation Production ONLY for FHIR interfaces?   (should I just call it FHIR ?)

Any advice or guidance appreciated.

Kind regards, 

Stephen

 

PS: Our current naming strategy is has a separate namespace for HL7v2 and Document interfaces (no FHIR yet), for historical reasons called PRODUCTION and DOCUMENTS, with our test server replication this naming strategy exactly  (so we have a PRODUCTION namespace on both our test and live servers).

The installation guide: 

Install and activate a Foundation production, which is critical to the functionality of Health Connect.
-
https://docs.intersystems.com/healthconnect20191/csp/docbook/DocBook.UI.Page.cls?KEY=HXHCINST_preface

Update: Creating additional namespaces in 2019.1 causes foundation productions to be created automatically (with Ens.Activity.Operation.Local operation). 

00
0 12 251 2

Replies

A foundation production is a production that is created using the Install Wizard and when created will include some useful business hosts for integrations

Thanks @Jenna Poindexter  that is helpful.

Should the foundation production be used as a routing Production, or should I keep them separate? 

You can use the foundation production as a router if you want, the difference is that in that scenerio you would be adding all of the components that you needed to the production manually.   Configuring a routing production should give you the basic components needed, e.g., a service for input, a router for applying rules based routing and then an operation.   It provides the basic building blocks needed to route messages.

A generic interoperability production can route messages as well.

This brings me back to what does a Foundation production do?

Unlike a HL7 routing production a Foundation Production only has  an Ens.Activity.Operation.Local operation.

While the HL7 routing production components are easily added manually, I'm reading their absence as an implied indication that HL7 routing is *intended* to be a separate production, in a separate namespace - assuming the one active production per namespace still applies.

Stephen

Thanks @Jenna Poindexter,

This is helpful.  It triggered my memory.  So I created a new namespace and HL7 production which included some nice base features to help me test an integration on my local system.

Services: HL7FileService

Processes: Ens.Alert and MsgRouter

Operations: BadMessageHandler, EmailAlert, HL7FileOperation and PagerAlert.

Stephen
An Interoperability production is a general integration production, vs a routing production is one that automatically includes some basic business hosts needed for routing messages.

Typically you would use a routing production if you wanted to route HL7 messages, for example.

An Interoperability production is a blank slate allowing you to add whatever business hosts you need.

There is no real difference in capabilities other than what is automatically created as part of the production configuration when it is first created

Added questions:

  • Should the foundation production be used as a Interoperability Production or a routing Production
  • Are Interoperability and Routing productions the same thing?
    • I am coming from ensemble where you build all your interfaces all in a single production. 

Stephen

With regard to the name, it's just that, a name.  It doesn't have any effect on what the production can and cant be used for.

Thanks @Kurt Dawn 

I also contacted WRC and they were very helpful. 

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)

Advice:

  • 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  

Notes:

  • 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?  

Wishlist: 

  1. Creating HL7FileService, Ens.Alert, MsgRouter, BadMessageHandler,EMailAlert, HL7FileOperation, PagerAlert and Ens.Activity.Operation.Local should be an options in the 'Configure Foundation' option in the Installer Wizard dialog. (but the Ens.Activity.Operation.Local should be named ProductionActivityMonitor)
  2. More detail on the purpose of the foundation productions register on the installer wizard page
  3. an overview of the application architecture and clarify definitions of things like foundation productions 'register', HL7 routing production, interoperability production, and  Foundation Production.
  4. Change the Installer Wizard 'help' link in the portal to Installing and Activating a Foundation Production
  5. In the class reference 'Ens.Activity.Operation.Local' has the summary description 'This is a Business Operation class.': http://yourserver.etc:port/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS...  
  6. a pony. Just kidding. maybe.

Kind regards, 

Stephen

Using the Installer Wizard to create a foundation production and namespace provides you with a base production with all the mappings needed for a healthcare interoperability production. It saves you the time and effort of creating your own namespace and production needed for healthcare interoperability. You do not always have to start with a foundation production; if you are comfortable creating your own namespace and production, you can do so.  As a side note, when you create an HL7 production, you are creating a foundation production.

The Ens.Activity.Operation.Local operation is used for activity monitoring. It is not required by the foundation production. For more about activity monitoring, see https://docs.intersystems.com/healthconnect20191/csp/docbook/DocBook.UI.Page.cls?KEY=EMONITOR_activity
.

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)

Advice:

  • 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.  

Notes:

  • 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?