nx_trial_ethics.nx
buildroot/runtime/nx_trial_ethics.nx
about
nx_trial_ethics.nx -- GTM SUITE / ETHICAL TRIAL PARTNER rung. Scores
jurisdictions as places to run clinical development on INTEGRITY axes, not
only on cost and speed -- because who you develop with is a choice, and the
opioid era is what happens when that choice is made badly.
WHY THIS FILE EXISTS. Purdue Pharma pleaded guilty to federal felonies in
2007 and again in 2020 for misrepresenting the addiction risk of OxyContin.
That was not a regulator being permissive by design -- it was a regulator
being CAPTURED and DECEIVED. Which means the defence is structural: pick
systems where independent ethics review, mandatory results disclosure and
low institutional corruption make that capture harder. This rung makes that
comparable instead of rhetorical.
THE AXES, AND WHY EACH ONE IS HERE:
CPI Transparency International's Corruption Perceptions
Index -- published, 0-100, higher is cleaner. The single
best available proxy for institutional capture risk.
ICH-GCP adherence to the international good-clinical-practice
standard: informed consent, monitoring, data integrity.
RESULTS DISCLOSURE mandatory posting of results, including NEGATIVE ones.
Selective publication is how OxyContin's risk profile
stayed obscured; a regime that compels disclosure is
structurally harder to game.
ETHICS INDEPENDENCE whether review sits with a body independent of the
sponsor and the institution.
INJURY COMPENSATION whether a harmed participant is compensated without
having to litigate.
PORTABILITY whether the data is accepted by FDA and EMA. This
matters for a reason worth stating plainly: choosing an
ethical partner does NOT cost you the US market, because
ICH-compliant foreign data is accepted by FDA. You can
decline to develop in a system you distrust and still
sell there later.
ONE HONEST NON-DIFFERENTIATOR. Industry fee funding of regulators is a real
conflict -- FDA's human drugs programme is roughly half user-fee funded, and
EMA is MORE fee-dependent, not less. Because it is near-universal it does
not separate these jurisdictions, so it is documented here rather than
scored, to avoid manufacturing a distinction that does not exist.
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_gtm_svc.nx
structs
| none |
consts
| 57 | const TE_DENMARK: i64 = 0 |
| 58 | const TE_SWEDEN: i64 = 1 |
| 59 | const TE_NETHERLANDS: i64 = 2 |
| 60 | const TE_SWITZERLAND: i64 = 3 |
| 61 | const TE_NEW_ZEALAND: i64 = 4 |
| 62 | const TE_AUSTRALIA: i64 = 5 |
| 63 | const TE_CANADA: i64 = 6 |
| 64 | const TE_UK: i64 = 7 |
| 65 | const TE_US: i64 = 8 |
| 66 | const TE_N: i64 = 9 |
| 68 | const TE_INVALID: i64 = 0 - 1 |
| 162 | const TE_BINARY_WEIGHT: i64 = 10 |
functions
| 70 | func te_name(j: i64) -> *u8 called by 1: gtm_ethics_rank |
| 83 | func te_valid(j: i64) -> i64 |
| 92 | func te_cpi(j: i64) -> i64 |
| 106 | func te_cpi_needs_refresh(j: i64) -> i64 |
| 110 | func te_ich_gcp(j: i64) -> i64 |
| 116 | func te_mandatory_results_disclosure(j: i64) -> i64 |
| 130 | func te_independent_ethics(j: i64) -> i64 |
| 136 | func te_no_fault_injury_compensation(j: i64) -> i64 |
| 145 | func te_data_portable(j: i64) -> i64 called by 3: gtm_ethics_rankte_ethical_choice_forfeits_us_markette_count_better_and_portable calls 1: te_valid |
| 151 | func te_regulator_fee_funded(j: i64) -> i64 calls 1: te_valid |
| 164 | func te_integrity_score(j: i64) -> i64 |
| 179 | func te_most_ethical() -> i64 calls 1: te_integrity_score |
| 195 | func te_rank_of(j: i64) -> i64 |
| 215 | func te_ethical_choice_forfeits_us_market(j: i64) -> i64 calls 1: te_data_portable |
| 222 | func te_count_better_and_portable(reference: i64) -> i64 |