Versions Compared

Key

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

...

POST http://<openhim-core_host>:<api_port>/mediatormediators

with a body contain the following sample structure:

Code Block
languagejs
{
	uuid: "<a UUID>", // A unique identifier to identify the mediator, this identifier should always stay the same even if the mediator changes
	version: "", // the version of the mediator, if this is incremented the OpenHIM-core will update the channel configuration - expects a semver string
	name: "", // a human readable name for the mediator
	defaultChannelConfig: {[ // (optional) aan maparray of default channelchannels to add for this mediator
		"<channel_name1>": { ... }, // a channel object as defined by the OpenHIM-core
		"<channel_name1>": { ... }
	}],
	endpoints: {[ // (A minimum of 1 endpoint must be defined) aan maparray of endpoints that the mediator can be contacted on
		"<endpoint_name1>": { ... }, // a route object as defined by OpenHIM-core - https://github.com/jembi/openhim-core-js/blob/master/src/model/channels.coffee#L5-L15
		"<endpoint_name2>": { ... }
	}]
}

The OpenHIM-core SHALL respond with a HTTP status of 201 if the mediator registration was successful.

...

The mediator SHOULD return a structured object that indicates the response that should be returned to the user as well as metadata about the actions that were performed. This structured object should be returned in the HTTP response for each request that the OpenHIM-core send to the mediator. The mediator . This object MUST return this object with a content-type header with the value: 'application/json+openhim'. If the mediator wants to set a specific content-type to return to the client, they can set this in the response object as a header.

The JSON object returned to the OpenHIM should take the following form:

Code Block
languagejs
{
	"type": "openhim-response-type", // a static string that contains the response type, this should always contain this string
	"status": "SuccessSuccessful", // (optional) an indicator of the status of the transaction, this can be one of the following: ['Processing', 'Failed', 'Completed', 'Successful', 'Completed with error(s)']
	"response": { ... }, // a response object as defined by OpenHIM-core - https://github.com/jembi/openhim-core-js/blob/master/src/model/transactions.coffee#L13-L18
	"orchestrations": { ... }, // (optional) an array of orchestration objects as defined by OpenHIM-core - https://github.com/jembi/openhim-core-js/blob/master/src/model/transactions.coffee#L26-L30
	"properties": { // (optional) a map of properties that the HIM may want to report
		"pro1": "val",
		"pro2": "val"
	}
}

...