Coding Systems

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 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

We specifically used the REST service at 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


Available at

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

Available from

Note that we may move to RxNorm instead of RxTerms.