Skip to content

MRHub

MRHub is Roche’s master data management system. It provides reference data for the G2 validity gate in the Silver layer — answering questions like “Is this site ID a real Roche facility?” or “Is this material code valid?” Records that fail MRHub validation are filtered out of Silver views, visible in Bronze but excluded from downstream consumption.

MRHub also publishes change events via Solace, allowing the pipeline to react to reference data updates in near-real-time.

PropertyValue
URLTBD (awaiting A03 resolution)
Auth methodREST API key
NetworkRoche corporate network (VPN required)
Access task (REST)A03
Access task (Solace events)A04
GitHub issue#24
VariableSourceDescription
MRHUB_BASE_URLVault common/mrhubBase URL for MRHub REST API
MRHUB_API_KEYGitHub Actions secretsAPI key for authenticated access
ModuleUsage
rdt-model-policyCompiles G2 validity checks referencing MRHub lookup data
rdt-model-storeSilver view predicates that filter against MRHub-validated identities

MRHub data flow — REST API batch sync and Solace event-driven ConfigMap updates for OPA

MRHub data is not queried at request time. Instead:

  1. A CronJob (bundle-refresh-cronjob.yaml) periodically exports MRHub snapshots
  2. The snapshot is stored in a Kubernetes ConfigMap
  3. OPA loads the ConfigMap as a bundle for O(1) lookups during policy evaluation

Script: scripts/access/check-mrhub.sh

Required tools: curl

Checks performed:

  1. HTTP connectivity to MRHub endpoint (if MRHUB_BASE_URL is set)
  2. HTTP status code validation (200/204 = pass, timeout = network issue)

Expected state: skip — A03 not yet resolved.

  • Access: Not started — needed for Phase 2 (Silver layer G2 validation)
  • Workaround: StubClient with fixture reference data for development and testing
  • Impact: Silver view predicates use hardcoded reference data in stub mode; real MRHub integration enables dynamic validation
Check typeExampleSilver view behaviour
Site identity”Is site_id X a valid Roche facility?”Excluded if invalid
Material code”Is material M registered in MRHub?”Excluded if unregistered
Organization”Does org_unit U exist in the hierarchy?”Excluded if orphaned
Referential integrity”Does parent_id P exist?”Excluded if dangling reference