NOAH ES API - Open, Close Noah ES Client

 

Prerequisite: To use these features Noah ES Client 4.15 must be installed. These features will not work with Noah ES Client 4.14.2.

 

 

Communicating with Noah ES Client

A local Noah ES Client installation run on machines with Noah ES Client 4.15 or later installed at https://localhost:8090. The following HTTP methods can be used to communicate with Noah ES Client.

Get Noah Client instance ID.

The Noah instance ID is used to subscribe to Noah client events.

Route: GET https://localhost:8090/NoahWebIntegrationGUIStart/noah4/instanceid

Postman Example:

1.) Route

image-20240422-165933.png

2.) Successful Return Body

image-20240422-170311.png

Start Noah ES Client.

Route: GET https://localhost:8090/NoahWebIntegrationGUIStart/noah4

Postman Example:

1.) Route

2.) Successful Return Body

Set selected patient - Noah ES Client Automatically Started if not running

Set the selected patient to given patient GUID. Noah ES Client will start if it's not already running.

Route: GET https://localhost:8090/NoahWebIntegrationGUIStart/noah4/patientguid/{patientguid}

Postman Example:

1.) Route

*Note: I set a patient id in my Noah ES account as a variable in the params. 

2.) Successful Return Body

 

Get selected patient.

Route: GET https://localhost:8090/NoahWebIntegrationGUIStart/noah4/currentpatient

Postman Example:

1.) Route

2.) Successful Return Body

 

Detecting Noah ES Client patient selection changes

  1. Connect to the SignalR Hub at clientrtm path on the API URL e.g. https://api.qa.eu.noah-es.com/clientrtm

  2. Invoke the hub method “SubscribeTenant” method with tenant id and Noah ES Client instance id e.g. await _hubConnection.InvokeAsync("SubscribeTenant", {tenantId}, {noahInstanceId});

  3. Listen for events on the “OnEvent” hub method e.g. _hubConnection.On<NoahClientEvent>("OnEvent", NoahClientEventHandler);
    The event handler receives a message in the format:

    public class NoahClientEvent { public NoahClientEventType EventType { get; set; } public DateTime EventDate { get; set; } public string CorrelationId { get; set; } public string TenantId { get; set; } public string InstanceId { get; set; } public Guid? PatientId { get; set; } public Guid? ActionId { get; set; } public string UserId { get; set; } } Only patient selected event is currently supported. public enum NoahClientEventType { PatientSelected }
  4. When disconnecting, invoke the hub method “LeaveTenant”