Clinical Trial Schedule of Activities Specification Using Fast Healthcare Interoperability Resources Definitional Resources: Mixed Methods Study
Bibliographic record
Abstract
BACKGROUND: Clinical research studies rely on schedules of activities (SoAs) to define what data must be collected and when. Traditionally presented in tabular form within study protocols, SoAs are critical for ensuring data quality, regulatory compliance, and correct study execution. Recent efforts, such as the Health Level 7 Vulcan SoA Implementation Guide, have introduced Fast Healthcare Interoperability Resources (FHIR) as a standard for representing SoAs digitally. However, current approaches primarily handle simple schedules and do not adequately capture complex requirements such as conditional branching, repeat cycles, or unscheduled events-features essential for many study designs, particularly in oncology. OBJECTIVE: This study aimed to extend SoA representation methods to address these limitations. Specific objectives were to (1) develop methods for defining multiple SoA paths within a single model, (2) specify conditional scheduling requirements, (3) design a human-readable syntax for study specifications, (4) reflect these requirements as FHIR definitional resources, and (5) test bidirectional conversion between graph-based SoA models and FHIR representations. METHODS: Building on previous work, SoAs were modeled using directed graphs in which nodes represented interactions (eg, visits) or activities, and edges defined transitions. Attributes were added to capture timing, conditional rules, and repeatability. Graph-based models were translated into FHIR PlanDefinitions and related resources (ActivityDefinition, ResearchStudy, and ResearchSubject). Extensions to PlanDefinition were developed (soaTimePoint and soaTransition) to store graph-specific attributes. Proof-of-concept models were implemented and tested using Python, NetworkX, pandas, and FHIR Shorthand, with validation conducted through FHIR servers to ensure structural equivalence and information retention. RESULTS: The graph-based approach successfully modeled multiple paths, unscheduled events, and conditional rules within a single SoA. Edge attributes such as transitionDelay and transitionRule enabled accurate timing calculations and runtime evaluation of permitted paths. Conditional scheduling was expressed using a parameterized syntax interpretable by logic engines. More than 25 study protocols of varying complexity were tested; all could be represented without information loss. The proposed FHIR extensions allowed PlanDefinition resources to fully capture SoA graphs rather than limited tabular forms. Round-trip testing confirmed that the graph models and FHIR resources could be converted without loss of fidelity. The approach also highlighted inconsistencies in some protocol specifications, suggesting its utility for protocol quality assurance. CONCLUSIONS: This study demonstrates that graph-based modeling, combined with targeted FHIR PlanDefinition extensions, enables an accurate and comprehensive representation of clinical study SoAs, including complex scheduling features that are not supported by current standards. These methods improve interoperability, reduce reliance on manual interpretation, and provide a basis for the automated integration of study protocols with electronic health records. While further tooling (eg, FHIRPath and clinical quality language) is needed for operational deployment, this approach offers a more precise and extensible solution for digital protocol implementation.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.131 | 0.245 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.004 |
| Bibliometrics | 0.004 | 0.004 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.004 | 0.003 |
| Open science | 0.002 | 0.003 |
| Research integrity | 0.002 | 0.002 |
| Insufficient payload (model declined to judge) | 0.013 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".