Research Article

A SOA-Based Platform to Support Clinical Data Sharing

Table 2

Description of the IXS standard functionalities provided by the IXS Management and Query Interface and the IXS Admin Editor Interface.

CapabilityAimInput parametersOutput parametersSummarized description

IXSManagementAndQueryInterfaceRegisterEntityWithIdentity()To register a new entity (the software representation of a real word entity), with specific traits which describe it, associated with a specific identity (an Entity ID - Source ID pair).A pair of entity ID (an identifier associated with an entity) and the specific source ID (an identifier associated with the source, that is, the system which generates the entity).
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
The IXS ID (an identifier within the IXS) which is associated with the registered identity.
An instance of the IXS Status (a structure to contain a flag indicating whether the operation was successful or not and a structure representing all the corresponding conditions which occurred during the operation call).
It is called by clients to register a new entity with specific features within the service. The client indicates (1) the external entity identifier, (2) the system in which the identifier is defined, and (3) the features mapped within an instance of (4) the indicated semantic signifier. The service returns (1) an internal identifier associated to the entity and (2) indicates if any errors occurred.
CreateIdentityFromEntity()To register a new identity, with specific traits, on behalf of a source which cannot generate entity IDs.The specific Source ID of the identity to create.
An instance of the IXS Semantic Signifier which describes all the traits.
The name of the semantic signifier adopted.
The entity ID generated and associated with the entity.
An instance of the IXS Status.
It is called by clients to generate an identifier for an entity on behalf of a system that cannot create identifiers. The client indicates (1) the system in which it wants to create the identifier and (2) the features of the entity mapped within an instance of (3) the indicated semantic signifier. The service returns (1) the identifier generated for the system indicated by the client and (2) reports if any errors occurred.
UpdateEntityTraitValues()To update the traits associated with a specific identity.The entity ID.
The source ID.
An instance of the IXS Update Qualifier (a structure to contain qualifier to limit, constrain, or otherwise alter the behaviour of the update).
An instance of the IXS Semantic Signifier which provides all the traits to update.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to update the features of a specific entity within the service. The client indicates (1) the entity identifier, (2) the system in which the identifier is defined, (3) the features to update, mapped within an instance of (4) the indicated semantic signifier, and (5) other information about the way in which the service have to update the features (e.g., if to replace the entire set of features with the one indicated by the client or to update only the indicated features). In return, the service (1) indicates if any errors occurred.
RemoveIdentity()To remove the identity with its associated traits from the service.The entity ID.
The source ID.
An instance of the IXS Semantic Signifier which provides all the traits of the identity.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to remove a specific entity from the service. The client indicates (1) the entity identifier, (2) the system in which the identifier is defined, and (3) the associated features, mapped within an instance of (4) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
GetEntityTraitValues()To retrieve all traits associated with a specific identity.The entity ID.
The source ID.
The name of the semantic signifier adopted.
An instance of the IXS Semantic Signifier which provides all the traits.
An instance of IXS Status.
It is called by clients to get all features associated with a specific entity. The client indicates (1) the entity identifier, (2) the system in which the identifier is defined, and (3) the semantic signifier which it wants to be adopted by the service to map the required features.
The service returns (1) an instance of the indicated semantic signifier that contains all features and (2) indicates if any errors occurred.
FindIdentitiesByTraits()To retrieve all identities within the IXS which match some specified criteria.The entity ID, if known.
The source ID, if known.
The IXS ID, if known.
An optional instance of the IXS Search Qualifier (a structure to contain qualifier to perform more detailed search).
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the IXS Result Set (a structure to contain the list of search results).
An instance of the IXS Status.
It is called by clients to retrieve all identifiers of entities whose features match some criteria. The client indicates the criteria which can be (1) an entity identifier, (2) a system in which the identifiers must be defined, (3) the entity identifier defined within the service, (4) other search qualifiers (e.g., the match algorithm to perform the query, the max number of search results), and (5) the features mapped within an instance of (6) the indicated semantic signifier.
The service returns (1) a list of search results which match the indicated criteria and (2) indicates if any errors occurred.
ListLinkedIdentities()To retrieve all identities which are linked to the provided identity.The entity ID.
The source ID.
An optional instance of the IXS Search Qualifier.
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the IXS Result Set.
An instance of the IXS Status.
It is called by clients to retrieve all identifiers that are linked with the entity/entities whose features match some criteria. The client indicates (1) the entity identifier, (2) the system in which the identifier is defined, (3) other search qualifier, and (4) the features mapped within an instance of (5) the indicated semantic signifier.
The service returns (1) a list of search results which match the indicated criteria and (2) indicates if any errors occurred.
ListUnlinkedIdentities()To retrieve all identities which are not linked to the provided identity, but which have the same features.The entity ID.
The source ID.
An optional instance of the IXS Search Qualifier.
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the Result Set.
An instance of the IXS Status.
It is called by clients to retrieve all identifiers which identify the entity/entities with specific features, but that are not linked with the provided identifier. The client indicates (1) the entity identifier, (2) the system in which the identifier is defined, (3) other search qualifier, and (4) the features mapped within an instance of (5) the indicated semantic signifier. The service returns (1) a list of search results and (2) indicates if any errors occurred.
IXSAdminEditorInterfaceLinkEntities()To link a source identity with a target one.The source Identity Entity ID.
The source Identity Source ID.
The target Identity Entity ID.
The target Identity Source ID.
The code of the reason for making the link.
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of IXS Status.It is called by clients to create an explicit linking between identifiers which represent entities with the same specific features. The client indicates (1) the identifier of the source entity, (2) the system in which the identifier of the source entity is defined, (3) the identifier of the target entity, (4) the system in which the identifier of the target entity is defined, (5) the code which corresponds to the reason of the link, and (6) the features mapped within an instance of (7) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
UnlinkEntities()To remove the link between a source identity and a target one.The source Identity Entity ID.
The source Identity Source ID.
The target Identity Entity ID.
The target Identity Source ID.
The code of the reason for removing the link.
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to break an explicit linking between identifiers which represent entities with the same specific features. The client indicates (1) the identifier of the source entity, (2) the system in which the identifier of the source entity is defined, (3) the identifier of the target entity, (4) the system in which the identifier of the target entity is defined, (5) the code which corresponds to the reason of the breaking and (6) the features mapped within an instance of (7) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
MergeEntities()To merge a source identity into a target one.The source Identity Entity ID.
The source Identity Source ID.
The target Identity Entity ID.
The target Identity Source ID.
The code of the reason for making the merge.
An instance of IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to completely merge identifiers which represent entities with the same specific features. The client indicates (1) the identifier of the source entity, (2) the system in which the identifier of the source entity is defined, (3) the identifier of the target entity, (4) the system in which the identifier of the target entity is defined, (5) the code which corresponds to the reason of the merge, and (6) the features mapped within an instance of (7) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
UnMergeEntities()To separate a source identity from a target one.The source Identity Entity ID.
The source Identity Source ID.
The target Identity Entity ID.
The target Identity Source ID.
The code of the reason for the separation of the identities.
An instance of the IXS Semantic Signifier which provides all the traits.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to separate identifiers which represent entities with the same specific features. The client indicates (1) the identifier of the source entity, (2) the system in which the identifier of the source entity is defined, (3) the identifier of the target entity, (4) the system in which the identifier of the target entity is defined, (5) the code which corresponds to the reason of the separation, and (6) the features mapped within an instance of (7) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
ActivateEntity()To activate an identity.The entity ID.
The source ID.
The code of the reason for the activation of the identity.
An instance of the IXS Semantic Signifier which provides all the traits of the identity.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to activate an entity with specific features. The client indicates (1) the entity identifier, (2) the system in which the entity identifier is defined, (3) the code which corresponds to the reason of the activation, and (4) the features mapped within an instance of (5) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.
DeactivateEntity()To deactivate an identity.The entity ID.
The source ID.
The code of the reason for the inactivation of the identity.
An instance of the IXS Semantic Signifier which provides all the traits of the identity.
The name of the semantic signifier adopted.
An instance of the IXS Status.It is called by clients to deactivate an entity with specific features. The client indicates (1) the entity identifier, (2) the system in which the entity identifier is defined, (3) the code which corresponds to the reason of the inactivation, and (4) the features mapped within an instance of (5) the indicated semantic signifier. In return, the service (1) indicates if any errors occurred.