...
- UHIMS Events - Message Specs
- UHIMS Events - Message Specs (future), includes retrofit messages
Note that <messageRoutingKey> in the above specs is not an actual XML tag. It represents the message routing key for the message being described.
...
Anchor | ||||
---|---|---|---|---|
|
Your application usually tracks people who are currently active, and will typically do an initial load of all active people from UHIMS, followed by ongoing synchronization via UHIMS Events. One problem with this model is that when a previously inactive person becomes active, UHIMS will not generate an <addPerson> (because person already exists in UHIMS), and your application will receive an <addAffiliation> message for a person that has not been previously encountered by your application.
We solve this problem by generating retrofit messages that contain all data about a person prior to any <addAffiliation>, <addUsername>, <addEmail> or <addContactInfo> message:
<retrofitPerson> (always)
<retrofitUsername> (if person has a username)
<retrofitEmail> (if person has email)
<retrofitContactInfo> (if person has contact info)
We will only include retrofit messages for data that exists for that person. For example, if the person has no username, email or contact info, we will only generate a <retrofitPerson> message prior to generating an <addAffiliation> message.