// Include common libraries /* AWS Technologies vocabulary */ // Systems !const AWS "AWS" !const AWS.Description "Amazon Web Services" !const AWS.Chime "Amazon Chime" !const AWS.Chime.Description "Communications service that lets you meet, chat, and place business calls inside and outside your organization, all using a single application." !const AWS.IAM "AWS IAM" !const AWS.IAM.Description "Identity and Access Management" !const AWS.STS "AWS STS" !const AWS.STS.Description "Security Token Service" // AWS Technologies !const AWS_SQS "AWS Simple Queue Service" !const AWS_REDIS "AWS ElastiCache for Redis" !const AWS_SM "AWS SecretsManager" !const AWS_LAMBDA "AWS Lambda" !const AWS_RDS "AWS RDS" !const AWS_DYNAMODB "AWS DynamoDB" !const AWS_S3 "AWS S3" !const AWS_SF "AWS StepFunction" !const AWS_SNS "AWS Simple Notificaction Service" !const AWS_GLUE "AWS Glue" /* Common vocabulary constants */ !const RDCS "RocheDiabetes Care Solutions" !const PROFSOL "Professional Solutions" !const PLATFORM "Plaform" /* Technologies vocabulary */ // Common technologies !const TLS "TLS" !const JDBC "JDBC" !const JSP "JSP" !const NODE "NodeJS" !const SPRING_MVC "Spring MVC" !const SPRING_BOOT "Spring Boot" !const MSSQL_EE "SQL Server Enterprise Edition" !const POSTGRESQL "PostgreSQL" !const DOTNET ".NET" !const MFC "MFC" !const SWIFT "Swift" // Formats !const ACSPIX "ACSPIX" !const JSON "JSON" !const ROCHE_JSON "RocheJSON" // Communication channels !const HTTPS "HTTPS" !const JSON_HTTPS "JSON/HTTPS" !const ACSPIX_HTTPS "ACSPIX/HTTPS" !const CDF_HTTPS "CDF/HTTPS" !const WS "WebSocket" // Languages !const JS "JavaScript" !const TS "TypeScript" !const REACT "React" !const JAVA "Java" !const MONO "Mono" !const SCALA "Scala" /* Persons constants */ !const ADMIN "Admin" !const ADMIN.Description "Roche administrator, that manages onboardings and centers; is always considered an 'internal' user" !const HCP "HCP" !const HCP.Description "The health care professional is the medical practitioner treating the patient; is always considered an 'external' user" !const HCP.Master "HCP Master" !const HCP.Master.Description "The healthcare professional (Master - Owner of Healthcare Center); is always considered an 'external' user" !const PWD "PwD" !const PWD.Description "Patient with diabetes is the end user of the solution / system; is always considered an 'external' user" !const DSS "DSS" !const DSS.Description "Digital support service user is a special Roche internal user that has access to production environment and can perform various maintenance and corrective tasks" !const DEVOPS "DevOps" !const DEVOPS.Description "The DevOps user is an internal Roche user responsible for the operation and maintenance of the infrastructure" /* Professional solution (Professional ART) vocabulary system constants */ !const RDCP "RocheDiabetes Care Platform (RDCP)" !const SP2C "SmartPix2Cloud (SP2C)" !const RDCP.HCP.Portal "RDCP.HCP.Portal" !const RDCP.HCP.Portal.Description "Allows Healthcare Professional accessing their patients and their medical data." !const RDCP.HCP.SelfReg "RDCP.HCP.Self-Registration" !const RDCP.HCP.SelfReg.Description "Allows owners of HCC's to register their Healthcare Center to start managing their healthcare center and patients in RDCP." !const RDCP.BackofficePortal "RDCP.BackofficePortal" !const RDCP.BackofficePortal.Description "Allows Roche Admins onboarding processes for new healthcare centers and management of existing ones." !const RDCP.UniversalDTC "RDCP.UniversalDTC" !const RDCP.UniversalDTC.Description "Allows readout and upload of medical data from blood glucose devices, insulin pumps and CGMs into RDCP." !const RDCP.Patient.Portal "RDCP.Patient.Portal" !const RDCP.Patient.Portal.Description "Allows patients to visualize their medical data, personal information and access home delivery." !const RDCP.Legacy "RDCP.Legacy" !const RDCP.Legacy.Description "Collection of legacy Backend Services to support RDCP (including legacy monolithic app)." !const RDCP.Permissions "RDCP.Permissions" !const RDCP.Permissions.Description "Allows validation of permissions, modules and access to specific resources within RDCP." !const RDCP.Notifications "RDCP.Notifications" !const RDCP.Notifications.Description "Allows management of Notifications." !const RDCP.StripsManagement "RDCP.StripsManagement" !const RDCP.StripsManagement.Description "Allows strips management (stock, delivery)." !const RDCP.Patterns.And.Indicators "RDCP.Patterns.And.Indicators" !const RDCP.Patterns.And.Indicators.Description "Allows enrichment patient's status based on predefined set of patterns." !const RDCP.UserManagement.And.Records "RDCP.UserManagement.And.Records" !const RDCP.UserManagement.And.Records.Description "Allows centralized access and management of RDCP users." !const RDCP.Diagnostics.And.Medications "RDCP.Diagnostics.And.Medications" !const RDCP.Diagnostics.And.Medications.Description "Diagnostics and Medications." !const RDCP.UniversalDTC.Services "RDCP.UniversalDTC.Services" !const RDCP.UniversalDTC.Services.Description "Allows additional support of various functionalities of uDTC (whitelisting of devices and their versions that are supported by RDCP)." !const RDCP.Organizations "RDCP.Organizations" !const RDCP.Organizations.Description "Provides APIs for management of organizations" !const RDCP.Analytics "RDCP.Analytics" !const RDCP.Analytics.Description "Allow recollection of metrics for analytics" !const RDCP.Devices "RDCP.Devices" !const RDCP.Devices.Description "Management of devices." !const RDCP.VisitManagement.And.Communication "RDCP.VisitManagement.And.Communication" !const RDCP.VisitManagement.And.Communication.Description "Allows managements of patients visits to the HCP's, recording of notes and communication between PwD's and HCP's." /* Plaform ART vocabulary system constants */ !const Platform.ApiManager "Platform.ApiManager" !const Platform.ApiManager.Description "The Roche ecosystem API Gateway used to NAT all the traffic to / from each solution and service" !const Platform.CIAMCM "Platform.CIAMCM" !const Platform.CIAMCM.Description "Customer Identity and Access Management and Consent Management is the central storage for identity and consents of each user" !const Platform.CIAMCM.Gigya "Platform.CIAMCM.Gigya" !const Platform.CIAMCM.Gigya.Description "CIAMCM's Gigya instance for user identity management" !const Platform.DiagnosticsAndMedications "Platform.DiagnosticsAndMedications (FHIRStack)" !const Platform.DiagnosticsAndMedications.Description "Allows storage and retrieval of diagnostics and medications data of the patients." !const Platform.DataIntegrations "Platform.DataIngetrations" !const Platform.DataIntegrations.Description "Data integrations layer" /* Plaform ART vocabulary system constants */ !const Personal.mySugr "Personal.mySugr" !const Personal.mySugr.Description "The Roche ecosystem API Gateway used to NAT all the traffic to / from each solution and service" // Define workspace workspace "Solution Medical Stream" "${RDCS} Solution - Medical Stream" { /* Load the Architectural Decision Records of the project. These can be one or multiple files (each decision should have an independent record). File naming convention -title_word_1-title_word_n.md (number should be 0001 .. 0100 .. 0954 ..). NOTE: file format is Markdown */ !adrs adrs /* Load the documentation associated with the project / solution. Basically the documentation_sad should contain all the chapters, in order, that composes the full SAD with reference to the diagrams as well. File naming convention -title_word_1-title_word_n.adoc (number should be 0001 .. 0100 .. 0954 ..). NOTE: file format is AsciiDoc */ !docs documentation_sad !identifiers hierarchical model { group "Platform" { } /* Relationships */ } views { /* Static configuration, styling and properties for views */ properties { "plantuml.url" "https://plantuml.com/plantuml" "plantuml.format" "png" "structurizr.softwareSystemBoundaries" "true" "structurizr.enterpriseBoundary" "true" "structurizr.tooltips" "true" } branding { logo documentation_sad/images/static/logo_roche.png } theme https://structurizr.moebiusol.eu/workspace/1/theme /* END - Static configuration and properties for views */ /* Structurizr diagrams */ /* External diagrams (plantUML, image, etc.) */ image * "01-Interaction_Overview" { plantuml interaction_overview.puml title "RDCS Solution - Medical Data Stream - Interaction Overview Diagram" } } }