Skip to content

RTiS

RTiS (Roche Terminology and Information Services) is the single source of truth for all data models in the roche-data pipeline. Domain experts maintain ontologies, terminologies, synonyms, and entity relationships in RTiS. The pipeline pulls entity definitions via REST API and writes frozen snapshots to models/{entity}/model.json — everything downstream traces back to an RTiS model version.

PropertyValue
URLhttps://ontology-services.roche.com/api
Auth methodBasic Auth (service account)
NetworkRoche corporate network (VPN required)
Access taskA01
GitHub issue#15 (closed — resolved 2026-04-24)
VariableSourceDescription
RTIS_BASE_URLVault common/rtisBase URL for RTiS REST API (https://ontology-services.roche.com/api)
RTIS_TIMEOUT_SECONDSVault common/rtisHTTP timeout (default: 300s)
GENERIC_ID_USERNAMEVault {env}/rtisService account username for Basic Auth
GENERIC_ID_PASSWORDVault {env}/rtisService account password for Basic Auth

RTiS entity identifiers are configured in roche-data.toml:

[rtis]
base_url = "https://ontology-services.roche.com/api"
[rtis.entities.organization-site]
rtis_class_id = "ROX38275200443992329"
rtis_terminology_id = "ROX38218176443982250"
ModuleUsage
rdt-model-pullFetches entity definitions, writes models/{entity}/model.json
MethodPathPurpose
GET/int/refmodels/classes/{class_id}Class definition and parent edges
GET/int/refmodels/properties?domain={class_id}OWL properties for the class
GET/int/refterminologies/{terminology_id}Terminology metadata
GET/int/refmodels/classes?page=0&size=342List all available classes
GET/int/refmodels/metadataAPI metadata (for connectivity testing)

Script: scripts/access/check-rtis.sh

Required tools: curl

Checks performed:

  1. HTTP connectivity to RTiS endpoint
  2. HTTP status code validation (200/204 = pass, 401/403 = auth failure, timeout = network issue)

Expected state: HTTP 200/204 when on VPN with valid credentials. Returns 401 if credentials are incorrect.

RTiS uses HTTP Basic Auth:

Terminal window
curl -u "$GENERIC_ID_USERNAME:$GENERIC_ID_PASSWORD" \
"https://ontology-services.roche.com/api/int/refmodels/metadata"

The service account was provisioned on 2026-04-24. The public gateway endpoint is confirmed working.

RTiS provides:

ConceptMaps toUsed for
ClassesEntity definitionsSchema structure, field names
OWL PropertiesField metadataData types, nullability, relationships
TerminologiesControlled vocabulariesSilver layer enrichment, semantic mappings
SynonymsAlternative namesSearch, documentation
RelationshipsEntity graph edgesLineage, foreign keys

models/{entity}/model.json — a frozen snapshot containing:

  • Entity metadata (name, version, description, last_modified)
  • Fields array (name, data_type, nullable, primary_key, description)
  • Relationships array (name, target_entity, relationship_type, foreign_key)
  • Terminology mappings (field, terminology_system, code, display)
SymptomCauseResolution
HTTP timeoutNot on Roche VPNConnect to VPN or use --dry-run
HTTP 401Invalid credentialsCheck GENERIC_ID_USERNAME/GENERIC_ID_PASSWORD in .env
Empty fields arrayOWL properties are globalExpected — RTiS returns all global properties, not entity-specific
rtis_class_id not setEntity not registered in RTiSRequest class from RTiS owner, update roche-data.toml