Transform:
Describes a mapping used to transform from Evidence XML to an XML format that can be used to populate a datastore or a mapping from datastore back to Evidence XML.
This entity is central to the functioning of the DataHub. A Transform stores a mapping in XSLT. There are two types of mappings,
mappings for reads and mappings for updates, the type of mapping is identified by the type field. Mappings for reads transform data from Evidence Entities to data store XML.
Mappings for updates take a Difference Command and turn it back into a set of requests to change or update Evidence Entities.
A Difference Command is built by comparing "before" and "after" snapshots of a datastore. The before
snapshot represents the state of a datastore before an IEG script has been run. The after snapshot represents the state of
the datastore after a client has executed an IEG script. The Difference Command captures what actions they performed in that
script in terms of the changes made to the data store.
The logicalName and type fields taken together for Transform must be unique. The logical name is identified with a particular Data Hub Context.
This Data Hub Context collect together a set of entities that share the same Data Hub Context name: A Transform, Filter Evidence Link,
a View Processor and Update Processor.
Example The "Having a Baby" Life Event is linked to the Data Hub Context called HavingABaby. This Life Event allows a client to log in and
report that they or someone in their family is going to have a baby. The Life Event is linked to the Data Hub Context "HavingABaby".
When the Life Event is launched it is pre-populated with information about the family that has been read from Curam Evidence.
This information is read from the Evidence Tables and then the logical name "HavingABaby" is used to retrieve a Transform to convert
This evidence into a Data Store. This pre-populated datastore is used for the IEG Script. The Citizen answers all the questions in the IEG
Script and submits it. The Life Event engine calculates what has changed in the datastore and submits this to the data hub with the
context "HavingABaby". The Data Hub queries for a Transform update script with the logical name of "HavingABaby".
This Transform is then used to convert the differences into a set of updates to Evidence.
|