Hardening PHES-ODM: plan and progress to November

This follows the September announcement in Shifting PHES-ODM activity levels, where we said we would explain what the new phase means.

The project continues with a small team led by me with AI assistance. The working group continues to meet monthly, and we have contributors from that group.

In September we described a maintenance phase. At the working group meeting on September 17, we agreed that hardening describes it better: making the model and its tools reliable enough that anyone can use them without help from someone who already knows them. Bug fixes, new parts, and contributor support continue. Requests for new tables are recorded for a future version.

Until November, the priority is the infrastructure that keeps the model correct: one LinkML schema that holds the dictionary’s structure and rules, automatic checks of the dictionary files, and SQL and an entity relationship diagram generated from the schema. We plan to present a draft at the working group meeting on November 19 and to report what is complete and what is not. Progress is tracked on the public workplan.

A reply below lists the milestones and the known issues in version 3.0.1. Questions and comments are welcome here.

Milestones. Three milestones are on the public workplan:

  • By November 19, 2026: a draft LinkML schema that checks the dictionary’s structure and rules, with separate checks for rules the schema cannot express, and SQL generated from the schema that reproduces or explains each relationship between tables in the released SQL
  • At the working group meeting on November 19: the group’s feedback on the revised direction, the scope of support and how releases are published
  • By March 31, 2027: an automated and checked release process with a generated record of each release, a first mapping with a partner organization, and a first assessment of how new users learn the model, including without AI

Progress. An inventory lists the dictionary’s 213 validation rules, each with the table or field it applies to and where it will be checked. A prototype showed that rules can be added beside the generated schema and still apply after it is regenerated. The first disputed rules have been decided. Part requests now come through GitHub issues or Discourse, and the general contact address is odm-info@phes-odm.org.

Known issues in version 3.0.1. These problems affect current users:

  • The SQL schemas cannot load calculations recorded as the documentation describes. Data kept in files are not affected.
  • The recommended format for calculation IDs produces IDs longer than the dictionary allows.
  • In the LinkML schema, numeric fields that also accept missing-value codes reject all numbers.
  • The parts table does not validate against the LinkML class generated from it.
  • The SQLite schema allows empty (NULL) primary keys. Add NOT NULL to each key column before creating a database, or check that each key is filled before loading.
  • The terms normalization and standardization are used in the opposite sense to common usage, and not consistently.

We will fix these after the release process is updated, following the November 19 meeting. No release is planned before then. If an issue affects your work now, reply here, and we will help with an interim solution. Reports of other problems are welcome.

Calculations and protocols. We are reviewing how the model records calculations and protocols. Changes may not be backward compatible. They would come in a future major version, after consultation. If you record calculations or protocols with the ODM, please tell us how.

Taking part. The working group meets on the third Thursday of each month at 10:00 Eastern time. There is no meeting in October; the next is on November 19. Anyone may attend; message me to be added. We will start publishing minutes, beginning with a pilot at the next meeting.

Thank you to Martin, who led the LinkML and mapping work, and to Mathew, who for many of you was the main contact for PHES-ODM, for the work they built and handed over.