Subscription Components

Configuring a Subscription

The Subscription can be configured by following the sections below:


Subscription Metadata

Purpose of Subscription Metadata

🗒️Subscription Metadata is used to describe the subscription to other administrators using the iCDR solution

Subscription Metadata fields

🗒️Subscription Metadata fields are defined below:

Field
Type
Format
Description

Name

Text

- Any Lowercase Characters [a-z] - Uppercase Character [A-Z] - Any Number [0-9] - Hyphen [-] - Underscore [_]

A unique named identifier for the subscription which appear in logs

Description

Text

- Free Text (i.e. any regular or special case characters and numbers) - Limit of 1024 characters max

A short description of the subscription, its purpose, why it exists.

Support Contact

Text

- Free Text (i.e. any regular or special case characters and numbers)

The person who should be contact when/if the subscription fails (telephone, e-mail, etc.) This can be used for diagnosing connectivity


Subscription Filter

Purpose of Subscription Metadata

🗒️Subscription Filters help identify the criteria for what triggers a notification

Subscription Filter Fields

🗒️Subscription Filters fields can be defined below:

Field
Type
Description

Applies To

Select

The resource which this subscription applies to

Event(s)

Checkbox

The persistence events when the recipient should be notified

When Criteria

Combination Fields(Text)

The filters for new events. These filters will be used as the criteria for if and when the recipient will be notified

Applies To Input

Limitations of Applies to Input

🗒️The list of Applies To is limited to entities and acts within the system.

What are Entities?

Entities

🗒️Entities are nouns (Person, Place, or Thing) or objects denoted within the system. Below is the collection of default entities with their associating description

List of Available Entities

🗒️Below is the collection of default entities with their associating description:

Name
Example
Description

Entity

Any

Generic term for any Entities (i.e. any Entity)

Person

Mother, Father, Guardian, etc...

A Person within the system

Patient

A Person who is registered as a patient in the system

A Patient within the system

Provider

A Manufacturer or Party which provides a material or service

A Manufacturer or entity which provides a material or object within the system

Place

City, State, Province, Region, Country, etc...

A location within the system

Organization

Fuji Community Hospital, etc...

An party representing an organization within the system

Material

BCG, DTP, etc...

A generic material within the system

ManufacturedMaterial

BC-8696 - BCG Dil20, RV-633775 - RV (GlaxoSmithKline), etc...

A specialized material made by a provider or manufacturer

What are Acts?

Acts

What are Acts?

🗒️Acts are verbs or actions that happen in relation to entities within the system. Below is the collection of default acts with their associating description

List of Available Acts

🗒️Below is the collection of default acts with their associating description:

Name
Example
Description

Act

Any

Generic term for any Act (i.e. any Act)

SubstanceAdministration

BC-8696 - BCG Dil20 Administration, etc...

An action depicting an administration in which manufactured material in provided to a Patient

TextObservation

Patient symptoms, progress note, etc...

An action in which an observation is provided regarding a Patient during an encounter

CodedObservation

An action in which a specialized observation is conducted on a Patient during an encounter

QuantityObservation

Weight measurement, Height measurement, Blood Pressure measurement, etc..

An action in which a quantity is associated to a Patient during an encounter

Procedure

An action in which a specialize procedure is conducted on a Patient during an encounter

ControlAct

Injection of a Substance, Performing a procedure below the dermis or mucous membrane, Dispensing a Drug, etc...

An action in which something is performed by an authorized regulated health professional onto a Patient during an encounter


Endpoint Settings

What are Endpoint Settings

🗒️The endpoint settings are used to control how and when the messages are sent to the remote endpoint.

Endpoint Setting Fields

🚧The fields for Endpoint Settings can be defined below:

Field
Type
Format
Description

Not Before

DateTime

mm/dd/yyyy hh:mm ss e.g. 01/31/2025 23:59 00

The date/time when the endpoint should start receiving messages from the iCDR

Not After

DateTime

mm/dd/yyyy hh:mm ss e.g. 01/31/2025 23:59 00

The date/time when the endpoint should stop receiving messages from the iCDR

Endpoint

URL

[PROTOCOL]://[DOMAIN][URI] e.g. http://ivd.go.elb/api/hpv-vaccine-cohort/Patient

The remote endpoint (url) where the notification dispatches should be sent

Dispatcher

Select

Option e.g. fhir-message

The dispatching class to be used for formatting messages and authentication with the remote endpoint

Custom Settings

Key-Value Pair

[Key] [Value] e.g. Authorization bearer mytoken123

Key/value pairs which are passed to the dispatcher to control settings related to authentication, message formatting, etc.

Available Dispatchers

📃Below is the available Dispatchers available in the system with their associating description and typical Custom Settings.

Dispatcher: fhir-message

fhir-message

Send messages using FHIR messaging (a message bundle with content)

Custom Settings

Please see the following table for applicable fhir-message Custom Settings:

Key
Value
Description

Content-Type

application/fhir+xml

sends XML format messages

Content-Type

application/fhir+json

sends JSON format messages

MessageId

[ANY VALUE]

Controls the message identifier sent in the FHIR message

Authenticator Flows

Authenticator Flow Custom Settings

HL7-Fhir-Oauth-Logos.png

🗒️By default, SanteDB ships with an OAUTH authenticator which allows the FHIR dispatcher to reach out to an OAUTH service to obtain a token prior to issuing the FHIR message request.

✅To enable this with any of the above FHIR dispatchers, add the following properties to your channel configuration:

Key
Value
Description

$authenticationProvider

oauth

Sets the authentication provider to OAUTH

$oauth.server

URL

The base URL to the OAUTH server. The provider will use this value and attempt to obtain the .well-known/openid-configurationfile from the path

$oauth.client_id

String

The client identifier to pass in all requests

$oauth.client_secret

String

The client secret to use on the OAUTH server

$oauth.grant_type

password or client_credentials

The grant type to use for the issuing of requests to the server. This is how the sending SanteDB server authenticates itself to the remote

$oauth.username

String

The username to authenticate with. Note: Works when $oauth.grant_type is set to password

$oauth.password

String

The password to authenticate with. Note: Works when $oauth.grant_type is set to password

$oauth.scope

String

The scope names which the SanteDB server should request when sending data to the server.

$oauth.novalidate

True or False

True: the issuing SanteDB server will not attempt to validate the token passed back from the issuing server. False: the issuing SanteDB server will attempt to validate the token passed back from the issuing server.

Last updated