SS Container

Summary

Deploys the RCKMS Shared Service RESTful API application.

Attributes

Parameter
Value

Type

Primary

Name

shared-service

Image

shared-service

Image Pull Policy

Always

Command

Arguments

Port

8080

Security Context

  • Allow Privilege Escalation: false

Endpoints

External-to-Cluster

circle-exclamation

Shared Service Invocation

POST /

Performs the primary RCKMS Shared Service event loop.

Internal

Intra-mesh Connectivity Diagnostics

GET /__/diagnostics

Performs a connectivity test against DSS and VCS.

Path Parameters

Name
Type
Description

serviceSlug

String

Optionally specify the "slug" for the service to perform a diagnostic against, e.g. /__diagnostics/dss will only perform a connectivity test against DSS.

Liveness Probe

GET /__/probes/liveness

Refer to the Kubernetes Documentation for more information on probes.

Readiness Probe

GET /__/probes/readiness

Refer to the Kubernetes Documentation for more information on probes.

Environment Variables

All environment variables, unless otherwise indicated, are considered required.

General Variables

chevron-rightNODE_ENVhashtag

When set to production, optimizes runtime performance.

Accepted Values

  • default

  • production

chevron-rightNODE_OPTIONShashtag

Applies override flags to the Node runtime.

Accepted Values

  • default

  • As this container deals with very large data objects, it is recommended to set a value of --max-old-space-size=2048, which increases the default heap size of the Node runtime to accommodate larger garbage collection activities. Ideally, the numerical value (e.g. 2048) would be set to 80% of the RAM resource limit for this container.

chevron-rightPORThashtag

Controls which port the embedded web server is bound to.

Accepted Values

  • 8080 default

  • Any numerical value. Should match the value of Port parameter in Attributes.

Document Database Connectivity

chevron-rightDOCUMENT_STORE_PLATFORMhashtag

Toggles a few Mongo client options for optimal performance based on target platform.

Accepted Values

  • mongodb default

  • aws-documentdb

chevron-rightDOCUMENT_STORE_CONNECTION_URI Secret hashtag

Defines the URI by which to connect to the Document Store database.

As this includes the username and password, it should be mapped appropriately.

Accepted Values

  • localhost:27017/rckms default

  • Any valid MongoDB connection URI string, without protocol prefix (e.g. do not include mongodb:// in the value)

chevron-rightDOCUMENT_STORE_TLS_ALLOW_INVALID_CERTIFICATEShashtag

Override native Mongo client security policy related to self-signed certificates.

Accepted Values

  • false default

  • true Underlying Mongo client will allow self-signed certificates.

chevron-rightDOCUMENT_STORE_TLS_ALLOW_INVALID_HOSTNAMEhashtag

Override native Mongo client security policy related to certificate hostname matching.

Accepted Values

  • false default

  • true Underlying Mongo client will allow certificate hostname mismatches.

RCKMS Platform Configuration

circle-info

The following environment variables are used in the construction of DSS payloads, and should only be modified under the guidance of HLN engineers or operators. In future RCKMS releases, these may be deprecated in favor of hard-coded values within the container, or reduced to a runtime profile variable, for ease of operations.

chevron-rightLOCATION_BOTH_CODEhashtag

Accepted Values

  • RRVS7

chevron-rightLOCATION_CODE_SYSTEMhashtag

Accepted Values

  • 2.16.840.1.114222.4.5.274

chevron-rightLOCATION_FACILITY_CODEhashtag

Accepted Values

  • RRVS6

chevron-rightLOCATION_PATIENT_CODEhashtag

Accepted Values

  • RRVS5

chevron-rightMIRTH_ID_KEYhashtag

Specifies which request header to use for populating the mirth_id tag in logging events.

Accepted Values

  • default

  • X-MirthId

chevron-rightOPENCDS_BUSINESS_IDhashtag

Accepted Values

  • RCKMS

chevron-rightOPENCDS_CLIENT_TZ_LANGhashtag

Specifies the language to use for OpenCDS responses.

Accepted Values

  • en

chevron-rightOPENCDS_CLIENT_TZ_OFFSEThashtag

Specifies the timezone offset value for OpenCDS to operate under.

Accepted Values

  • 0

chevron-rightOPENCDS_CONNECTION_TIMEOUThashtag

Specifies how many milliseconds the Shared Service (SS) will consider a connection to be open, prior to timing out.

Accepted Values

  • 50000

chevron-rightOPENCDS_CONTAINING_BUSINESS_IDhashtag

Accepted Values

  • GZIPICEData

chevron-rightOPENCDS_CONTAINING_SCOPING_ENTITY_IDhashtag

Accepted Values

  • org.cdsframework.rckms

chevron-rightOPENCDS_CONTAINING_VERSIONhashtag

Accepted Values

  • 1.0.0

chevron-rightOPENCDS_INTERACTION_SCOPING_ENTITY_IDhashtag

Accepted Values

  • org.cdsframework.rckms

chevron-rightOPENCDS_REQUEST_TIMEOUThashtag

Specifies the duration the Shared Service will wait for a response from DSS, in milliseconds.

Accepted Values

  • 300000

chevron-rightOPENCDS_SCOPING_ENTITY_IDhashtag

Accepted Values

  • org.cdsframework.rckms

chevron-rightOPENCDS_VERSIONhashtag

Accepted Values

  • 1.0.0

Intra-mesh Connectivity

chevron-rightOPENCDS_PROD_ENDPOINThashtag

Define the Kubernetes Service endpoint for DSS (PRODUCTION mode) interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to opencds-decision-support-service/api/resources/evaluateAtSpecifiedTime. For example, http://dss.prd.svc.cluster.local:80/opencds-decision-support-service/api/resources/evaluateAtSpecifiedTime would be considered an acceptable value for a service resource named dss, in the prd namespace, with a service port of 80 and the proper path value of /opencds-decision-support-service/api/resources/evaluateAtSpecifiedTime.

chevron-rightOPENCDS_TEST_ENDPOINThashtag

Define the Kubernetes Service endpoint for DSS (TEST mode) interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTime. For example, http://dss.prd.svc.cluster.local:80/opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTime would be considered an acceptable value for a service resource named dss, in the prd namespace, with a service port of 80 and the proper path value of /opencds-decision-support-service-test/api/resources/evaluateAtSpecifiedTime.

chevron-rightSERVICE_BASE_DSShashtag

Define the Kubernetes Service base endpoint for DSS interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to /. For example, http://rgs.prd.svc.cluster.local:80/ would be considered an acceptable value for a service resource named dss, in the prd namespace, with a service port of 80 and the proper path value of /.

chevron-rightSERVICE_BASE_VCShashtag

Define the Kubernetes Service endpoint for VCS interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to /. For example, http://vcs.prd.svc.cluster.local:80/ would be considered an acceptable value for a service resource named vcs, in the prd namespace, with a service port of 80 and the proper path value of /.

chevron-rightVMR_CONVERTER_ENDPOINThashtag

Define the Kubernetes Service endpoint for VCS interactions.

Accepted Values

  • Any valid URL, including protocol, hostname, port (optionally inferred by protocol), and path set to /convert. For example, http://vcs.prd.svc.cluster.local:80/convert would be considered an acceptable value for a service resource named vcs, in the prd namespace, with a service port of 80 and the proper path value of /convert.

Logging Level Configuration

chevron-rightLOGGING_LEVEL Optional hashtag

This container is configured with Pino logging libraryarrow-up-right, which gives engineers and operators more granular control over logging output in Node applications.

Accepted Values

  • debug Verbose logging. Useful for triaging.

  • info default Standard logging output.

  • warn Outputs log events classified as warnings or higher.

  • error Outputs log events classified as errors or higher.

  • fatal Only fatal, typically uncaught exceptions will be logged.

  • silent Disables all logging output.

  • trace Extremely verbose logging.

chevron-rightENABLE_DB_LOGGING Optional hashtag

Controls the storage of performance metrics in the attached Document database.

Accepted Values

  • false default

  • true

Sentry Configuration

chevron-rightSENTRY_DSN Optional hashtag

Enables Sentry error reporting and application performance monitoring.

If no value is provided, disables Sentry functionality.

Accepted Values

  • default

  • A valid Sentry DSN URL

chevron-rightSENTRY_ENVIRONMENT Optional hashtag

Additional metadata to enrich errors and metrics captured by Sentry.

Accepted Values

  • Any string value, preferably the name of the environment this workload is operating.

chevron-rightSENTRY_RELEASE Optional hashtag

Additional metadata to enrich errors and metrics captured by Sentry.

Accepted Values

  • Any string value, preferably the commit short SHA1 or container tag/version.

Probes

Liveness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /__/probes/liveness

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 15s

  • Period of 60s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 2 Failures

Readiness

Parameter
Value

Mode

HTTP (GET)

Arguments

  • Path: /__/probes/readiness

  • Port: 8080 (must match container port)

Timings

  • Initial Delay of 15s

  • Period of 15s

  • Timeout of 5s

Thresholds

  • 1 Successes

  • 2 Failures

Startup

circle-info

This container does not utilize startup probes.

Resources

CPU (in millicores)
RAM (in MiB)
Storage (in GiB)

750

1536

N/A

Technology Stack

Container uses Alpine Linux base image from the official Node repository, targeting the Node 14 LTS variant. Deploys an ExpressJS web server for routing requests.

Volume Mounts

circle-info

This container does not mount any volumes.

Workload Identity

circle-info

Container does not require access to external-to-cluster resources.

Code Owners

Name
Organization
Email

Last updated