Overview
The seca analytics 125 platform is an advanced software solution designed by seca, a leading provider of medical measuring systems and scales, to enhance the evaluation and management of patient data. This platform integrates seamlessly with seca's range of measurement devices, allowing healthcare professionals to collect, analyze, and interpret vital health statistics with precision. It offers comprehensive tools for the assessment of body composition, nutritional status, and overall health, thereby facilitating informed clinical decisions. Seca analytics 125 supports various functionalities, including trend analysis, graphical data representation, and customizable reporting, ultimately aiming to improve patient outcomes through detailed and accurate health insights.
The seca analytics 125 platform is interfaced with ClinSpark via SparkPlug. The interface is delivered transparently through the ClinSpark core application with all device interactions taking place via a ClinSpark forms. The device follows an Initiate Collection > Collect on Device > Upload Results workflow with a single ClinSpark form facilitating all of the required steps.
Installation
SparkPlug 24.2 (or later) is required for the seca analytics 125 device integration. All of the required software to interface with the seca mBCA 554 device is included in the SparkPlug installation and no additional installation or software is required. The device profile must be provisioned into the target ClinSpark environment. Both the seca analytics 125 platform and SparkPlug must be configured correctly (detail below) to enable the two systems to connect and exchange data. Additionally, the asynchronous job to populate received data as study form data must be added to Administration > Support > Async Job Management in the target environment.
Additionally, the seca device should be configured to allow manual entry of Waist Circumference due to current limitations of the provided seca API.
Configuration
As noted above, SparkPlug must be fully configured with the required elements to enable interconnectivity via the seca API. Overall SparkPlug administration and configuration is outside of the scope of this document, but those configuration elements specific to the seca analytics 125 platform are detailed below:
API URL
The API URL to a valid seca analytics 125 endpoint must be configured in SparkPlug > Administration > Settings > seca > API URL. This URL is established & provided by seca.
Tenant Secrets
For each ClinSpark site that utilizes the seca analytics 125 integration, a valid Tenant ID must be established on the seca analytics 125 platform. A given ClinSpark Site ID can be determined by opening the site details in Administration > Sites and observing the Id displayed at the end of the URL.
In addition to seca establishing the Tenant, a public and private key pair are generated and provided. Both this seca Tenant name and the public and private key pair must be configured in SparkPlug > Interfaces > seca. When configuring the Tenant in SparkPlug, the tenant name entered must match the Tenant configured in seca.
Additionally, the Org URL for the site as configured in ClinSpark must be established in SparkPlug.
Collection Workflow & Forms
Collection of seca analytics 125 body composition data using the seca mBCA 554 follows a device enrollment / initialization > On-Device Collection > Data Returned to ClinSpark via SparkPlug workflow. Additionally, to facilitate downstream workflows in ClinSpark, returned data is synchronized from Volunteer Monitoring Data to Study Forms via an asynchronous job. The workflow is detailed below:
The device is successfully enrolled and data collection is initiated in ClinSpark by invoking the seca analytics 125 platform
via a ClinSpark form containing the minimum required parameters (see https://foundryhealth.atlassian.net/wiki/spaces/DEV/pages/edit-v2/4646437132#Form-Design) and having the prerequisite subject demographics included as part of the request.
The study participant is welcomed on the screen of the scale and steps on to perform the collection.
Waist circumference and height (when stadiometer is not connected) values are manually entered on the device during collection.
Data is returned to ClinSpark as Volunteer Monitoring Data.
Data populated as Volunteer Monitoring Data is asynchronously returned to the study form as Study Form Data.
Device Enrollment / Initialization
Demographics / Study Metadata
Prior to invocation, the seca analytics 125 platform requires a set of input demographics and study metadata be established to support the generation, processing and analysis of seca data as well as customization of the welcome message presented to the study participant. The required demographics that must be established prior to invocation are DOB, Race, Sex, Ethnicity (optional, see https://foundryhealth.atlassian.net/wiki/spaces/DEV/pages/edit-v2/4646437132#Race-Mapping below).
This integration supports partial DOB enrollment configurations introduced in ClinSpark 24.1. See https://foundryhealth.atlassian.net/wiki/spaces/DOCS/pages/4335697921/ClinSpark+24.1#Updated-Enrollment-Configurations-for-Subject-DOB for details.
Race Mapping
Due to limitations of race / ethnicity functionality within the seca analytics 125 platform, it was necessary to establish a hardcoded race mapping between the ClinSpark ‘Race Name’ and the seca provided ‘Ethnicity’ value. The mapping rules are presented below as a table.
ClinSpark Race | ClinSpark Ethnicity | Race Value Sent to seca |
ANY | Hispanic or Latino | Hispanic |
Hispanic | Not Hispanic or Latino | Hispanic |
Native Hawaiian or Other Pacific Islander | Not Hispanic or Latino | Other |
American Indian or Alaska Native | Not Hispanic or Latino | Other |
Asian | Not Hispanic or Latino | Asian |
North-East Asian | Not Hispanic or Latino | Asian |
South East Asian | Not Hispanic or Latino | Asian |
Black or African American | Not Hispanic or Latino | AfroAmerican |
White | Not Hispanic or Latino | Caucasian |
Other | Not Hispanic or Latino | Other |
Unknown | Not Hispanic or Latino | Other |
Device Invocation
Device enrollment & initialization is initiated via ClinSpark form by clicking on the seca analytics 125 button on an integration-enabled form. Once the button is clicked, the user is prompted to confirm their intent to begin enrollment / collection.
Device Selection
In the event that there is only a single seca device configured for the current ClinSpark site, the device will be readied for collection and values will be returned to the TENANT_ID, DEVICE_ID, and REQUEST_ID form items. In the event that the seca tenant has more than one device associated, SparkPlug will prompt the user to select the device on which the collection should be performed.
Errors During Enrollment / Initialization
For errors encountered during device enrollment / initialization, see https://foundryhealth.atlassian.net/wiki/spaces/DEV/pages/edit-v2/4646437132#Errors-%2F-Troubleshooting.
Collection on Device
Once the device has been successfully enrolled / initialized, the device will be readied for collection, and the study participant will be welcomed on the device screen.
After the Study Participant stands on the device and collection begins, manually entry of waist circumference (and optionally height when the stadiometer is not connected) becomes possible.
After device collection and manual entry are completed on the device, the collection is complete and results will be returned to ClinSpark (see https://foundryhealth.atlassian.net/wiki/spaces/DEV/pages/edit-v2/4646437132#Data for details)
Form Design
As detailed in the description of collection workflows, the seca analytics 125 uses a single collection form to facilitate data collection. The form incorporates both clinical and ancillary device parameters that receive result data and enable further workflows.
At a minimum, a seca analytics 125 collection form must include MEASUREMENT_ID and MEASUREMENT_DATETIME. If these parameters are not included on the form, invoking the integration will fail.
All device configuration is performed directly on the seca device and cannot be driven by form design.
Device Profile / Parameters
The seca analytics 125 Device Profile implements both clinical result parameters and supporting parameters that capture device / measurement metadata. As noted in Form Design, the device integration does not allow for any configuration parameters to control device behavior - all device configuration is done directly on the device itself. For all Clinical Parameters, both a Value as well as Unit parameters are provided as the units used by the device are not controlled by the integration (but instead by the device itself).
Clinical Parameters
Parameter Name | Description |
---|---|
BMI_VALUE | Body mass index measurement value expressed as number. |
BMI_UNIT | Body mass index measurement unit expressed as abbreviation. |
WEIGHT_VALUE | Weight measurement value expressed as number. |
WEIGHT_UNIT | Weight measurement unit expressed as abbreviation. |
HEIGHT_VALUE | Height measurement value expressed as number. |
HEIGHT_UNIT | Height measurement unit expressed as abbreviation. |
WC_VALUE | Waist circumference measurement value expressed as number. |
WC_UNIT | Waist circumference measurement unit expressed as abbreviation. |
TBW_VALUE | Total body water measurement value expressed as number. |
TBW_UNIT | Total body water measurement unit expressed as abbreviation. |
TBWP_VALUE | Total body water percentage measurement value expressed as number. |
TBWP_UNIT | Total body water percentage measurement unit expressed as abbreviation. |
ECW_VALUE | Extracellular water measurement value expressed as number. |
ECW_UNIT | Extracellular water measurement unit expressed as abbreviation. |
ECWP_VALUE | Extracellular water percentage measurement value expressed as number. |
ECWP_UNIT | Extracellular water percentage measurement unit expressed as abbreviation. |
ECWBYTBW_VALUE | Water ratio (ECW/TBW) measurement value expressed as number. |
ECWBYTBW_UNIT | Water ratio (ECW/TBW) measurement unit expressed as abbreviation. |
FM_VALUE | Fat mass measurement value expressed as number. |
FM_UNIT | Fat mass measurement unit expressed as abbreviation. |
FMP_VALUE | Fat mass percentage measurement value expressed as number. |
FMP_UNIT | Fat mass percentage measurement unit expressed as abbreviation. |
FMI_VALUE | Fat mass index measurement value expressed as number. |
FMI_UNIT | Fat mass index measurement unit expressed as abbreviation. |
ZFMI_VALUE | Z-score fat mass index measurement value expressed as number. |
ZFMI_UNIT | Z-score fat mass index measurement unit expressed as abbreviation. |
SMM_VALUE | Skeletal muscle mass measurement value expressed as number. |
SMM_UNIT | Skeletal muscle mass measurement unit expressed as abbreviation. |
SMMP_VALUE | Skeletal muscle mass percentage measurement value expressed as number. |
SMMP_UNIT | Skeletal muscle mass percentage measurement unit expressed as abbreviation. |
SMMOVERAGE_VALUE | Skeletal muscle mass over age measurement value expressed as number. |
SMMOVERAGE_UNIT | Skeletal muscle mass over age measurement unit expressed as abbreviation. |
SMMOVERAGE_PERCENTILE | Skeletal muscle mass over age measurement value in comparison to population for age expressed as number. |
SMMOVERAGEBMIINDEPENDENT_VALUE | Skeletal muscle mass over age (BMI independent) measurement value expressed as number. |
SMMOVERAGEBMIINDEPENDENT_UNIT | Skeletal muscle mass over age (BMI independent) measurement unit expressed as abbreviation. |
SMMOVERAGEBMIINDEPENDENT_PERCENTILE | Skeletal muscle mass over age (BMI independent) measurement value in comparison to population for age expressed as number. |
ZSMI_VALUE | Z-score skeletal muscle index measurement value expressed as number. |
ZSMI_UNIT | Z-score skeletal muscle index measurement unit expressed as abbreviation. |
SSMMRIGHTARM_VALUE | Segmental skeletal muscle mass (right arm) measurement value expressed as number. |
SSMMRIGHTARM_UNIT | Segmental skeletal muscle mass (right arm) measurement unit expressed as abbreviation. |
SSMMLEFTARM_VALUE | Segmental skeletal muscle mass (left arm) measurement value expressed as number. |
SSMMLEFTARM_UNIT | Segmental skeletal muscle mass (left arm) measurement unit expressed as abbreviation. |
SSMMRIGHTLEG_VALUE | Segmental skeletal muscle mass (right leg) measurement value expressed as number. |
SSMMRIGHTLEG_UNIT | Segmental skeletal muscle mass (right leg) measurement unit expressed as abbreviation. |
SSMMLEFTLEG_VALUE | Segmental skeletal muscle mass (left leg) measurement value expressed as number. |
SSMMLEFTLEG_UNIT | Segmental skeletal muscle mass (left leg) measurement unit expressed as abbreviation. |
SSMMTORSO_VALUE | Segmental skeletal muscle mass (torso) measurement value expressed as number. |
SSMMTORSO_UNIT | Segmental skeletal muscle mass (torso) measurement unit expressed as abbreviation. |
SSMMRIGHTARMBMIINDEPENDENT_VALUE | Segmental skeletal muscle mass (right arm, BMI independent) measurement value expressed as number. |
SSMMRIGHTARMBMIINDEPENDENT_UNIT | Segmental skeletal muscle mass (right arm, BMI independent) measurement unit expressed as abbreviation. |
SSMMLEFTARMBMIINDEPENDENT_VALUE | Segmental skeletal muscle mass (left arm, BMI independent) measurement value expressed as number. |
SSMMLEFTARMBMIINDEPENDENT_UNIT | Segmental skeletal muscle mass (left arm, BMI independent) measurement unit expressed as abbreviation. |
SSMMRIGHTLEGBMIINDEPENDENT_VALUE | Segmental skeletal muscle mass (right leg, BMI independent) measurement value expressed as number. |
SSMMRIGHTLEGBMIINDEPENDENT_UNIT | Segmental skeletal muscle mass (right leg, BMI independent) measurement unit expressed as abbreviation. |
SSMMLEFTLEGBMIINDEPENDENT_VALUE | Segmental skeletal muscle mass (left leg, BMI independent) measurement value expressed as number. |
SSMMLEFTLEGBMIINDEPENDENT_UNIT | Segmental skeletal muscle mass (left leg, BMI independent) measurement unit expressed as abbreviation. |
SSMMTORSOBMIINDEPENDENT_VALUE | Segmental skeletal muscle mass (torso, BMI independent) measurement value expressed as number. |
SSMMTORSOBMIINDEPENDENT_UNIT | Segmental skeletal muscle mass (torso, BMI independent) measurement unit expressed as abbreviation. |
VAT_VALUE | Visceral adipose tissue measurement value expressed as number. |
VAT_UNIT | Visceral adipose tissue measurement unit expressed as abbreviation. |
PHA_VALUE | Phase angle measurement value expressed as number. |
PHA_UNIT | Phase angle measurement unit expressed as abbreviation. |
PHA_PERCENTILE | Phase angle measurement value in comparison to population for age expressed as number. |
BIVA_ZRH_UNIT | Bioelectrical impedance vector analysis index for resistance (R) by height measurement unit expressed as abbreviation. |
BIVA_ZRH_VALUE | Bioelectrical impedance vector analysis index for resistance (R) by height measurement value expressed as number. |
BIVA_ZXCH_UNIT | Bioelectrical impedance vector analysis index for reactance (Xc) by height measurement unit expressed as abbreviation. |
BIVA_ZXCH_VALUE | Bioelectrical impedance vector analysis index for reactance (Xc) by height measurement value expressed as number. |
TBS_VALUE | TRU body score measurement value expressed as number. |
TBS_UNIT | TRU body score measurement unit expressed as abbreviation. |
TBS_FATSCORE_UNIT | TRU body score fat score measurement unit expressed as abbreviation. |
TBS_FATSCORE_VALUE | TRU body score fat score measurement value expressed as number. |
TBS_TOPPERCENT | TRU body score measurement value that belongs to top percent of people of person's age and BMI. |
TBS_MUSCLESCORE_UNIT | TRU body score muscle score measurement unit expressed as abbreviation. |
TBS_MUSCLESCORE_VALUE | TRU body score muscle score measurement value expressed as number. |
XC_VALUE | Reactance measurement value expressed as number. |
XC_UNIT | Reactance measurement unit expressed as abbreviation. |
R_VALUE | Resistance measurement value expressed as number. |
R_UNIT | Resistance measurement unit expressed as abbreviation. |
All Clinical Parameters that return a value also have an associated unit parameter to indicate which parameters were set on the device at the time of collection.
Other Device Parameters
Parameter Name | Description |
---|---|
TENANT_ID | Unique seca tenant (site) identifier. |
DEVICE_ID | Unique device identifier. |
REQUEST_ID | Unique start measurement request identifier. |
RAW_JSON_DATA | Raw JSON Measurement data from seca. Do not include in form |
MEASUREMENT_ID | Unique measurement identifier. |
MEASUREMENT_DATETIME | Measurement acquisition date and time. |
RAW_JSON_DATA is included to support seca’s Reporting Widgets and are not intended for inclusion on ClinSpark forms.
Data
Volunteer Monitoring Data
Data collected on the device is return to ClinSpark as Volunteer Monitoring Data via SparkPlug. In addition to the parameterized results, raw JSON data is returned to enable seca Widget based reporting.
If results are not received back from seca analytics 125 within the allowed 10 minute window, SparkPlug will block the return of result data to ClinSpark.
Study Form Data
After data is received from the seca analytics 125 platform as Volunteer Monitoring Data, an asynchronous job polling the database for new seca result data populates the data to the seca analytics 125 collection form’s Items as Study Form Data.
Reports / Dashboards
Transfer Data Report
Site Report
Bioimpedance Analysis Visualizations Dashboard (seca Widgets)
Errors / Troubleshooting
Demographics Errors
'Device Not Ready' Errors
seca Tenant Configuration Errors
Notes
Known Limitations
It is currently possible in ClinSpark to start a seca measurement on a form that already has a status of “Complete”, meaning measurement data has been populated via the async job. If a second measurement would be invoked from a “Complete” form, it's possible that the enrollment data (TENANT_ID, DEVICE_ID, & REQUEST_ID) would be inaccurate for the measurement data saved to the form. TENANT_ID would be the same because the data would be collected for the same site. And more than likely DEVICE_ID would match as well if the site only has a single device. But in this scenario, the REQUEST_ID would be wrong as it would reflect an identifier for requesting a measurement that has yet to be acquired.
Currently, measurements that are “Weight Only” are not able to be sent / transferred through ClinSpark. These weight measurements would need to be manually captured on a scale independent of device invocation and entered onto the form manually.
The seca mBCA 554 device will timeout if a subject does not step on the platform within 5 minutes of measurement start. We set the threshold to 10 minutes to allow for a 5-minute grace period in the event a subject stands on the platform moments before timeout. Measurement acquisition should not take more than 5 minutes. This threshold is used to prevent processing records that are too old to be considered for data posting.
If a Volunteers Demographics are updated following a measurement all past measurements will retain the data as calculated prior to the change. As each invocation and measurement is sent to the seca analytics platform ClinSpark sends the volunteer details as a “snapshot in time” so retrospective data will not be updated within past forms collected via ClinSpark.
In scenarios where a scale is not reserved for a specific person / measurement prior to device invocation. In these cases, it has been noted that Date of Birth may be requested following the collection workflow. Seca calls this the anonymous workflow and confirmed that this can be caused by error conditions in pushing Demographics to the device. In these instances, the recommendation is to start the collection workflow again. If the condition is seen in numerous consecutive invocations, please review demographics and contact the help desk.