Title: Regulatory Submission Profiles for Clinical Submission Readiness
Version: 0.1.0
Description: Defines submission profiles per regulatory authority with authority-specific pillar weights, decision thresholds, indicator requirements, and risk configuration. Supports the U.S. Food and Drug Administration (FDA), European Medicines Agency (EMA), Pharmaceuticals and Medical Devices Agency (PMDA), Health Canada, Therapeutic Goods Administration (TGA), and Medicines and Healthcare products Regulatory Agency (MHRA). Integrates with 'r4subscore' and 'r4subrisk' configuration systems.
License: MIT + file LICENSE
URL: https://github.com/R4SUB/r4subprofile
BugReports: https://github.com/R4SUB/r4subprofile/issues
Depends: R (≥ 4.2)
Imports: cli, r4subcore, rlang, tibble
Suggests: r4subscore, r4subrisk, testthat (≥ 3.0.0)
Config/testthat/edition: 3
Encoding: UTF-8
RoxygenNote: 7.3.3
NeedsCompilation: no
Packaged: 2026-02-25 15:09:00 UTC; aeroe
Author: Pawan Rama Mali [aut, cre, cph]
Maintainer: Pawan Rama Mali <prm@outlook.in>
Repository: CRAN
Date/Publication: 2026-03-03 21:20:32 UTC

r4subprofile: Regulatory Submission Profiles for Clinical Submission Readiness

Description

Defines submission profiles per regulatory authority with authority-specific pillar weights, decision thresholds, indicator requirements, and risk configuration. Supports the U.S. Food and Drug Administration (FDA), European Medicines Agency (EMA), Pharmaceuticals and Medical Devices Agency (PMDA), Health Canada, Therapeutic Goods Administration (TGA), and Medicines and Healthcare products Regulatory Agency (MHRA). Integrates with 'r4subscore' and 'r4subrisk' configuration systems.

Author(s)

Maintainer: Pawan Rama Mali prm@outlook.in [copyright holder]

See Also

Useful links:


List Supported Regulatory Authorities

Description

Returns a summary of all supported regulatory authorities with their full names, countries, and number of available submission types.

Usage

list_authorities()

Value

A tibble with columns: authority, full_name, country, n_submission_types.

Examples

list_authorities()


List Submission Types for an Authority

Description

Returns the valid submission types for a given regulatory authority.

Usage

list_submission_types(authority)

Arguments

authority

Character. A supported authority name.

Value

A character vector of valid submission types.

Examples

list_submission_types("FDA")
list_submission_types("EMA")


Print Profile Validation Result

Description

Print Profile Validation Result

Usage

## S3 method for class 'profile_validation'
print(x, ...)

Arguments

x

A profile_validation object.

...

Ignored.

Value

Invisibly returns x. Called for its side effect of printing the compliance status, coverage percentage, and any missing indicators or asset types to the console.


Print Submission Profile

Description

Print Submission Profile

Usage

## S3 method for class 'submission_profile'
print(x, ...)

Arguments

x

A submission_profile object.

...

Ignored.

Value

Invisibly returns x. Called for its side effect of printing a summary of the submission profile (authority, submission type, pillar weights, ready band, required indicators, and minimum coverage) to the console.


Get Required Indicators for a Profile

Description

Returns the list of indicator IDs that are mandatory for the given submission profile.

Usage

profile_required_indicators(profile)

Arguments

profile

A submission_profile object.

Value

A character vector of required indicator_id values.

Examples

prof <- submission_profile("FDA", "NDA")
profile_required_indicators(prof)

prof_ind <- submission_profile("FDA", "IND")
profile_required_indicators(prof_ind)


Extract Risk Configuration from a Profile

Description

Returns a list with structure compatible with r4subrisk::risk_config_default(). Can be passed directly to risk assessment functions.

Usage

profile_risk_config(profile)

Arguments

profile

A submission_profile object.

Value

A list of class "risk_config" with rpn_bands, evidence_severity_to_probability, evidence_severity_to_impact, and default_detectability.

Examples

prof <- submission_profile("FDA", "NDA")
cfg <- profile_risk_config(prof)
cfg$rpn_bands


Extract SCI Configuration from a Profile

Description

Returns a list with structure compatible with r4subscore::sci_config_default(). Can be passed directly to compute_pillar_scores() or compute_sci().

Usage

profile_sci_config(profile)

Arguments

profile

A submission_profile object.

Value

A list of class "sci_config" with pillar_weights and bands.

Examples

prof <- submission_profile("FDA", "NDA")
cfg <- profile_sci_config(prof)
cfg$pillar_weights
cfg$bands


Summarize a Submission Profile

Description

Prints a formatted summary of a regulatory submission profile including authority details, pillar weights, decision bands, and requirements.

Usage

profile_summary(profile)

Arguments

profile

A submission_profile object.

Value

The profile object, invisibly.

Examples

prof <- submission_profile("FDA", "NDA")
profile_summary(prof)


Create a Submission Profile

Description

Constructs a regulatory submission profile with authority-specific pillar weights, decision bands, required indicators, and risk configuration.

Usage

submission_profile(authority, submission_type, study_phase = NULL)

Arguments

authority

Character. Regulatory authority name (e.g., "FDA", "EMA"). See list_authorities() for all supported values.

submission_type

Character. Submission type for the authority (e.g., "NDA", "MAA"). See list_submission_types() for valid values.

study_phase

Character or NULL. Optional study phase (e.g., "Phase1", "Phase2", "Phase3", "Phase4"). Currently informational.

Value

A list of class "submission_profile" with elements: authority, full_name, country, submission_type, study_phase, pillar_weights, bands, required_indicators, required_asset_types, minimum_coverage, rpn_bands, default_detectability.

Examples

prof <- submission_profile("FDA", "NDA")
prof$pillar_weights
prof$required_indicators

prof_ema <- submission_profile("EMA", "MAA", study_phase = "Phase3")
prof_ema$bands


Validate Evidence Against a Submission Profile

Description

Checks whether an evidence table meets the requirements specified by a regulatory submission profile: required indicators present, required asset types covered, and minimum indicator coverage met.

Usage

validate_against_profile(evidence, profile)

Arguments

evidence

A validated evidence data.frame conforming to the r4subcore evidence schema.

profile

A submission_profile object.

Value

A list of class "profile_validation" with elements:

Examples


ctx <- r4subcore::r4sub_run_context(study_id = "STUDY01")
ev <- r4subcore::as_evidence(
  data.frame(
    asset_type = "dataset", asset_id = "ADSL",
    source_name = "test", source_version = "1.0",
    indicator_id = "Q-001", indicator_name = "Test",
    indicator_domain = "quality", severity = "high",
    result = "fail", metric_value = 1, metric_unit = "n",
    message = "Example finding", location = "ADSL",
    evidence_payload = "{}", stringsAsFactors = FALSE
  ), ctx = ctx
)
prof <- submission_profile("FDA", "NDA")
result <- validate_against_profile(ev, prof)
result$is_compliant
result$missing_indicators