For Indivo, and in general for a number of health applications, coding systems are used for interoperability. Examples include vaccine disease codes, allergy codes, procedure codes, etc. This page documents a web-based mechanism for documenting and publishing, in a machine-readable manner, these coding systems.
 Abstract Model
Beyond the basic attributes (name, publisher, description), a coding system includes:
- a way to list all codes
- a way to look up a single code
- a way to search for codes matching a simple text query (e.g. "diab" should match "diabetes.")
A single code entry will have, at least:
- a code
- an abbreviation
- a full title
- (optionally) a description
- (optionally) relationships to other codes.
 Data Representation
 RESTful Calls
The URL templates define RESTful calls to obtain a single code, and to search for a number of codes.
Specifically, given the example above, the following URL returns a single code "123":
And the following URL searches the list of allergy codes for "peanut"
The coding systems used in Indivo X (as of beta 1, November 2010) are as follows. Individual installations need to download the coding systems on their own, as the licenses for these do not permit redistribution, so we cannot package them with Indivo.
 Immunizations: HL7 v3
The easiest way to get the HL7 V3 file in vertical-bar-separated format, as required by the codingystem loader, is to use bioontology.org.
We specifically used the REST service at http://rest.bioontology.org/bioportal. The ontology code we used to download our version appears to no longer exist, so we'll look into the latest codes soon. In the meantime, documentation for the REST service is at:
 Labs: LOINC
Available at http://loinc.org
There is an encoding issue which forced us to truncate the LOINC file for now at line 43504.
 Problems: SNOMED CT
Available by signing up to UMLS:
An encoding conversion is required to get to utf8, should be doable using the iconv program on most Linux installations.
 Medications: RxTerms
Note that we may move to RxNorm instead of RxTerms.