Version : 87

Released : 2026-05-31

Changes in this Release

Issue

Type

Module(s)

Description

4730

Feature

API

Users can now discover, generate, and download document templates for drafts and projects via REST API.

4738

Feature

API

Users with the new "Can Use API Tokens" permission can now create, view, and revoke their own API tokens from the user profile. Token values are shown only once at creation; existing tokens continue to work and are migrated automatically. Note that api/v<n>/api-token-auth-delete/ now revokes all of the authenticated user's active tokens rather than just one.

4685

Feature

Actions

Action preconditions can now reference draft properties using d("draft_property_name"), alongside the existing p() for project properties.

4686

Feature

Actions

Action preconditions can now reference draft labels using draft_has_label("label_name").

4687

Feature

Actions

Action preconditions can now reference project labels using project_has_label("label_name").

4733

System

Admin

TrialGrid administrators can search and open uploaded draft files.

4749

Feature

Admin

The URL Team list now uses a spreadsheet-style grid.

4751

Bug

Agents

The Custom Diagnostic agent was creating a diagnostic when running tests; it should not have created a diagnostic at this point. This has been corrected.

4752

System

Agents

An Orchestration Framework has been introduced to help TrialGrid Ltd design and develop Agents.

4756

Feature

Agents

The Field Visibility Advisor (Medidata) and Progressive Display Advisor (Veeva) agents have been updated for a more responsive and consistent experience. Any in-progress conversations with these agents will be cleared when this release is deployed; just start a fresh chat to continue.

4757

Feature

Agents

The Custom Function Review agent has been migrated to the new orchestrator framework.

4760

Feature

Agents

The Test Case Creator agents have been migrated to the new orchestrator framework.

4763

Feature

Agents

The Custom Function creator agent has been migrated to the new orchestrator framework.

4781

Feature

Agents

The Test Case search agent has been migrated to the new orchestrator framework.

4651

Bug

Automated Testing

Test Case generation for date window edit checks now includes equality and ±1 unit boundary scenarios for each AddDay/AddSec/AddMin/AddHour/AddMonth/AddYear comparison when Additional scenarios is enabled.

4669

Feature

Automated Testing

There is a new Veeva Test Case step to set visit method, change reason, planned date override and externally owned for Events. Note that existing Veeva drafts will not include the visit method and the SDS must be imported again to pick up the visit method.

4670

Feature

Automated Testing

Veeva 'set event to did not occur' steps can now include a reason.

4681

Bug

Automated Testing

The Test Case Advisor should choose the same form, if possible, when processing derived fields.

4682

Bug

Automated Testing

There should not be warnings in the Test Case editor if a related Edit Check has derived fields which are not directly included in the Test Case.

4501

Feature

Automated Testing

The Veeva Test Case editor now shows warnings for invalid date, datetime and time values in data entry steps.

4735

Bug

Automated Testing

Fixed an issue where the Veeva Test Case Advisor could place generated queries on the wrong event when an edit check's Action Target field was not on the form bound to the rule's first event.

4736

Feature

Automated Testing

The Veeva Test Case Advisor now generates 'I update event' and 'I set event ... to did not occur' steps for rules that reference event change reasons or the did-not-occur attribute.

4767

System

Automated Testing

Specification Review agent migrated to the V2 orchestrator framework — same user-facing workflow, with the folder ambiguity prompt now combining "Any folder (wildcard)" and per-folder options into a single click.

4768

Bug

Automated Testing

Test case runs no longer restart from the beginning when the cached Rave EDC URL lands on a page that does not expose the roles list. The cache entry is invalidated and the run recovers by navigating via the launcher.

4769

Bug

Automated Testing

The Test Set Run wizard now correctly verifies user access for every required site instead of stopping after the first site that succeeded.

4770

Bug

Automated Testing

When the Test Set Run wizard cannot read the user's Rave EDC roles from iMedidata, a clear "Could not determine Rave EDC roles" message is now shown instead of a generic "Error checking study access".

4771

Bug

Automated Testing

The Test Set Run wizard no longer strands users on a non-fillable credentials step when the URL uses TrialGrid service-account credentials. Transient service-account login failures are now retried and do not clear the last successful login record.

4772

Bug

Automated Testing

Several small refinements to Test Set Run access checks - empty study-site payloads now report a clear message, the study-site-number hint is correctly spaced, service-account login retries pause briefly before the second attempt, and dead code paths in the wizard's iMedidata access lookup were removed.

4774

Bug

Automated Testing

For multi-site Test Set Runs, the Rave EDC access records now store the correct study_site_number per site. Previously every record for a user shared the first matched site's value, which could cause runner navigation to land on the wrong site when site numbers and study site numbers differ.

4775

Bug

Automated Testing

Service-account login retries are now applied consistently to all wizard workers and skip retry when the failure is a credential rejection, account state problem or wrong two-factor code, so users see real errors immediately and transient iMedidata flakes are absorbed without losing a run.

4782

Bug

Automated Testing

Test Case runs now retry the form save when Rave EDC responds with a 504 gateway timeout, instead of failing the step on a transient Rave infrastructure error. The audit history is consulted before each retry so that data which Rave persisted before timing out the response is not re-entered.

4783

Bug

Automated Testing

Veeva Test Case generator now produces date values on different dates (not just different times) when comparing a date/time form item against an event date, and uses date-only strings for event date steps.

4784

Bug

Automated Testing

Veeva test case generator now computes each event's date from its Event Window (Offset Event + Offset Days) instead of using the base time for every event, so generated 'I add event' steps fall inside the event's accepted date range.

4785

Bug

Automated Testing

Veeva test case generator now emits the negative scenario before the positive for rules whose action adds an Event Group, Event, or Form — so the negative assertion runs against a clean subject state instead of one that already contains the artefact added by the positive scenario.

4786

Bug

Automated Testing

The Veeva Test Case generator now detects dynamic forms and add an 'I add form' step before the data-entry table (for repeating forms) or data entry steps to trigger the dynamic add form rule (for non-repeating forms).

4787

Feature

Automated Testing

There is a new Test Case step 'I add form "X" to event "EG.EV"' which creates an empty form in an existing event, for use only with repeating forms.

4788

Bug

Automated Testing

The Veeva test case generator now skips rules that reference linked forms and reports which linked forms are involved. The Veeva API has no endpoint to link forms, so a generated test case for such a rule could not be run, so we skip the rule entirely rather than producing an unrunnable feature file.

4789

Feature

Automated Testing

The Veeva Test Case generator will switch to using a Background section, creating subjects per scenario, if necessary to test different events.

4790

Feature

Automated Testing

Veeva Test Case runs will automatically submit an unsubmitted form before checking for a derived value.

4791

Bug

Automated Testing

The Veeva Test Case generator was producing incorrect year values. This has been corrected.

4792

Bug

Automated Testing

The Veeva Test Case generator was not respecting numeric formats when checking data values. This has been corrected.

4793

Bug

Automated Testing

Veeva Test Case generation failed for rules binding a form with commas in its label. This has been corrected.

4794

Bug

Automated Testing

The Veeva Test Case generator was not generating correct values for some rules with wildcards. This has been corrected.

4795

Feature

Automated Testing

The Veeva Test Case generator will not now try to create test cases for lab forms.

4798

Feature

Automated Testing

When several rules share the same query text and action target, the Veeva Test Case generator now produces a single combined scenario instead of one per rule.

4801

Feature

Automated Testing

The Veeva Test Case generator now handles a wider range of rule shapes correctly - "Date of Visit" InWindow rules whose arguments are two event dates (including the bare and Not(InWindow(...)) forms), Max/Min wrappers around wildcard references such as Max($EG.EV[*].FORM.IG.ITEM), IsBlank arguments inside Add Event/Group predicates, attribute references shared across multiple events (for example $TX.D2.event_date__v and $TX.D15.event_date__v), 2-part event identifiers, and Action Targets written in either the "$EG" or "{EG}" form.

4802

Feature

Automated Testing

The Veeva Test Case generator now sequences Login-block events and data entries in phases driven by the Add Event Group cascade, so gating data is entered before the events it enables; requires every gating value in an Add Event Group predicate to match before keeping per-event data (avoiding "Unique Event Group cannot be found" rejections); uses a single definition of "rule is Active" throughout; and keeps prereq block and datapoint lists paired when collecting isolated prerequisites.

4803

Bug

Automated Testing

The Veeva Test Case generator was not processing dates and times consistently across timezones.

4804

Feature

Automated Testing

The Veeva Test Case generator now generates test cases for rules that reference previous or next instances of repeating event groups, events, forms, and item groups via the [-1] / [+1] wildcard identifiers.

4805

Feature

Automated Testing

The Veeva Test Case generator now surfaces a 'Subject ID must be set' issue in the 'Given I have resolved these issues' placeholder step when a rule writes data to the itemgroup containing the Subject-Identifier item, since the generator cannot pick a value that's unique against existing subjects.

4806

Feature

Automated Testing

Has value step results now display both the User String and Coded Data when the field uses a data dictionary, matching what users see in Medidata Rave. If the actual coded value isn't in the copy of the dictionary in TrialGrid, the result notes the dictionary name so users can investigate the mismatch.

4807

Bug

Automated Testing

When checking access to a Rave study before a test case run, a hung page load could cause the access check to retry for up to an hour. The access check is now time-limited and fails with a clear "Study access check timed out" message instead of hanging.

4663

Feature

Collaboration

Timeline Templates can be created at URL level for use in Project settings.

4664

Feature

Collaboration

A Timeline Template can be added to a Project so that progress against milestones can be tracked.

4624

Feature

Custom Properties

Custom properties now support the URI data type. URI properties validate that values are valid web addresses with a scheme (http, https, ftp).

4648

Feature

Custom Properties

Custom properties now support the Color data type. Color properties validate hex color codes (#RRGGBB), display as colored swatches in listings, and use a color picker for input.

4659

Feature

Custom Properties

Custom properties now support the Numeric data type. Numeric properties validate values as numbers with optional minimum/maximum bounds and decimal place constraints.

4679

Bug

Custom Properties

Looking up a custom icon by name no longer fails with an attribute error.

4671

Feature

Custom Properties

Custom properties now support the Date data type. Date properties use a native calendar picker for input and display in object listings using the user's date format preference. All date values are stored as ISO dates (YYYY-MM-DD). (Property sheet columns currently still display the raw ISO format)

4694

Bug

Custom Properties

When a custom object referenced by a Reference Property is deleted, the property values pointing at it are now removed automatically and dependent fingerprints and standards compliance are recalculated.

4695

Feature

Custom Properties

Custom properties now support the DateTime data type. DateTime properties use a native datetime picker for input and render in object listings using the user's date format preference. Values are stored in ISO format (YYYY-MM-DD HH:MM[:SS]).

4705

Bug

Custom Properties

Search on the custom object list no longer matches text inside the rendered HTML of the Used In column.

4706

Feature

Custom Properties

Custom object lists now have a Search columns filter so users can choose which columns the search box matches against.

4707

Feature

Custom Properties

The Copy from dialog for custom objects now has the same Search columns control as the list page, so users can restrict the search box to a single column.

4708

Feature

Custom Properties

Custom properties now support a Set type, allowing multi-value selection from a defined list of allowed values. The URL settings export and App Script YAML dumper now include numeric (min/max/decimal places) and Set (values/separator) property settings.

4440

Feature

Custom Properties

Custom object layout Field nodes now accept an optional renderer that replaces the default property input with a specialised widget. Built-in renderers cover numeric properties (number-spinner), choice properties (radio-buttons), and set properties (transfer-list).

4739

Feature

Custom Properties

Text custom properties with a length of less than 100 characters are now rendered as inputs rather than text areas.

4676

Feature

Diagnostic

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4689

Feature

Diagnostic

New diagnostic flags Veeva ItemGroups where Header Visible or Visual Group is not set to Yes, with an autofix to enable them and a configurable Item Group Name exclusion list.

4690

Feature

Diagnostic

New diagnostic flags Veeva Items where the Control Type does not match the codelist size: Picklist is required for codelists with more than 6 entries, and Radio Buttons - Horizontal is unsuitable for codelists with more than 3 entries. The autofix sets the recommended Control Type and an Item Name exclusion list lets users skip specific Items.

4691

Feature

Diagnostic

New diagnostic flags Veeva Forms with mixed Radio Button orientations: items whose Control Type does not match the Form's majority orientation are reported with an autofix that switches them to the majority (Vertical wins ties). Form Name and Item Name exclusion lists let users skip specific forms or items.

4692

Feature

Diagnostic

New diagnostic groups Veeva codelists with identical entries (same Choice Codes and Labels regardless of order) and flags Items whose Control Type does not match the most-used valid type within the group, with Picklist beating Vertical beating Horizontal on ties. Codelist Name and Item Name exclusion lists let users skip specific groups or items.

4693

Feature

Diagnostic

New diagnostic flags Veeva Items whose Item Name is longer than a configurable threshold (default 8 characters). The fix prompts for a replacement name; an Item Name exclusion list lets users skip specific items.

4697

Feature

Diagnostic

TrialGrid now flags Veeva Date and Date/Time Items whose 'No Future Date' is not set to Yes, with an autofix that sets it to Yes.

4698

Feature

Diagnostic

TrialGrid now flags Veeva Items whose Length does not match the maximum Choice Code length of their Codelist, with an autofix that sets Length to the correct value.

4699

Feature

Diagnostic

TrialGrid now flags Veeva data Items that do not have Required set to Yes (skipping Read-only and Derived items), with an autofix that sets Required to Yes.

4700

Feature

Diagnostic

TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear.

4702

Feature

Diagnostic

TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist.

4703

Feature

Diagnostic

TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture.

4704

Feature

Diagnostic

TrialGrid now flags Veeva Unit Codelists whose conversion formulas do not match the canonical conversion factors for the units they contain, with an autofix that rewrites the formula.

4715

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that flags objects whose External ID does not match their Name, with an autofix that copies the Name into External ID. The list of object types to check is configurable; Form is selected by default.

4716

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that classifies Items as lot numbers, kit numbers, or accession numbers and flags any whose Data Type is not Text. The autofix sets Data Type to Text.

4717

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that flags Concomitant Medications forms which collect Total Daily Dose alongside Dose and Frequency, since these dosing views are mutually exclusive.

4742

Feature

Diagnostic

Diagnostic 0180 (Item Name and External ID Reserved Words) now flags lab-prefix Items only when Enable Local Labs is not set to Yes in Study Settings, since TrialGrid auto-creates these Items when local labs are enabled.

4743

Feature

Diagnostic

Diagnostic 0186 (Veeva ItemGroup Header Visible and Visual Group Selected) now excludes the LBHEADER ItemGroup by default, since TrialGrid auto-creates LBHEADER when local labs are enabled.

4744

Feature

Diagnostic

Diagnostic 0188 (Veeva Form Radio Button Layout Consistency) now groups Items by Codelist entry count when checking radio orientation consistency, so radio Items with a 2-entry codelist are compared only against other 2-entry codelist Items.

4745

Feature

Diagnostic

Diagnostic 0190 (Veeva Item Name Length) now excludes TrialGrid-auto-created lab Items by default (LBNRIND_*, LBTEST_*, LBCLSIG_*, LBORRES_*, LBORNRLO_*, LBORNRHI_*, LBOVRDNRLO_*, LBOVRDNRHI_*).

4650

Feature

Document Templates

The URL Document Templates list can now be filtered by scope, format and active state.

4653

Feature

Document Templates

Document templates now support an {% ai instruction="..." %}...{% endai %} tag that transforms block content using an AI call, making it easier to summarise or rewrite template sections at generation time.

4676

Feature

Document Templates

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4758

Bug

Document Templates

Inline formatting (e.g. bold) inside HTML list items is now preserved when document templates use the convert_html filter for Word and Excel output.

4759

Bug

Document Templates

Newlines between formatted runs of text in Excel document template output are no longer dropped during rendering.

4666

System

Infrastructure / System

Internal changes to consolidate code adding/removing Labels.

4667

Feature

Infrastructure / System

|company| staff can now export a URL's customizations (custom object definitions, custom properties, object identifiers, and per-object visibility settings) to a file and re-apply them to a new URL.

4668

System

Infrastructure / System

Reduced calls to a system cache to improve performance.

4676

Feature

Infrastructure / System

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4754

System

Infrastructure / System

URL type display names ('URL' or 'Vault') are now derived from a single overridable method on the URL model and not hard-coded.

4725

Feature

Labels

Labels can now be applied to Fields. The Draft Fields list, Form editor, and Copy Form modal all support managing and filtering by Field labels. Label removal conditions can also be configured for Field attributes so a Field's label is auto-removed when its attributes change.

4737

Bug

Labels

Searching the URL Labels list now matches only the label name and no longer matches against the label id values.

4668

System

Performance

Reduced calls to a system cache to improve performance.

4674

System

Performance

The performance of saving test cases has been improved.

4675

System

Performance

The performance of viewing Rave draft objects has been improved.

4677

System

Performance

The performance of the Test Set Run view has been improved.

4678

System

Performance

The performance of saving Forms when Fields have been re-ordered has been improved.

4675

System

Performance

The performance of viewing draft objects has been improved.

4813

System

Performance

Property sheets now load faster by reducing the server-side work needed to build large grids.

4673

Feature

Permissions

A new 'Drafts.Merge Draft' Project Role permission now controls access to the draft merge flow. Users without this permission will not see the Merge option on the draft upload page and cannot apply merges.

4684

Feature

Permissions

Project roles now have a separate "Assign Users" permission that controls whether users can assign people to objects from object lists, draft objects, and property sheets. Existing roles default to disabled and the permission can be granted as needed.

4688

Bug

Property Sheets

Clicking on a checkbox cell in a property sheet to select it or to start a drag selection no longer toggles the checkbox value. The checkbox now toggles only on a true single click.

4714

Feature

Property Sheets

Property sheet column definitions now have an Exclude Blanks option in the default filter, which hides rows where the column has no value.

4724

Feature

Property Sheets

Property sheets for Forms can now be created.

4732

Bug

Property Sheets

Activity records were not being created when new Folders or Forms were added on a property sheet. This has been corrected.

4740

Feature

Property Sheets

Property sheets now have a read-only property which disables all editing.

4741

Feature

Property Sheets

Child object definitions can now have read-only Property Sheets.

4761

Feature

Property Sheets

Choice columns in property sheets now use an in-cell dropdown with type-to-filter instead of a popup dialog.

4764

Feature

Property Sheets

Clicking a choice or checkbox cell in a spreadsheet now selects it; the dropdown opens only when you click the arrow and the checkbox toggles only when you click the box.

4765

Feature

Property Sheets

Color custom properties in spreadsheet views now show a color swatch with the hex code and can be edited with a color picker.

4766

Feature

Property Sheets

Set custom properties in property sheet spreadsheets can now be edited with a multi-select drop-down of the allowed values.

4773

Feature

Property Sheets

Date and datetime custom properties now display in your chosen date format and edit with a date/time picker in spreadsheet views.

4813

System

Property Sheets

Property sheets now load faster by reducing the server-side work needed to build large grids.

4680

Feature

Security

TrialGrid Ltd can now configure a minimum password length above the system default of 9 characters on a per-organization basis.

4738

Feature

Security

Users with the new "Can Use API Tokens" permission can now create, view, and revoke their own API tokens from the user profile. Token values are shown only once at creation; existing tokens continue to work and are migrated automatically. Note that api/v<n>/api-token-auth-delete/ now revokes all of the authenticated user's active tokens rather than just one.

4753

System

Security

Additional measures to reduce the possibility of XSS attacks.

3100

System

Security

Validation documentation now includes a Security Oversight Summary covering how service suppliers secure hosting IT components and how the build pipeline checks third-party component security.

4778

System

Security

Additional protections have been introduced when handling external URL references.

4780

System

Standard Rules

Changing multiple Project Properties in a single save in TrialGrid now triggers one combined rule recalculation instead of a separate background task per property, improving performance.

4726

Feature

Standards

URLs can now disable the standards compliance approval workflow at the URL level. When disabled, compliance is still calculated for drafts linked to a library but Request Approval / Approve / Reject UI and actions are hidden across TrialGrid.

4723

Feature

Study build

TrialGrid now provides an Amendment Advisor that compares two Drafts in a Project and highlights structural, field, and edit-check changes that could cause data loss when a Rave Amendment Manager migration runs.

4725

Feature

Study build

Labels can now be applied to Fields. The Draft Fields list, Form editor, and Copy Form modal all support managing and filtering by Field labels. Label removal conditions can also be configured for Field attributes so a Field's label is auto-removed when its attributes change.

4746

Feature

Study build

The Draft Fields list has a 'Copy from' button so that fields can be copied from another draft.

4701

Bug

Tickets

Tickets in a project now always receive a unique identifier, even when the New Ticket form is submitted twice in rapid succession.

4709

Feature

UX

Buttons on list views have been consolidated into 'Add' and 'Actions' groups.

4747

Feature

UX

Cloning a draft with no user assignments now starts immediately, skipping the assignment-handling prompt.

4748

Feature

UX

Project role administrators can now use Select All and Select None buttons to toggle every permission at once on the Project Role edit page.

4749

Feature

UX

The URL Team list now uses a spreadsheet-style grid.

3090

Feature

Validation

Each issue in the validation documentation now links to the release notes for the production version(s) in which it was fixed, and issues that are not yet part of a released version are no longer listed.

3100

System

Validation

Validation documentation now includes a Security Oversight Summary covering how service suppliers secure hosting IT components and how the build pipeline checks third-party component security.

3680

System

Validation

Suppressed Python dependency vulnerabilities now record a last-reviewed date and the build fails if any suppression has not been reviewed within 60 days, with this control described in the validation documentation.

4660

Feature

Veeva

When adding a Veeva Vault the roles, labels, custom objects, custom properties, actions and other settings can now be copied from an existing Vault.

4669

Feature

Veeva

There is a new Veeva Test Case step to set visit method, change reason, planned date override and externally owned for Events. Note that existing Veeva drafts will not include the visit method and the SDS must be imported again to pick up the visit method.

4670

Feature

Veeva

Veeva 'set event to did not occur' steps can now include a reason.

4683

Bug

Veeva

When uploading a Veeva SDS some properties were incorrectly assigned to Events instead of Event Group Events (the Event Group / Event combination in the Schedule). Existing Veeva Drafts will be automatically corrected.

4689

Feature

Veeva

New diagnostic flags Veeva ItemGroups where Header Visible or Visual Group is not set to Yes, with an autofix to enable them and a configurable Item Group Name exclusion list.

4690

Feature

Veeva

New diagnostic flags Veeva Items where the Control Type does not match the codelist size: Picklist is required for codelists with more than 6 entries, and Radio Buttons - Horizontal is unsuitable for codelists with more than 3 entries. The autofix sets the recommended Control Type and an Item Name exclusion list lets users skip specific Items.

4691

Feature

Veeva

New diagnostic flags Veeva Forms with mixed Radio Button orientations: items whose Control Type does not match the Form's majority orientation are reported with an autofix that switches them to the majority (Vertical wins ties). Form Name and Item Name exclusion lists let users skip specific forms or items.

4692

Feature

Veeva

New diagnostic groups Veeva codelists with identical entries (same Choice Codes and Labels regardless of order) and flags Items whose Control Type does not match the most-used valid type within the group, with Picklist beating Vertical beating Horizontal on ties. Codelist Name and Item Name exclusion lists let users skip specific groups or items.

4693

Feature

Veeva

New diagnostic flags Veeva Items whose Item Name is longer than a configurable threshold (default 8 characters). The fix prompts for a replacement name; an Item Name exclusion list lets users skip specific items.

4697

Feature

Veeva

TrialGrid now flags Veeva Date and Date/Time Items whose 'No Future Date' is not set to Yes, with an autofix that sets it to Yes.

4698

Feature

Veeva

TrialGrid now flags Veeva Items whose Length does not match the maximum Choice Code length of their Codelist, with an autofix that sets Length to the correct value.

4699

Feature

Veeva

TrialGrid now flags Veeva data Items that do not have Required set to Yes (skipping Read-only and Derived items), with an autofix that sets Required to Yes.

4700

Feature

Veeva

TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear.

4702

Feature

Veeva

TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist.

4703

Feature

Veeva

TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture.

4704

Feature

Veeva

TrialGrid now flags Veeva Unit Codelists whose conversion formulas do not match the canonical conversion factors for the units they contain, with an autofix that rewrites the formula.

4715

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that flags objects whose External ID does not match their Name, with an autofix that copies the Name into External ID. The list of object types to check is configurable; Form is selected by default.

4716

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that classifies Items as lot numbers, kit numbers, or accession numbers and flags any whose Data Type is not Text. The autofix sets Data Type to Text.

4717

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that flags Concomitant Medications forms which collect Total Daily Dose alongside Dose and Frequency, since these dosing views are mutually exclusive.

4718

Feature

Veeva

EventGroup Event and EventForm custom object definitions are now displayed for Veeva URLs, so their per-relationship properties are visible in lists. On EventGroup Event, Visit Method and Dynamic are surfaced as list columns. Existing Veeva URLs are updated by data migration.

4719

Feature

Veeva

Codelist Entry and Unit Codelist Entry custom object definitions are now displayed for Veeva URLs, so codelist choices are visible in lists. Choice Label is surfaced as a list column on Codelist Entry; Choice Label, Standard, and Conversion are surfaced on Unit Codelist Entry. Existing Veeva URLs are updated by data migration.

4720

Feature

Veeva

Properties on Veeva URLs that store names of other Veeva objects (Codelist and Unit Codelist on Item; Event Group, Event, Form, Item Group, and Item on Casebook Variable, Rule, Repeating Event Group, Review Plan, Safety Form Configuration, and Comparison Rule) are now reference properties pointing at the relevant custom object definitions, enabling dropdown selection and reference validation in place of free-form text. Existing Veeva URLs are converted by data migration; values that match an object in the draft are translated to the object reference, and unmatched names are cleared.

4721

Bug

Veeva

Casebook is no longer part of the Event Group object identifier on Veeva URLs, fixing reference lookups from Casebook Variables, Rules, Comparison Rules, and Repeating Event Groups that store the bare Event Group Name. Existing Veeva URLs are updated by data migration that recomputes Event Group and EventGroup Event identifiers.

4722

Bug

Veeva

Draft Merge was not working for Veeva Drafts. This has been corrected.

4734

Bug

Veeva

External ID values are now imported correctly for Forms and Item Groups when loading a Study Design Specification.

4735

Bug

Veeva

Fixed an issue where the Veeva Test Case Advisor could place generated queries on the wrong event when an edit check's Action Target field was not on the form bound to the rule's first event.

4736

Feature

Veeva

The Veeva Test Case Advisor now generates 'I update event' and 'I set event ... to did not occur' steps for rules that reference event change reasons or the did-not-occur attribute.

4742

Feature

Veeva

Diagnostic 0180 (Item Name and External ID Reserved Words) now flags lab-prefix Items only when Enable Local Labs is not set to Yes in Study Settings, since TrialGrid auto-creates these Items when local labs are enabled.

4743

Feature

Veeva

Diagnostic 0186 (Veeva ItemGroup Header Visible and Visual Group Selected) now excludes the LBHEADER ItemGroup by default, since TrialGrid auto-creates LBHEADER when local labs are enabled.

4744

Feature

Veeva

Diagnostic 0188 (Veeva Form Radio Button Layout Consistency) now groups Items by Codelist entry count when checking radio orientation consistency, so radio Items with a 2-entry codelist are compared only against other 2-entry codelist Items.

4745

Feature

Veeva

Diagnostic 0190 (Veeva Item Name Length) now excludes TrialGrid-auto-created lab Items by default (LBNRIND_*, LBTEST_*, LBCLSIG_*, LBORRES_*, LBORNRLO_*, LBORNRHI_*, LBOVRDNRLO_*, LBOVRDNRHI_*).

4713

Feature

Veeva

There are a default set of Property Sheets for Veeva URLs.

4783

Bug

Veeva

Veeva Test Case generator now produces date values on different dates (not just different times) when comparing a date/time form item against an event date, and uses date-only strings for event date steps.

4784

Bug

Veeva

Veeva test case generator now computes each event's date from its Event Window (Offset Event + Offset Days) instead of using the base time for every event, so generated 'I add event' steps fall inside the event's accepted date range.

4785

Bug

Veeva

Veeva test case generator now emits the negative scenario before the positive for rules whose action adds an Event Group, Event, or Form — so the negative assertion runs against a clean subject state instead of one that already contains the artefact added by the positive scenario.

4786

Bug

Veeva

The Veeva Test Case generator now detects dynamic forms and add an 'I add form' step before the data-entry table (for repeating forms) or data entry steps to trigger the dynamic add form rule (for non-repeating forms).

4787

Feature

Veeva

There is a new Test Case step 'I add form "X" to event "EG.EV"' which creates an empty form in an existing event, for use only with repeating forms.

4788

Bug

Veeva

The Veeva test case generator now skips rules that reference linked forms and reports which linked forms are involved. The Veeva API has no endpoint to link forms, so a generated test case for such a rule could not be run, so we skip the rule entirely rather than producing an unrunnable feature file.

4789

Feature

Veeva

The Veeva Test Case generator will switch to using a Background section, creating subjects per scenario, if necessary to test different events.

4790

Feature

Veeva

Veeva Test Case runs will automatically submit an unsubmitted form before checking for a derived value.

4791

Bug

Veeva

The Veeva Test Case generator was producing incorrect year values. This has been corrected.

4792

Bug

Veeva

The Veeva Test Case generator was not respecting numeric formats when checking data values. This has been corrected.

4793

Bug

Veeva

Veeva Test Case generation failed for rules binding a form with commas in its label. This has been corrected.

4794

Bug

Veeva

The Veeva Test Case generator was not generating correct values for some rules with wildcards. This has been corrected.

4795

Feature

Veeva

The Veeva Test Case generator will not now try to create test cases for lab forms.

4798

Feature

Veeva

When several rules share the same query text and action target, the Veeva Test Case generator now produces a single combined scenario instead of one per rule.

4801

Feature

Veeva

The Veeva Test Case generator now handles a wider range of rule shapes correctly - "Date of Visit" InWindow rules whose arguments are two event dates (including the bare and Not(InWindow(...)) forms), Max/Min wrappers around wildcard references such as Max($EG.EV[*].FORM.IG.ITEM), IsBlank arguments inside Add Event/Group predicates, attribute references shared across multiple events (for example $TX.D2.event_date__v and $TX.D15.event_date__v), 2-part event identifiers, and Action Targets written in either the "$EG" or "{EG}" form.

4802

Feature

Veeva

The Veeva Test Case generator now sequences Login-block events and data entries in phases driven by the Add Event Group cascade, so gating data is entered before the events it enables; requires every gating value in an Add Event Group predicate to match before keeping per-event data (avoiding "Unique Event Group cannot be found" rejections); uses a single definition of "rule is Active" throughout; and keeps prereq block and datapoint lists paired when collecting isolated prerequisites.

4803

Bug

Veeva

The Veeva Test Case generator was not processing dates and times consistently across timezones.

4804

Feature

Veeva

The Veeva Test Case generator now generates test cases for rules that reference previous or next instances of repeating event groups, events, forms, and item groups via the [-1] / [+1] wildcard identifiers.

4805

Feature

Veeva

The Veeva Test Case generator now surfaces a 'Subject ID must be set' issue in the 'Given I have resolved these issues' placeholder step when a rule writes data to the itemgroup containing the Subject-Identifier item, since the generator cannot pick a value that's unique against existing subjects.