Versions Compared

Key

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

...

The integration technology that the Terminology Registry server uses to publish changes is based on Atom Feeds. Every change to terms would result in a new event being published to the feed. The feed document would contain meta information such as the author, id and the last updated time. The feed document also contains a list of entries for every event like adding a term or modifying an existing term in the same order in which they occurred. The content of each entry is the URL using which the entity that changed could be fetched from the Terminology Registry server. It is important to know that the URL will return the entity as a whole and not only the fields that changed. The logic to figure out the fields that changed and merging is the responsibility of the consumer. 

 

For more details on the feed protocol, please refer here

Below is an example of such a feed
Code Block
<?xml version="1.0" encoding="UTF-8"?>

...


<feed xmlns="http://www.w3.org/2005/Atom">

...


 <title>Patient AOP</title>

...


 <link rel="self" type="application/atom+xml" href="http://172.18.46.53:9080/openmrs/ws/atomfeed/diagnosis/recent" />

...


 <link rel="via" type="application/atom+xml" href="http://172.18.46.53:9080/openmrs/ws/atomfeed/diagnosis/2" />

...


 <link rel="prev-archive" type="application/atom+xml" href="http://172.18.46.53:9080/openmrs/ws/atomfeed/diagnosis/1" />

...


 <author>

...


   <name>OpenMRS</name>

...


 </author>

...


 <id>bec795b1-3d17-451d-b43e-a094019f6984+2</id>

...


 <generator uri="https://github.com/ICT4H/atomfeed">OpenMRS Feed Publisher</generator>

...


 <updated>2014-07-28T06:08:41Z</updated>

...


 <entry>

...


   <title>Diagnosis</title>

...


   <category term="Diagnosis" />

...


   <id>tag:atomfeed.ict4h.org:83898e4e-05d9-4f37-a530-8f753035234b</id>

...


   <updated>2014-07-24T04:08:41Z</updated>

...


      <content type="application/vnd.atomfeed+xml"><![CDATA[/openmrs/ws/rest/v1/concept/aa21a8a6-7903-4d5e-af05-c1caae1abbf5?v=custom:(uuid,description,name:(uuid,name,locale,conceptNameType),datatype,set,version,retired,names,answers,setMembers,mappings:(uuid,conceptReferenceTerm,conceptMapType))]]></content>

...


 </entry>

...


</feed>

 

Feed URLs

The Terminology Registry server exposes a feed which will publish events related to any concept in general. The Terminology Registry server also publishes one feed for each type of concept (ie, one feed per concept class). Entities that are related to concept like concept reference terms also have their own feeds.The following is a list of the urls for all the feeds that are published by the Terminology Registry server.

...