Label Verification and Reconciliation#
Estimated time to read: 13 minutes
In highly regulated environments such as medical device manufacturing, labels are tightly connected to traceability and batch control. On the shop floor, this creates a practical challenge: ensuring that every printed label is accounted for, correctly applied, and reconciled at the end of a production run.
The Label Verification and Reconciliation functionality addresses this operational need by providing MES users with clear visibility and control over label quantities throughout the process. It enables tracking of printed labels, monitoring of actual usage, management of reprints and scrap, and reconciliation of totals before closing an order.
Overview#
This tutorial will walk you through the setup and usage of the Label Verification and Reconciliation functionality in Critical Manufacturing MES. The following topics will be covered:
- Scenarios
- Modelling
- Configuration Entries
- Printable Documents
- Data Collections
- Exception Management
- Checklists
- Execution
Scenarios#
For the purpose of this tutorial, we will consider two simple production processes:
Scenario A#
In the first step, 3 labels are printed and applied to each unit. Some additional labels are often printed if replacing them is required downstream.
At the last step of the flow, Label Reconciliation is executed to account for all issued labels before the order is closed.
Scenario B#
In the first step, 3 labels are printed and applied to each unit. Some additional labels are often printed if replacing them is required downstream. The material then proceeds to the next step, where Label Verification is performed for label 1 and 2. After going through another production step, a second Label Verification is performed now to verify label 3, and to re-validate label 1, which if often damaged during the in-between process. If that is the case, it will be replaced by a new label. Finally, at the last step of the process, Label Reconciliation is executed to account for all issued labels before the order is closed.
Info
While in these scenarios the Label related operations have singularized steps, these operations may be included into regular process steps.
Modeling#
This section describes the configuration required to set up the Label Verification and Reconciliation process. It assumes that the base model (Flow, Steps, Services, etc.) has already been created and configured in MES.
Configuration Entries#
/MedDev/LabelReconciliation/EnableLabelReconciliation
- Must be set to “True” for the functionality to be enabled.
/MedDev/LabelReconciliation/DataCollectionType/
- Defines the Data Collection type expected when creating the Data Collections.
Printable Documents#
Although not directly part of the Label Reconciliation functionality, the configuration of Printable Documents with MES-triggered printing is a pre-requisite for its use. For more information on this topic visit the Printable Documents Tutorial ⧉.
Additionally, the MedDevLabelsPerDocument attribute is now associated with each Printable Document. Its objective is to represent when one Printable Document includes multiple instances of the same label.
Info
To be used on the Label Reconciliation process, the Printable Document must have the “Store Print History” flag set to TRUE.
Configuration of Printable Documents for Scenarios A & B:
- FrontLabel
- BackLabel (MedDevLabelsPerDocument=4)
- SafetyLabel
Data Collections#
Create Data Collections that must be configured as LongRunningAfterTrackIn, with the type configured in the above-mentioned configuration entry. Add the relevant parameters for the specific Verification and Reconciliation processes to be represented. It’s possible to select several predefined Parameters which are divided into three categories:
- Absolute: Updating these parameters will overwrite the previous count.
- Incremental: Updating these parameters will add to the previous values.
- Calculated: Value is automatically calculated using a Rule.
| Parameter | Description | Type | Used In |
|---|---|---|---|
| MedDevFirstLabelCheck | Boolean validation of the first label of the batch. | Increment | Verification |
| MedDevGoodLabels | Number of used labels which were validated and considered good. | Increment | Verification |
| MedDevLastLabelCheck | Boolean validation of the last label of the batch. | Increment | Verification |
| MedDevScrappedLabels | Number of labels which were scrapped during the current process. | Increment | Verification |
| MedDevRemainingLabels | Total number of labels that were printed but not used. | Absolute | Verification/Reconciliation |
| MedDevTotalGoodLabels | Total number of good labels used. | Absolute | Verification/Reconciliation |
| MedDevTotalScrappedLabels | Total number of scrapped labels. | Absolute | Reconciliation |
| MedDevFirstLabelCounts | Count of the number of successful first label validations complete during the process. | Absolute | Reconciliation |
| MedDevLastLabelCounts | Count of the number of successful last label validations complete during the process. | Absolute | Reconciliation |
| MedDevPrintedLabels | Total Printed Labels Parameter for Reconciliation process. This parameter is populated automatically and should not be changed manually. | Absolute | Reconciliation |
| MedDevFirstLastDiff | Difference between the count of good first label validations and good last label validations. Requires configuration of Rule 'MedDevPreviewFirstLastDif' (MedDevFirstLabelCounts - MedDevLastLabelCounts) | Calculated | Reconciliation |
| MedDevMissingLabels | Total number of labels not accounted for. Requires configuration of Rule 'MedDevPreviewMissingLabels' (MedDevPrintedLabels - MedDevTotalGoodLabels - MedDevTotalScrappedLabels - MedDevRemainingLabels) | Calculated | Reconciliation |
Info
The incremental counting of good labels using the MedDevGoodLabels parameter is only meaningful in scenarios where each verification step is responsible for a distinct, non‑overlapping subset of labels, and operators clearly understand which subset they must validate. In typical manufacturing workflows, however, label validation is either performed entirely within a single step or, when distributed across multiple steps, all labels are revalidated at each step to ensure consistency and traceability. For this reason, the use of the absolute parameter MedDevTotalGoodLabels is generally recommended and expected in most implementations.
Info
These Parameters will automatically populate the MedDevMaterialPrintableDocument relation, based on the link defined in the MedDevLabelVerificationParameters Generic Table, under the Verification Property column. It’s possible to create new Parameters and link them to the Reconciliation process by adding them to this table, with the additional possibility of configuring them as Decremental (will remove from the previous values) or NoCalculation.
One or several Label Verification Data Collection can be configured. Each verification step can include validations for all labels or just some, and the same label can be validated more than once in different steps. A single Label Reconciliation step is expected.
These Data Collections may include other Parameters that need to be recorded for the step, without any relation to the Label Reconciliation process, as long as the Reconciliation Data Collection Type is maintained.
Configuration of Label Verification Data Collections for Scenario B:
Create a new Data Collection for Label Verification 1 with type
Label Reconciliation, ScopeGeneraland Post ModeOne Post per Sample. Include the following Parameters:
MedDevFirstLabelCheckMedDevTotalGoodLabelsMedDevScrappedLabelsMedDevLastLabelCheckMedDevRemainingLabelsFor each Parameter setup the Samples:
Type'List'Minimum & Maximum Samples: Corresponding to the number of Labels to be verified, in this case 2.
- Optional: To improve user experience set up a common group for all Parameters.
Minimum & Maximum Readings: Always 1.
- Optional: Set the “Reading Names” to True so that it is possible to create a label for that field (e.g. “OK?”; “QTY”)
- On the
Samples and Readingssection, attribute each Sample the name of the Printable Documents it will reflect:
- FrontLabel
- BackLabel
Create a new Data Collection for Label Verification 2. This Data Collection can use the same template as created for Label Reconciliation 1, replacing the
BackLabelwith theSafetyLabel.Configure the created Data Collections at the required Steps on the
MedDevMaterialDataCollectionContextsmart table, as LongRunningAfterTrackIn.Info
Verify that the
MedDevMaterialDataCollectionis configured for theMaterialDataCollectionResolutionon theContextResolutionGeneric Table.Configuration of Label Reconciliation Data Collections for Scenarios A & B: For both scenarios it’s necessary to create a new Data Collection for Label Reconciliation with type
Label Reconciliation, ScopeGeneral, Post ModeOne Post per Sample. Include the following Parameters:
MedDevPrintedLabelsMedDevFirstLabelCounts(only for scenario B)MedDevLastLabelCounts(only for scenario B)MedDevTotalGoodLabelsMedDevTotalScrappedLabelsMedDevRemainingLabelsMedDevMissingLabelsMedDevFirstLastDiff(only for scenario B)Info
MedDevFirstLabelCountsandMedDevLastLabelCounts- These parameters display the number of good first and last label validations performed. Since this is not applicable for scenario A, they will not be included in the respective Data Collection. Since the calculated parameterMedDevFirstLastDiffneeds these for the calculation, it is also not applicable for this scenario and can be excluded.Info
For both scenarios,
MedDevPrintedLabelswill automatically display the number of printed labels. This value must not be changed manually.For each Parameter (except Calculated parameters) setup the Samples:
Type'List'Minimum & Maximum Samples: Corresponding to the number of Labels to be reconciled, in this case 3.
- Optional: To improve user experience set up a common group for non-calculated Parameters.
Minimum & Maximum Readings: Always 1.
- Optional: Set the “Reading Names” to True so that it is possible to create a label for that field (e.g. “OK?”; “QTY”)
- On the
Samples and Readingssection attribute each Sample the name of the Printable Documents it will reflect.
- FrontLabel
- BackLabel
- SafetyLabel
For each Calculated parameter setup the Samples and Calculation:
Type'Free Text'Minimum & Maximum Samples: Always 1.
- Optional: To improve user experience set up a common group for calculated Parameters.
Minimum & Maximum Readings: Always 1.
- Optional: Set the “Reading Names” to True so that it is possible to create a label for that field (e.g. “OK?”; “QTY”)
- Set the Calculation field to 'Rule':
MedDevMissingLabels: set Rule 'MedDevPreviewMissingLabels'MedDevFirstLastDiff: set Rule 'MedDevPreviewFirstLastDiff'Configure the created Data Collections at the required Steps on the
MedDevMaterialDataCollectionContextsmart table, as LongRunningAfterTrackIn.Info
Verify that the
MedDevMaterialDataCollectionis configured for theMaterialDataCollectionResolutionon theContextResolutionGeneric Table.
Exception Management#
MES allows the configuration of actions to handle cases where the Reconciliation is not successful.
Using Data Collection Attributes:#
-
MedDevPreventTrackOutOnLabelCountMismatch: When set to TRUE, MES will not allow Track-Out if the Reconciliation quantity does not match the Printed quantity OR the number of First Label Validations does not match the number of Last Label Validations.
-
MedDevPrintedLabels–MedDevTotalGoodLabels-MedDevTotalScrappedLabels-MedDevRemainingLabels= 0 is required
-
MedDevShow FirstLast labels verification warning: When set to TRUE, if both the
MedDevFirstLabelCountsand theMedDevLastLabelCountsvalue is equal to 0, MES will display a warning that no first or last label was validated. To be used in cases where at least one label validation (being it either to the First or Last label) is expected during the process.
Using Data Collection Limit Sets:#
- For each Parameter of the Data Collection, it’s possible to define warning and error limits using a Data Collection Limit Set. Additional information can be found here: Create a Data Collection Limit Set Tutorial ⧉.
- Then, when configuring the Data Collection, setup Protocols to be triggered for each calculated Parameter (
MedDevMissingLabelsandMedDevFirstLastDiff), when the obtained value is other than 0.
Configuration of Exception Management for Scenario A:
Set the
MedDevPreventTrackOutOnLabelCountMismatchattribute to True.Configuration of Exception Management for Scenario B:
Set the ‘MedDev Show FirstLast labels verification warning’ attribute to True.
As a Pre-Requisite, create two Protocols to be open in case of limits violation. A Data Collection Limit Set must also be created to define the limits which will trigger the Protocols and configured on the
MedDevMaterialDataCollectionContextsmart table. For the present scenario, the Limit Set will contain for both parameters a Lower & Upper Error Limit of 0.Set Error Protocols for the limit set violation of Parameters
MedDevFirstLastDiffandMedDevMissingLabels. These calculated Parameters will generally be the ones used to trigger exception management.
Checklists#
In order to guide the user through the Verification or Reconciliation process, it’s possible to embed the Data Collection Parameters within checklists. These can also be used to request and save photos of the labels. Additional information on how to do this can be found here: Data Collection Parameters within Checklists ⧉
Execution#
Common#
Material with qty 100 is In-Process at the Label Printing step. As per the described scenario, 100 labels of each are required. User prints additional labels to be used as replacements, if needed:
- 120 FrontLabel
- 100 BackLabel
- 110 SafetyLabel
MES automatically populates the relation with the printed quantities:
Scenario A#
When the Material reaches the Label Reconciliation step, a new Instance of the Data Collection is opened. Posting the data, only the Printed Labels field is automatically filled. User must complete the remainder of the Data Collection.
User must manually fill the total number of Good, Scrapped and Remaining Labels. Then, if the Preview option is pressed, the user is able to check if the calculated parameters are ok (value must be equal to 0).
In this example, in the case of the SafetyLabel, the sum of Good, Scrapped and Remaining Labels does not reach the value of total Printed Labels. Therefore, according to the Exception Management scenario configured, the Track-Out is not allowed:
The user must return to the Data Collection, correct the posted data, ensure all labels are accounted for and the calculated parameter value is 0. The Track-Out is then authorized.
Scenario B#
When the Material reaches the first Label Verification step, the user must complete the Data Collection referring to the FrontLabel and BackLabel. In this case, 5 FrontLabels were scrapped and the BackLabel last label validation was not performed.
MES automatically populates the relation:
When Material reaches the second Label Verification step, user must complete the Data Collection referring to the FrontLabel and SafetyLabel. Good and Remaining FrontLabel values are carried over from the previous verification.
User will post the data for both labels. In this case, 7 additional FrontLabels were scrapped and replaced, and so the number of Good labels did not change, however the number of remaining labels was inadvertently not reduced. The first and last label check for the SafetyLabel was not performed.
MES automatically updates the relation:
After completing the verification, the Material will reach the Reconciliation process. When posting the data for the Reconciliation, the user is presented with a summary of validation processes. The user reviews the data and makes corrections if needed before completing the process.
If the 'Preview' option is selected, its possible to check the results for the calculated parameters and understand in advance if the data is showing an inconsistency.
If the Track-Out is executed without any changes to the reconciliation values, it will be allowed, however MES applies the following actions according to the configured exception management scenarios:
-
Protocol Instance open due to the limit set violation of the
MedDevMissingLabelsparameter (FrontLabel) -
Protocol Instance open due to the limit set violation of the
MedDevfirstLastDiffparameter (BackLabel) -
Warning shown due to no first or last label validation being recorded as successful (SafetyLabel)
Info
For more information on Label Verification & Reconciliation, see Label Verification and Reconciliation in the User Guide.



























