Concept Reference Term API
Feed
The feed for concept reference terms could be found at http://host_name_for_tr/openmrs/ws/atomfeed/conceptreferenceterm/recent. A detailed description of atom feed for the TR server could be found here. Once the atom feed client finds a new entry on the feed, it should fetch the concept reference term from the server to take appropriate action. The URL to fetch the concept reference term is published inside the content section of the feed entry. The URL does not contain host information and the client has to pre-pend the hostname for the TR server to fetch the data.
Structure of the data
The URL for fetching the concept reference term published through the Atom Feed is /openmrs/ws/rest/v1/conceptreferenceterm/a580061a-2e3b-4936-b232-cb5c2ec308fd?v=custom:(uuid,name,conceptSource,description,code,version,retired,conceptReferenceTermMaps). Using this URL, a concept reference term could be fetched from the TR server.
The following listing shows a sample concept reference term fetched using the url mentioned above.
<?xml version="1.0" encoding="UTF-8"?><object> <uuid>a580061a-2e3b-4936-b232-cb5c2ec308fd</uuid> <name>Viral pneumonia 206925</name> <conceptSource> <uuid>30601597-21d1-4bcd-a617-71955219276b</uuid> <display>ICD10-BD</display> <name>ICD10-BD</name> <description>ICD10 Codes for Bangladesh</description> <hl7Code>ICD10-BD</hl7Code> <retired>false</retired> <links> <link> <rel>self</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptsource/30601597-21d1-4bcd-a617-71955219276b</uri> </link> <link> <rel>full</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptsource/30601597-21d1-4bcd-a617-71955219276b?v=full</uri> </link> </links> <resourceVersion>1.8</resourceVersion> </conceptSource> <description>Viral pneumonia, unspecified Excl.: 206925</description> <code>J19.206925</code> <version>1.0</version> <retired>false</retired>
<conceptReferenceTermMaps>
<conceptreferencetermmap> <uuid>9ed7304e-ebe0-4d48-94b4-a4c2cc0b2c80</uuid> <display>ICD10-BD: J19.600148 - ICD10-BD: B00</display> <termA> <uuid>8053f717-5b7c-484e-81bf-7d3e577fbefd</uuid> <display>ICD10-BD: J19.600148 (IViral pneumonia, unspecified)</display> <links> <link> <rel>self</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptreferenceterm/8053f717-5b7c-484e-81bf-7d3e577fbefd</uri> </link> </links> </termA> <termB> <uuid>f8145ea8-4d68-4cce-8eed-2ec9232377a6</uuid> <display>ICD10-BD: B00 (Herpesviral Infection)</display> <links> <link> <rel>self</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptreferenceterm/f8145ea8-4d68-4cce-8eed-2ec9232377a6</uri> </link> </links> </termB> <conceptMapType> <uuid>35543629-7d8c-11e1-909d-c80aa9edcf4e</uuid> <display>SAME-AS</display> <links> <link> <rel>self</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptmaptype/35543629-7d8c-11e1-909d-c80aa9edcf4e</uri> </link> </links> </conceptMapType> <links> <link> <rel>self</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptreferencetermmap/9ed7304e-ebe0-4d48-94b4-a4c2cc0b2c80</uri> </link> <link> <rel>full</rel> <uri>http://172.18.46.53:9080/openmrs/ws/rest/v1/conceptreferencetermmap/9ed7304e-ebe0-4d48-94b4-a4c2cc0b2c80?v=full</uri> </link> </links> <resourceVersion>1.9</resourceVersion> </conceptreferencetermmap> </conceptReferenceTermMaps>
</object>
Field description
uuid: A unique identifier that refers to the concept reference term in the server
name: A human readable name for the concept reference term
description: A human readable description for the concept reference term
code: A string that specifies the code that refers to the concept reference term uniquely in any coding system
version: The current version of the concept reference term
retried: Whether the concept reference term is retired or not.
concept source: The source or the namespace under which the reference term is defined.
uuid: A unique identifier that refers to the concept source in the server
display: A human readable name for the concept source
name: A human readable name for the concept source with the the source could also be searched.
description: A human readable description for the concept source
hl7code: A string that specifies the code for the concept source as specified by HL7
retired: Whether the concept source is retired or not
links: A set of related entities to the current concept source
link: Describes an entity and its relation to the concept source
rel: The type of relationship
uri: The URI using which the entity can be fetched from the server
resourceVersion: The version of the Concept Source API
conceptReferenceTermMaps: Specifies a set of concept reference terms that are related to the current concept reference term as defined in the coding standard.
conceptReferenceTermMap: Describes the mapping between the concept reference term and another concept reference term. The related reference term could be from the same source or a different source
uuid: A unique identifier that refers to the concept reference term map entity in the server.
display: A human readable description of the concept reference term map
termA: The Current reference term
uuid: A unique identifier that refers to termA on the server
display: A human readable name for termA on the server
links: A set of related entities to termA
link: Describes an entity and its relation to termA
rel: The type of relationship
uri: The URI using which the entity can be fetched from the server
termB: The reference term to which the current reference term is related to
uuid: A unique identifier that refers to termB on the server
display: A human readable name for termB on the server
links: A set of related entities to termB
link: Describes an entity and its relation to termB
rel: The type of relationship
uri: The URI using which the entity can be fetched from the server
conceptMapType: Specifies the type of mapping between the current reference term and the related term
uuid: A unique identifier that refers to the concept map type on the server
display: A human readable name for the concept map type
links: A set of related entities to the concept reference term
link: Describes an entity and its relation to the concept reference term
rel: The type of relationship
uri: The URI using which the entity can be fetched from the server
resourceVersion: The version of the concept reference term API
It is important to note that each reference term data is self contained, ie, related entities like concept source are embedded into the document. It is the responsibility of the client to check whether the concept source already exists in the local database and refer to it if it exists rather than creating a new entry. Also the same data is returned when the concept reference term is being fetched because it was edited on the server. It is the responsibilty of the client to merge the new data with the existing concept reference term data in the local database.