mighty requires these essential input building blocks:
study_id, used by mighty.toolbox for define.xml generation (optional)This modular approach separates the what (specifications) from the how (code components), enabling efficient and consistent ADaM development. By providing these building blocks, mighty takes care of organizing and rendering ADaM programs.
Additionally (and optional), mighty can render programs that are executable, based on the available data:
The _mighty.yml file provides framework configuration required by mighty. It contains:
The primary keys specified for each external dataset establish the relationships between tables by defining the columns used for joining operations. When mighty needs to combine data from multiple sources, it uses these primary keys to determine the appropriate join logic across SDTM, metadata, and ADaM data sets. See vignette("mighty_config") for more details.
Each ADaM domain requires its own specification that acts as a comprehensive blueprint. The specification defines:
For detailed information about the ADaM specification data model and syntax, see vignette("adam_specification").
Code components provide the implementation logic for complex derivations referenced in ADaM specifications. These pre-validated, reusable modules ensure consistency and reduce development time.
The are three component sources:
Standard Library (mighty.standards)
Custom Components
Internal Components
_mighty.ymlThe optional _study.yml file provides study-level properties. It requires a study_id field and supports additional properties such as study_description.
While mighty itself does not use _study.yml during code generation, it is read and stored by mighty.metadata::mighty_study() as part of the study metadata. The file is used by mighty.toolbox when generating define.xml for regulatory submissions. If _study.yml is not present, mighty will display an informational message but continue without error.
When a trial is in conduct, the available data may change as a result of implementing new SDTM datasets, adding columns, creating and updating supplementary qualifiers datasets, etc. until DBL. This can happen when new data points are collected, or if the protocol is amended. Mighty produces ADaM programs that are in alignment with the ADaM specification but if underlying data sources are not compliant with these, the generated programs will not be able to execute. Therefore mighty can use data model metadata to extract code that can be executed at any given time during trial conduct. See vignette("missing_data_analysis") for more details.