SNS Topics

SteadyMD sends notifications at every step of the consult workflow so partners always know where the patient is at in their care journey. Platform events inform partners when a visit is starting, a patient has a new message from a clinician, when a treatment plan is available, and more.

SteadyMD Platform Events are delivered via an AWS Simple Notification Service (SNS) Subscription which SteadyMD creates using endpoint information you provide to us. We support two delivery methods: HTTPS and AWS Simple Queue Service (SQS).

The notifications will contain identifiers which you can use to identify the relevant data in our system and cryptographic signatures so that you can validate the messages.

Verifying the signatures of Amazon SNS messages - Amazon Simple Notification Service

A confirmation message containing a verification URL will be sent when SteadyMD creates the subscription. You must retrieve the URL from the confirmation message and open the link before you will be able to receive Platform Events.

We recommend that you implement an automatic method for confirming subscriptions. This will reduce back and forth during initial setup.

See Amazon’s documentation for more information, note this applies to both HTTPS and SQS subscriptions:

Step 3: Confirm your Amazon SNS subscription - Amazon Simple Notification Service

HTTPS
For HTTPS delivery, you will need to provide us with a URL where the notifications can be delivered. This URL cannot require authentication and must be accessible via the public Internet. Please refer to Amazon’s documentation for detail:

Fanout Amazon SNS notifications to HTTPS endpoints - Amazon Simple Notification Service

SQS
For SQS delivery, you will need to create an SQS queue in your AWS infrastructure and provide us with the ARN for the queue. You will also need to ensure that our SNS topic has permission to write to your new SQS queue. For more information about SQS and SNS permissions, see:

https://docs.aws.amazon.com/sns/latest/dg/subscribe-sqs-queue-to-sns-topic.html#SendMessageToSQS.sqs.permissions

This is a policy template which could be used to enable write access to your queue for our SNS topic:

{
  "Version": "2008-10-17",
  "Id": "**default_policy_ID",
  "Statement": [
    {
      "Sid": "**owner_statement",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::`<your AWS account number>`:root"
      },
      "Action": "SQS:*",
      "Resource": "`<your AWS SQS queue ARN>`"
    },
    {
      "Sid": "topic-subscription-arn:aws:sns:us-east-1:963549944152:Prod-PlatformEvents",
      "Effect": "Allow",
      "Principal": {
        "AWS": "sns.amazonaws.com"
      },
      "Action": "SQS:SendMessage",
      "Resource": "`<your AWS SQS ARN>`",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sns:us-east-1:963549944152:Prod-PlatformEvents"
        }
      }
    }
  ]
}

What’s Next
  1. Decide which method you would like to use for platform notifications
  2. Existing partners can request set up through the Partner Services Portal https://steadymd.atlassian.net/servicedesk/customer/portal/5/group/17/create/283