What is SparkPlug?
SparkPlug is a separately deployed and maintained web application used to facilitate connected device workflows in a given ClinSpark environment. It contains configurations used by device interfaces that leverage web services.
SparkPlug is used with certain integrations that leverage programming interfaces made available by device manufacturers, in order to allow certain device enrollment, data collection, and data review workflows to take place in ClinSpark. Additionally, SparkPlug ensures that once a connection to a ‘monitoring’ style device is established for a given study subject (volunteer), data can continue to be made available in ClinSpark for review throughout a study.
Configuring ClinSpark for SparkPlug
SparkPlug is configured for use in a given ClinSpark environment by the definition of of a ‘Volunteer Monitoring URL’ value, via Administration > General Settings. This URL represents the SparkPlug instance that web service calls will be sent through.
The deployment of SparkPlug and management of the endpoint URL is facilitated by IQVIA ‘superadmin’ users. However once put in place, qualified users with access to the Administration > General Settings area (via Role Action) can view the configuration.
ClinSpark Features Enabled by SparkPlug
The existence of a configured ‘Volunteer Monitoring URL’ is linked to several device based features, and must be present for these features to exist/function in ClinSpark. When a URL is defined, the following features will be enabled:
Use of ‘monitoring’ and ‘API enrollment’ style devices to be configured on study forms
Use of ‘monitoring’ style devices in SparkPlug enrollment scenarios
Use of ‘Monitoring’ features on Volunteer profiles supporting the ability to see and manage connected devices/data/audits
Device Interface Configurations
SparkPlug is deployed with a number of standard device interface configurations. Updates or changes to these interfaces are independent from core ClinSpark releases/code changes. If an interface needs an update, it can typically be done with a change to just SparkPlug, and not ClinSpark.
When selecting an available interface, certain settings are exposed for review and use. The available information and controls of an interface depend on its purpose and intended use in ClinSpark.
Modifying SparkPlug Settings
SparkPlug settings are exposed in an Administration area. This controls all of the available device settings, in addition to modifications related to the ClinSpark ‘host’ environments that an instance of SparkPlug is configured to communicate with.
These settings are typically maintained by Foundry Health engineering team members, to ensure proper function and use of each interface. It may be necessary to reference or modify these values, however, changes made to the device settings will impact all ClinSpark environments that utilize that instance of SparkPlug.
SparkPlug Hosts
Hosts define what ClinSpark environments are able to use the SparkPlug instance. ClinSpark instances can only communicate with SparkPlug if there is a proper ‘host’ configuration.
A single SparkPlug deployment can be used to support interfaces configured for use in multiple ClinSpark environments. Each of those environments (for example, Prod Main, Prod Test, Val, UAT, etc,) would need to be defined as an available host in SparkPlug.
Host configurations are reliant on a Clinspark user account that contains the API role action. Customers can discuss with IQVIA engineering teams the best course of action for systems integrations accounts as needed.
Once device connections are made in a given ClinSpark environment, web service calls through to the SparkPlug instance will using whatever is configured for that device interface.
Audits
Audits are visible for changes made to global configurations and host settings.
Versioning
The SparkPlug version can be found by interrogating the page properties.