Draft status: This content is under review, and may be subject to revision.

Version 1.0b, 2018-08-28

The Genotype List String Code (GLSC) code system defines a syntax for using the Genotype List String (GL String) grammar in association with a gene family namespace.

GL String Code Syntax

The GL String Code is composed of three required fields in a string separated by a “#” character. These fields, in order, are:

See below for examples.

Gene family namespace

Each gene family namespace represents one or more code systems. When more than one code system is used, a base system is designated which is then extended by the other code systems.

Code Systems Comprising hla Namespace For example, the hla namespace supports the IPD-IMGT/HLA allele database as the base system, as well as the National Marrow Donor Program (NMDP) multiple allele code system used to describe allele ambiguity, and the World Marrow Donor Association (WMDA) extensions (“NNNN”, “XXXX”, “UUUU” and “NEW”).

Supported namespaces

Namespace Code System Ref Version Notes
hla IPD-IMGT/HLA a tied to IPD-IMGT/HLA release version
NMDP multiple allele code (MAC) designation b versionless, but usage may be tied to IPD-IMGT/HLA release version
WMDA additional codes c versionless, but usage may be tied to IPD-IMGT/HLA release version
XX codes c versionless, but usage may be tied to IPD-IMGT/HLA release version
kir IPD-KIR d tied to IPD-KIR release version

a. https://www.ebi.ac.uk/ipd/imgt/hla
b. https://bioinformatics.bethematchclinical.org/hla-resources/allele-codes/allele-code-lists
c. https://doi.org/10.1038/sj.bmt.1705672
d. https://www.ebi.ac.uk/ipd/kir

Version or date

The second field of the GL String Code contains the version of the base nomenclature of the gene family namespace. When the version is not available, the date when the GL String was constructed is used. This reflects the most recent version possible of the nomenclature. This field is not optional.


When available, the version of the base nomenclature release is preferred over the date. A fully qualified version should be used (e.g., 3.33.0 vs 3.33).

Version examples:

  • 3.20.0
  • 3.25.0


If using the date, the format must be as described for the HL7 FHIR date type (https://hl7.org/fhir/datatypes.html#date). Briefly,

A date, or partial date (e.g. just year or year + month) as used in human communication. There is no time zone. Dates SHALL be valid dates.
Regex: -?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1]))?)?

Date examples:

  • 2017-10-15
  • 2015-01
  • 2018

Genotype List String (GL String)

The GL String format uses a hierarchical set of operators to describe the relationships between alleles, lists of possible alleles, phased alleles, genotypes, lists of possible genotypes, and multilocus unphased genotypes, without losing typing information or increasing typing ambiguity.

The GL String grammar is described in
Genotype List String: a grammar for describing HLA and KIR genotyping results in a text string Tissue Antigens. 2013 Aug;82(2):106-12. doi: 10.1111/tan.12150

GL String delimiters & precedence

Precedence Delimiter Description
1 ^ Gene/Locus
used in multilocus unphased genotypes
2 | Genotype List
to describe genotype ambiguity where the typing system cannot distinguish chromosomal phase
3 + Genotype
4 ~ Haplotype
used to describe alleles that are in chromosomal phase (cis)
5 / Allele List
to describe allele ambiguity where the typing system cannot distinguish between alleles

GL String parsing

GL String Components of a Multilocus Unphased Genotype (MUG) Parsing of GL String delimiters in a multilocus unphased genotype

GL String examples

  • HLA-A genotype with ambiguous allele
    • HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01
  • HLA-A ambiguous genotype
    • HLA-A*01:02+HLA-A*03:02:01|HLA-A*01:03:01:01+HLA-A*03:04:01
  • HLA-DR haplotype
    • HLA-DRB1*03:01:02~HLA-DRB5*01:01:01
  • HLA multi-locus unphased genotype
    • HLA-A*02:302+HLA-A*23:26/HLA-A*23:39^HLA-B*44:02:13+HLA-B*49:08
  • KIR ambiguous genotype
    • KIR3DL2*001+KIR3DL2*007|KIR3DL2*006+KIR3DL2*010

GL String Code Examples

Base nomenclature only

  • hla#3.25.0#HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01
  • hla#3.29.0#HLA-DRB1*03:01:02~HLA-DRB5*01:01:01
  • hla#3.33.0#HLA-A*02:69+HLA-A*23:30|HLA-A*02:302+HLA-A*23:26/HLA-A*23:39
  • hla#2018-06#HLA-A*02:69+HLA-A*23:30
  • kir#2.3.0#KIR3DL2*001+KIR3DL2*007|KIR3DL2*006+KIR3DL2*010

NMDP Multiple Allele Code (MAC) Designations

  • hla#2018-03-01#HLA-DPB1*04:ANKZX+HLA-DPB1*04:FNVS

MAC and WMDA extensions

  • hla#3.25.0#HLA-DPB1*04:ANKZX+HLA-DPB1*04:FNVS^HLA-DRB3*XXXX

as a valueCodeableConcept.coding within a HL7 FHIR Observation…

    <system value="http://glstring.org"/>
    <version value="1.0"/>
    <code value="hla#3.25.0#HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01"/>

References & Links

Genotype List String: a grammar for describing HLA and KIR genotyping results in a text string. Tissue Antigens. 2013 Aug;82(2):106-12. doi: 10.1111/tan.12150.

World Marrow Donor Association guidelines for use of HLA nomenclature and its validation in the data exchange among hematopoietic stem cell donor registries and cord blood banks. Bone Marrow Transplant. 2007 Jun;39(12):737-41. doi: 10.1038/sj.bmt.1705672.


IPD-KIR Database

NMDP Multiple Allele Codes


NMDP Genotype List Service