# Tables ## Lookup Tables ### MedDevMaterialRank Lookup table with the types Rank values for Continuous Flows Feature. **Values:** - **Head** - Material Head Rank - **Middle** - Material Middle Rank - **Tail** - Material Tail Rank ### ParameterType Parameter Types for Label Verification and Reconciliation. **Values:** - **Label Reconciliation** - Type to be used in created parameters for Label Reconciliation ### MedDevLabelVerificationProperties Lookup table with the Label Verification Label Reconciliation Parameter names that were loaded on the system. **Values:** - **PrintedLabels** - Printed Labels - **TotalGoodLabels** - Total Good Labels - **TotalScrappedLabels** - Total Scrapped Labels - **RemainingLabels** - Remaining Labels - **FirstLabelVerificationCount** - First Label Verification Count - **LastLabelVerificationCount** - Last Label Verification Count ### MedDevMaterialProtocolOperations Lookup table with the material protocol operations on the system. **Values:** - **AssociateMaterial** - Associate Material - **AttachDocument** - Attach Document ### MedDevMaterialProtocolGroupingProperties Lookup table with the material protocol grouping properties on the system. **Values:** - **Name** - Name - **ProductionOrder** - Production Order - **ManufacturerLotNumber** - Manufacturer Lot Number ## Generic Tables ### GUIElementDefaultValue Standard generic table used by the UI to define default values for GUI elements. The MedDev template uses this table to optionally configure the initial value of the **Skip Confirmation** flag in the **Automatic Explicit Add** wizard. No default row is delivered by the MedDev template. Client projects can create the row when they need to control the default behavior. | Column | Value | Description | | :----- | :---- | :---------- | | Context | `MedDev.AutomaticExplicitAdd` | Identifies the Automatic Explicit Add wizard context. | | Element | `ShowConfirmation` | Identifies the confirmation-related GUI element. | | Value | `True` or `False` | Default value applied to **Skip Confirmation** when the row is enabled. | | Is Enabled | Enabled/Disabled | When enabled, the wizard reads `Value`. When disabled, `Value` is ignored and the wizard keeps its standard default behavior. | ### MedDevLabelVerificationParameters Generic table used to define Parameters correspondence to relation MedDevMaterialPrintableDocument and the type of calculation to apply to each parameter The following table describes the **table columns**: | Name | Is Key | Is Mandatory | Data Type | Reference | Description | | :-------------------- | :----: | :----------: | :-------- | :---------------------------------------------------- | :------------------------------------------------------------------------------- | | Parameter | Yes | Yes | String | Parameter | Parameter Name | | VerificationProperty | No | No | String | LookUpTableValue MedDevLabelVerificationProperties | Relation MedDevMaterialPrintableDocument correspondent property | | UpdateMode | No | No | Integer | Enumeration Cmf.MedDev.Common.Enum.PropertyUpdateMode | Type of calculation to apply on relation correspondent property | | PreFillParameterValue | No | Yes | Boolean | None | Define if Data Collection shall get a value from Relation correspondent property | ## Smart Tables ### MedDevMaterialChecklistContext Smart table used to resolve the Checklist for the specific Material context. Is similar to the standard MaterialChecklistContext but with the new column `MaterialRank` used as key. ### MedDevMaterialDataCollectionContext Smart table used to resolve the DataCollection for the specific Material context. Is similar to the standard MaterialDataCollectionContext but with the new column `MaterialRank` used as key. ### MedDevContinuousFlowFeaturesConfig Smart table used to resolve context-specific Continuous Flows feature settings for a given material. When a global configuration entry is disabled, the system looks up this smart table using the material's context to determine whether a specific feature should be enabled for that context. **Key Columns:** | Column | Type | Description | | :--------------- | :--------------- | :-------------------------------------------------------------------------- | | Flow | EntityDefinition | The Flow associated with the material. | | LogicalFlowPath | String | The material's flow path. Resolved using PathMatch resolution. | | Product | EntityDefinition | The Product associated with the material. | | ProductGroup | EntityDefinition | The Product Group associated with the material's product. | | ProductionOrder | EntityType | The Production Order associated with the material. | **Value Columns:** | Column | Type | Description | | :------------------------------------------ | :------ | :----------------------------------------------------------------------------------------------------------------- | | ContinuousFlowsEnabled | boolean | Enables Continuous Flows for the matched context. Overrides `EnableGlobalContinuousFlows` when globally disabled. | | AutoReEvaluationOfMaterialRanksEnabled | boolean | Enables auto re-evaluation of ranks for the matched context. Overrides `EnableGlobalAutoReEvaluationOfMaterialRanks` when globally disabled. | | MergeFutureActionOnStepEnabled | boolean | Enables Merge Future Action on Step for the matched context. Overrides `EnableGlobalMergeFutureActionOnStepFeature` when globally disabled. | | KeepInProcessRankOnReworkMaterialReturnEnabled | boolean | Enables preservation of in-process rank on rework return for the matched context. Overrides `EnableGlobalKeepInProcessRankOnReworkMaterialReturn` when globally disabled. | **Resolution Logic:** Settings are resolved per material as follows: 1. If the global configuration entry is enabled, that setting is used globally (no smart table lookup). 2. If the global configuration entry is disabled, the smart table is resolved using the material's context (Flow, LogicalFlowPath, Product, ProductGroup, ProductionOrder). The most specific matching row wins, following the defined precedence keys. ### MedDevMaterialProtocolContext Smart table used to resolve in which steps Protocols should be created for the respective material group and where documents (reports) should be attached and validated for the respective Protocol. **Key Columns:** | Column | Type | Description | | :-------------- | :--------------- | :---------------------------------------------------------------------------- | | Step | EntityDefinition | The Step where the protocol validation should be triggered. | | LogicalFlowPath | String | The material's logical flow path. | | Product | EntityDefinition | The Product associated with the material. | | ProductGroup | EntityDefinition | The Product Group associated with the material's product. | | Flow | EntityDefinition | The Flow associated with the material. | | ProductionOrder | EntityType | The Production Order associated with the material. | | Material | EntityDefinition | The specific Material. | | MaterialType | String | The type of the material. | | MaterialState | String | The system state of the material. One of `Queued` or `Processed` | **Value Columns:** | Column | Required For | Description | | :-------------------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Protocol | Both operations | The Protocol definition used to open or identify a Protocol Instance. | | Operation | Both operations | The operation to perform. Allowed values: `AssociateMaterial`, `AttachDocument` (from Lookup Table `MedDevMaterialProtocolOperations`). | | GroupingProperty | AssociateMaterial | Material property used for grouping. Allowed values: `Name`, `Production Order`, `Manufacturer Lot Number` (from `MedDevMaterialProtocolGroupingProperties`). Mutually exclusive with `GroupingRule`. | | GroupingRule | AssociateMaterial | A custom Rule that returns the grouped materials. Mutually exclusive with `GroupingProperty`. | | Report | AttachDocument | Full path to the Stimulsoft report to generate (e.g., `Material History/Material History`). | | Report Parameters | AttachDocument | Optional JSON object with report parameter overrides. Supports placeholder expressions (e.g., `{{Material.Name}}`). | | MaterialSelectionRule | AttachDocument | Optional Rule to determine whether the current material should trigger report generation. Receives `SourceMaterial` as input; must set `Input["Result"]` to `true` to proceed. | | Override | AttachDocument | When `true`, replaces an existing attachment with the same report path. When `false` or not set, generation is skipped if the attachment already exists. | | ValidateReplication | AttachDocument | When `true`, validates that the Service History ID has already been replicated to ODS before generating the report. When `false` or not set, report generation proceeds without validation. |