{"id":40917143,"url":"https://github.com/rticommunity/rticonnextdds-medtech-reference-architecture","last_synced_at":"2026-04-20T23:05:24.064Z","repository":{"id":257990015,"uuid":"862463252","full_name":"rticommunity/rticonnextdds-medtech-reference-architecture","owner":"rticommunity","description":"Build robust, scalable, and interoperable medical systems with Connext with the documentation and demo applications in this repository","archived":false,"fork":false,"pushed_at":"2026-04-20T21:01:22.000Z","size":3963,"stargazers_count":6,"open_issues_count":6,"forks_count":2,"subscribers_count":30,"default_branch":"main","last_synced_at":"2026-04-20T21:33:21.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rticommunity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-24T16:34:28.000Z","updated_at":"2026-04-14T18:24:48.000Z","dependencies_parsed_at":"2025-09-18T17:13:56.914Z","dependency_job_id":"89718429-5352-49a2-884c-75c13e482a5e","html_url":"https://github.com/rticommunity/rticonnextdds-medtech-reference-architecture","commit_stats":null,"previous_names":["rticommunity/rticonnextdds-medtech-reference-architecture"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rticommunity/rticonnextdds-medtech-reference-architecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rticommunity%2Frticonnextdds-medtech-reference-architecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rticommunity%2Frticonnextdds-medtech-reference-architecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rticommunity%2Frticonnextdds-medtech-reference-architecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rticommunity%2Frticonnextdds-medtech-reference-architecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rticommunity","download_url":"https://codeload.github.com/rticommunity/rticonnextdds-medtech-reference-architecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rticommunity%2Frticonnextdds-medtech-reference-architecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32069442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-22T03:17:04.277Z","updated_at":"2026-04-20T23:05:24.056Z","avatar_url":"https://github.com/rticommunity.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RTI MedTech Reference Architecture\r\n\r\nThe Medical Reference Architecture demonstrates RTI's best practices for building medical devices using RTI Connext®.\r\n\r\nThis repository contains documentation and module demo applications showcasing different capabilities of Connext in a Medical context. The goal is to provide a comprehensive guide to help developers leverage Connext for building robust, scalable, and interoperable medical systems.\r\n\r\n## Contents\r\n\r\n- [Introduction](#introduction)\r\n- [Quick Start](#quick-start)\r\n- [Hands-On: Modules](#hands-on-modules)\r\n  - [Module 01: Digital Operating Room](#module-01--digital-operating-room)\r\n  - [Module 02: RTI Recording Service \u0026 RTI Replay Service](#module-02--rti-recording-service--rti-replay-service)\r\n  - [Module 03: Remote Teleoperation with RTI Real-Time WAN Transport](#module-03--remote-teleoperation-with-rti-real-time-wan-transport)\r\n  - [Module 04: Security Threat Demonstration](#module-04--security-threat-demonstration)\r\n- [Hands-On: Architecture](#hands-on-architecture)\r\n- [Architecture Overview](#architecture-overview)\r\n  - [Data Types](#data-types)\r\n  - [Quality of Service (QoS)](#quality-of-service-qos)\r\n  - [Domains \u0026 Topics](#domains--topics)\r\n  - [DomainParticipants \u0026 DDS Entities](#domainparticipants--dds-entities)\r\n  - [DDS Security](#dds-security)\r\n- [Going Further](#going-further)\r\n  - [Want to dig deeper?](#want-to-dig-deeper)\r\n- [Additional references](#additional-references)\r\n\r\n## Introduction\r\n\r\nRTI Connext is a leading connectivity framework designed to facilitate real-time data distribution in distributed systems. In the medical field, it is crucial to have reliable and timely data exchange between various medical devices and systems. This project aims to illustrate how Connext can be used to build a robust Medical Reference Architecture that ensures data interoperability, scalability, and reliability.\r\n\r\nBy following the examples and best practices outlined in this documentation, architects and developers can find inspiration to create medical applications.\r\n\r\nHere are some links that compliment this repository:\r\n\r\n- [MedTech Reference Architecture Overview on Youtube](https://www.youtube.com/watch?v=RiFxmO6RAEw).\r\n- [Capability Brief PDF](https://www.rti.com/hubfs/_Collateral/capability-briefs/rti-capability-brief-MedTech-Reference-Architecture.pdf)\r\n- [Case+Code page on rti.com](https://www.rti.com/developers/case-code/medtech-reference-architecture)\r\n\r\n## Quick Start\r\n\r\nThe steps below cover environment setup, dependencies, security artifacts, and building the project. To run anything, follow the module-specific README for the scenario you want to explore.\r\n\r\n### 1. Prerequisites\r\n\r\nYou will need:\r\n\r\n- **RTI Connext DDS 7.3** installed and `NDDSHOME` set, including the Python API `.whl`.\r\n  See the [Installation Guide](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/installation_guide/installation_guide/Installing.htm) and [Python API setup](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/getting_started_guide/python/before_python.html#installing-connext-heading).\r\n\r\n  \u003e If `NDDSHOME` is not already in your environment, source the platform setup script from your Connext installation: `source \u003cconnext_dir\u003e/resource/scripts/rtisetenv_\u003carch\u003e.bash` (Linux/macOS) or `rtisetenv_\u003carch\u003e.bat` (Windows). This script sets `NDDSHOME`, `CONNEXTDDS_ARCH`, and related library paths required by both `build.py` and `launch.py`.\r\n- **CMake** ≥ 3.17 and a C++ compiler toolchain.\r\n- **Python** ≥ 3.9.\r\n\r\nInstall the system build dependencies for your platform:\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e\u003cstrong\u003eLinux (Debian/Ubuntu)\u003c/strong\u003e\u003c/summary\u003e\r\n\r\n```bash\r\nsudo apt install \\\r\n    build-essential \\\r\n    cmake \\\r\n    pkg-config \\\r\n    libgtkmm-3.0-dev \\\r\n    python3-venv\r\n```\r\n\r\n\u003e `python3-venv` is required on Debian/Ubuntu to create virtual environments (`python3 -m venv`).\r\n\u003e It is a split package not included with the base `python3` install.\r\n\r\n\u003c/details\u003e\r\n\r\n\u003cdetails\u003e\r\n\u003csummary\u003e\u003cstrong\u003emacOS\u003c/strong\u003e\u003c/summary\u003e\r\n\r\n```bash\r\nxcode-select --install          # compiler toolchain (if not already installed)\r\nbrew install cmake pkg-config gtkmm3 python3\r\n```\r\n\r\n\u003e Homebrew's `python3` includes `pip` and `venv` — no separate installs needed.\r\n\r\n\u003c/details\u003e\r\n\r\n### 2. Clone the Repository\r\n\r\n```bash\r\ngit clone https://github.com/rticommunity/rticonnextdds-medtech-reference-architecture.git\r\ncd rticonnextdds-medtech-reference-architecture\r\n```\r\n\r\n### 3. Set Up a Python Virtual Environment\r\n\r\n```bash\r\npython3 -m venv .venv\r\nsource .venv/bin/activate          # Windows: .venv\\Scripts\\activate\r\npip install -r requirements.txt\r\n\r\n# Install the RTI Connext Python API from your local Connext installation:\r\npip install rti.connext.activated -f $NDDSHOME/resource/python_api\r\n# Alternatively, if the above path is not available, install from PyPI:\r\n# pip install rti.connext==7.3.0\r\n```\r\n\r\n### 4. Build the C++ Modules\r\n\r\nBuild all modules:\r\n\r\n```bash\r\npython3 build.py\r\n```\r\n\r\nTo build only the modules you intend to run:\r\n\r\n```bash\r\npython3 build.py --target module-01   # all C++ targets in Module 01\r\npython3 build.py --target ArmController  # only the ArmController target\r\n```\r\n\r\nThe compiled binaries are placed under `build/\u003cCONNEXTDDS_ARCH\u003e/`.\r\n\r\n### 5. Generate Security Artifacts *(optional — skip if not using `-s`)*\r\n\r\nThe security flag (`-s`) requires PKI certificates, signed governance/permissions XML, and a WAN PSK seed file. Generate them once:\r\n\r\n```bash\r\npython3 system_arch/security/setup_security.py\r\n```\r\n\r\nRe-run with `--force` to regenerate existing artifacts. See the [Security README](./system_arch/security/README.md) for full details.\r\n\r\nWhen setup is complete, use the module-specific READMEs below to choose a workflow. They explain what each demo launches and how to run it from the repository root with the project-level `launch.py` script.\r\n\r\n## Hands-On: Modules\r\n\r\nThe RTI MedTech Reference Architecture demonstrates use cases and capabilities of the provided system architecture.\r\n\r\nUse the module-specific READMEs when you want to run a demo. They describe what each workflow launches, why it exists, and the exact `launch.py` commands to use from the repository root.\r\n\r\n- ### [Module 01](./modules/01-operating-room/) : Digital Operating Room\r\n\r\n- ### [Module 02](./modules/02-record-playback/) : RTI Recording Service \u0026 RTI Replay Service\r\n\r\n- ### [Module 03](./modules/03-remote-teleoperation/) : Remote Teleoperation with RTI Real-Time WAN Transport\r\n\r\n- ### [Module 04](./modules/04-security-threat/) : Security Threat Demonstration\r\n\r\n## Hands-On: Architecture\r\n\r\nRTI System Designer allows you to graphically design, configure, examine, and share Connext system architectures.\r\n\r\n*RTI recommends using the provided RTI System Designer project file ([RefArch.rtisdproj](./system_arch/RefArch.rtisdproj)) to follow along with the next section, [Architecture Overview](#architecture-overview).*\r\n\r\n1. Launch RTI System Designer.\r\n    - From RTI Launcher:\r\n        1. Open *RTI Launcher*.\r\n        2. Navigate to the **Tools** tab.\r\n        3. Click the *System Designer* button.\r\n    - From a terminal:\r\n        1. Launch the `rtisystemdesigner[.bat]` script found in the *$NDDSHOME/bin* folder. *Where *$NDDSHOME* is the folder where Connext is installed.*\r\n2. Open the Project File.\r\n    1. Select **Projects** in the toolbar.\r\n    2. Click **Open** in the dropdown.\r\n    3. In the file browser popup, navigate to *system_arch/RefArch.rtisdproj* and open.\r\n\r\n*Please refer to [Project Management](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/tools/system_designer/project_mgmt.html) documentation for more detailed instructions on working with RTI System Designer projects.*\r\n\r\n## Architecture Overview\r\n\r\nThe Medical Reference Architecture is designed to support various use cases within the medical domain. This reference architecture ensures that data flows seamlessly from devices to applications, enabling real-time monitoring, decision-making, and reporting.\r\n\r\nThe RTI MedTech Reference Architecture consists of the following key components:\r\n\r\n- [Data Types](#data-types)\r\n- [Quality of Service (QoS)](#quality-of-service-qos)\r\n- [Domains \u0026 Topics](#domains--topics)\r\n- [DomainParticipants \u0026 DDS Entities](#domainparticipants--dds-entities)\r\n- [DDS Security](#dds-security)\r\n\r\nThrough *RTI XML-Based Application Creation*, aspects of all 4 components are expressed in XML statically, separate from application code and choice of language. This allows for the extraction of a common system definition from the application logic and behavior - a must-have for designing integrated systems with multiple development teams.\r\n\r\nPlease find a diagram of the Digital OR module module below:\r\n\r\n![diagram](./resource/images/module-01-diagram-digital-OR.svg)\r\n\r\n### Data Types\r\n\r\nDDS is a **data-centric** communication standard that understands user-defined Data Types. You can define a Data Type, its members, and annotations in IDL, XML, or XSD. *Conversion between file formats and type-support code generation for (de)serialization can be done with [RTI Code Generator](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/code_generator/users_manual/code_generator/users_manual/UsersManual_Title.htm#).*\r\n\r\nThis reference architecture defines the following Data Types in [Types.xml](./system_arch/Types.xml):\r\n\r\n| Data Type | Intended Use\r\n| --------- | -----------\r\n| DeviceStatus | Describes a status (e.g. `ON`, `PAUSED`) for a unique device\r\n| DeviceHeartbeat | Asserts that a unique device is alive\r\n| MotorControl | Commands the direction of motion for an arm motor (e.g. `SHOULDER`, `ELBOW`)\r\n| DeviceCommand | Commands initiating a status (e.g. `START`, `SHUTDOWN`) to a unique device\r\n| Vitals | Describes data representative of a unique patient's collected vital signs\r\n\r\n### Quality of Service (QoS)\r\n\r\nQuality of Service (QoS) in DDS characterizes a system's infrastructure and data flow. In a QoS Profile, you can define a set of QoS policy values for a DDS entity (e.g. DomainParticipant, DataWriter, DataReader).\r\n\r\nThe hierarchy of components configured in a QoS Profile are as follows:\r\n\r\n```text\r\nQoS Profile\r\n├── DomainParticipant QoS\r\n├── Topic QoS\r\n├── Publisher QoS\r\n├── Subscriber QoS\r\n├── DataWriter QoS\r\n└── DataReader QoS\r\n```\r\n\r\nThis reference architecture defines the following QoS Profiles in [Qos.xml](./system_arch/qos/Qos.xml):\r\n\r\n| Qos Library | Qos Profile | Intended Use\r\n| ----------- | --------- | -----------\r\n| System | DefaultParticipant | Common, or base, *system configuration* (e.g. transport, network interfaces, discovery, thread priorities, etc.)\r\n| DataFlow | Streaming | Periodic data that is published at a high frequency (i.e. frequencies \u003c1 second)\r\n| DataFlow | Status | \"Current status\"-like data, sent once at the beginning of operation and again only upon change to the status\r\n| DataFlow | Command | Data that represents commands or trigger some action in the system\r\n| DataFlow | Heartbeat | Assert and detect the presence of system devices\r\n\r\n### Domains \u0026 Topics\r\n\r\nA Domain represents a data space where data can be shared by means of reading and writing the same Topics, where each Topic has a corresponding Data Type. In a Domain, you can define Topics and associate Data Types.\r\n\r\nThe hierarchy of the components configured in a Domain are as follows:\r\n\r\n```text\r\nDomain → Domain ID\r\n├── Type Name → Data Type\r\n└── Topic → Type Name\r\n \r\nLegend:\r\n → references\r\n```\r\n\r\nThis reference architecture defines the following Domains in [DomainLibrary.xml](./system_arch/xml_app_creation/DomainLibrary.xml):\r\n\r\n| Domain | Intended Use\r\n| ------ | -----------\r\n| OperationalDataDomain | Real-time operational medical device data\r\n\r\n*Note, this reference architecture defines just a single Domain. As a Connext system design scales over time, additional domains could be defined for monitoring, logging, etc. Those additional domains should not affect the performance of our operational data, and therefore should belong to a different domain.*\r\n\r\nThis reference architecture defines the following Topics in [DomainLibrary.xml](./system_arch/xml_app_creation/DomainLibrary.xml):\r\n\r\n| Domain | Topic | Intended Use\r\n| ------ | ----- | -----------\r\n| OperationalDataDomain | `t/MotorControl` | Command the direction of motion for a motor kind (e.g. `SHOULDER`, `ELBOW`)\r\n| OperationalDataDomain | `t/DeviceStatus` | Status (e.g. `ON`, `PAUSED`) for a unique system component\r\n| OperationalDataDomain | `t/DeviceHeartbeat` | Assert that a unique system component is alive\r\n| OperationalDataDomain | `t/DeviceCommand` | Command initiating a status (e.g. `START`, `SHUTDOWN`) to a unique system component\r\n| OperationalDataDomain | `t/Vitals` | Data representative of a unique patient's collected vital signs\r\n\r\n*Note, this reference architecture defines a unique Topic for each Data Type defined. While a Topic may only reference a single Data Type, a multi-purpose Data Type can be associated with multiple Topics. It is a **best practice** to limit the number of defined Topics, but in doing so, it may be feasible to re-use a Data Type for several Topics.*\r\n\r\n### DomainParticipants \u0026 DDS Entities\r\n\r\nA DomainParticipant is a discoverable Domain actor. DomainParticipants own DDS entities such as DataWriters and DataReaders.\r\n\r\nThis is where the entire system architecture is tied together:\r\n\r\n- DomainParticipants are configured to operate on a defined *Domain*.\r\n- DomainParticipants are configured to use a defined *QoS Profile*.\r\n- DataWriters and DataReaders are contained within a defined *DomainParticipant*.\r\n- DataWriters and DataReaders are configured to operate on a defined *Topic*, which has been associated with a defined *Data Type*.\r\n- DataWriters and DataReaders are configured to use a defined *QoS Profile*.\r\n\r\nThe hierarchy of DDS entities and components configured in a DomainParticipant are as follows:\r\n\r\n```text\r\nDomainParticipant → Domain\r\n├── DomainParticipant QoS → QoS Profile\r\n├── Publisher\r\n| ├── Publisher QoS → QoS Profile\r\n│   └── DataWriter → Topic\r\n| └── DataWriter QoS → QoS Profile\r\n└── Subscriber\r\n    ├── Subscriber QoS → QoS Profile\r\n    └── DataReader → Topic\r\n        └── DataReader QoS → QoS Profile\r\n        └── Content Filter\r\n            ├── Expression\r\n            └── Expression Parameters\r\n\r\nLegend:\r\n → references\r\n```\r\n\r\nThis reference architecture defines the following DomainParticipants in [ParticipantLibrary.xml](./system_arch/xml_app_creation/ParticipantLibrary.xml):\r\n\r\n| Domain | DomainParticipant | Subscriptions | Publications | Intended Use\r\n| --------------------- | ----------------- | ------------------------------------- | -------------------------------------------------- | ------------\r\n| OperationalDataDomain | Arm | `t/DeviceCommand`, `t/MotorControl` | `t/DeviceStatus`, `t/DeviceHeartbeat` | Operate a robotic surgery arm with 5 motors: Base, Shoulder, Elbow, Wrist, and Hand.\r\n| OperationalDataDomain | ArmController | `t/DeviceCommand` | `t/MotorControl`, `t/DeviceHeartbeat` | Administer commands to an Arm device to control its motors.\r\n| OperationalDataDomain | Orchestrator | `t/DeviceStatus`, `t/DeviceHeartbeat` | `t/DeviceCommand` | Administer device-level commands and monitor presence and status of all devices.\r\n| OperationalDataDomain | PatientSensor | `t/DeviceCommand` | `t/Vitals`, `t/DeviceStatus`, `t/DeviceHeartbeat` | Stream simulated patient vitals.\r\n| OperationalDataDomain | PatientMonitor | `t/DeviceCommand`, `t/Vitals` | `t/DeviceStatus`, `t/DeviceHeartbeat` | Process and display patient vitals.\r\n\r\n*Note, this reference architecture utilizes one DomainParticipant for each device application. It is a **best practice** to define one DomainParticipant per application. However, in more complex systems, an application may be required to operate on multiple Domains. This requires defining multiple DomainParticipants for those applications that run in parallel.*\r\n\r\n### DDS Security\r\n\r\nDDS Security defines authentication, access control, and encryption capabilities essential for medical device communications. Security is critical in medical systems to protect patient data, ensure device integrity, and maintain regulatory compliance.\r\n\r\nDDS Security is meant to be a pluggable component to the system architecture. This reference architecture demonstrates the flexibility of the RTI Security Plugins, and how a system can be secured purely through configuration. It should be noted that enabling security does have an effect on performance - both at initialization due to authentication and in steady-state operation due to encryption. It is because of this, that a system's architecture should be designed with security in mind, even if application code has no dependency on the use of security.\r\n\r\nThe reference architecture configures security in [SecureAppsQos.xml](./system_arch/qos/SecureAppsQos.xml) with:\r\n\r\n| Component | Security Features\r\n| ---------------------- | -----------------\r\n| **LAN Communications** | Domain 0 governance, participant-specific certificates and permissions\r\n| **WAN Communications** | Domain 1 governance for WAN connections\r\n| **RTI Services** | Dedicated security profiles for Recording/Replay Services and Routing Services\r\n\r\nSecurity Artifacts Structure in [security](./system_arch/security/):\r\n\r\n- `ca/` - Certificate Authority hierarchy (root CA → intermediate identity CA + intermediate permissions CA)\r\n- `domain_scope/` - Per-domain governance and permissions XML documents with signed versions\r\n- `identity/` - Per-participant identity certificates, private keys, and cert chains organized by module\r\n\r\nSee the [Security README](./system_arch/security/README.md) for generation instructions and full details.\r\n\r\n## Going Further\r\n\r\n### Want to dig deeper?\r\n\r\nCheck out the the [system_arch](./system_arch/) folder, where the system architecture artifacts live and are covered in more depth!\r\n\r\n## Additional References\r\n\r\n- [RTI XML-Based Application Creation](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/xml_application_creation/xml_based_app_creation_guide/XMLAppCreationGSG_title.htm#)\r\n- [RTI System Designer](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/tools/system_designer/index.html)\r\n- [RTI Core Libraries Users Manual](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/users_manual/users_manual/title.htm#)\r\n- [RTI Security Plugins](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_secure/users_manual/index.html)\r\n- [RTI Connext Modern C++ API](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/api/connext_dds/api_cpp2/index.html) *, used in Module 01: Digital Operating Room*\r\n- [RTI Connext Python API](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/api/connext_dds/api_python/index.html) *, used in Module 01: Digital Operating Room*\r\n- [RTI Recording Service \u0026 Replay Service](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/services/recording_service/introduction.html) *, used in Module 02: RTI Recording Service \u0026 RTI Replay Service*\r\n- [Connext Real-Time WAN Transport](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/users_manual/users_manual/PartRealtimeWAN.htm) *, used in Module 03: Remote Teleoperation with RTI Real-Time WAN Transport*\r\n- [RTI Routing Service](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/services/routing_service/index.html) *, used in Module 03: Remote Teleoperation with RTI Real-Time WAN Transport*\r\n- [RTI Cloud Discovery Service](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/addon_products/cloud_discovery_service/index.html) *, used in Module 03: Remote Teleoperation with RTI Real-Time WAN Transport*\r\n- [RTI Security Plugins Users Manual](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_secure/users_manual/index.html) *, used in Module 04: Security Threat Demonstration*\r\n- [RTI Connext Third-Party Software](https://community.rti.com/static/documentation/connext-dds/7.3.0/doc/manuals/connext_dds_professional/release_notes_3rdparty/index.html)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frticommunity%2Frticonnextdds-medtech-reference-architecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frticommunity%2Frticonnextdds-medtech-reference-architecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frticommunity%2Frticonnextdds-medtech-reference-architecture/lists"}