Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Real Time Messaging API (RTM API)

The Real Time Messaging API is SignalR based that allows you to receive events from Noah in real time. With the RTM API your app connects to Noah and receive events – this should only be used for supporting Real Time notifications to users to support the user experience. SignalR includes retry functionality. If your integration requires your app to receive all events - even those generated while your app is not running - you should use the Events API to be able to catch up. Data is not encrypted, but contains only ids enabling you to look up the actual data via the API.

Subscribing to event types

You can set up events via the API.

...

See main page about choosing event integration and to learn about general concepts: Event Integrations

Connecting

  1. Connect to the /rtm path on the API URL.

  2. Invoke the hub method “SubscribeTenant” method with tenant id and event subscription id

  3. Listen for events on the “OnEvent” hub method

  4. When disconnecting, invoke the hub method “LeaveTenant”

...

Almost everything that happens in Noah will result in an event being sent to all clients.

...

{ "TenantId": "730388bc-af11-468d-bd2e-cec0f273a822", "NotificationEventSubscriptionId": "19efd771-f3f7-4287-a4da-f9f16adc0552", "NotificationEventId": "6e665039-b4ec-41b8-96ac-614b53eeea10", "CorrelationId": "66861d3f-37b9-441b-9f00-f60181fa49d2", "EventType": "PatientCreated", "TransmissionDate": "2017-03-02T14:37:07.9395339Z", "Event": { "ResourceId": "b93009e0-07b9-4260-bf2a-a2c02cb230c8", "EventDate": "2017-03-02T14:37:07.9395339Z", "References":[{ "Rel": "self", "Href": "https://.../730388bc-af11-468d-bd2e-cec0f273a822/api/patients/b93009e0-07b9-4260-bf2a-a2c02cb230c8", "ResourceId": "b93009e0-07b9-4260-bf2a-a2c02cb230c8" }] }

New event types will be added in the future. Clients should be able to handle unexpected event types.

Suggested client: SignalR

We suggest using SignalR which handles retries etc. It is also able to fall back to other transports if necessary.

RtmClient.NET API Client

Info

We provide a .NET client that can be downloaded here: To download and use the HIMSA supplied RTM client add the following URL to your nuget package sources:
https://himsacloud.pkgs.visualstudio.com/NoahESPublic/_packaging/noahes/nuget/v3/index.json

For more information on adding new package sources and installing nuget packages visit https://wwwlearn.himsamicrosoft.com/members-2/noah-es-development/ (Log-in required)

...

/en-us/nuget/consume-packages/install-use-packages-visual-studio