PLSC 1.0 Syntax
Draft status: This content is under review, and may be subject to revision.
Version 1.0
The Phenotype List String Code (PLSC) code system defines a syntax for using the Phenotype List String (PL String) grammar in association with a gene family namespace.
PL String Code Syntax
The PL String Code is composed of three required fields in a string separated by a “#” character. These fields, in order, are:
- Gene family namespace
- Version of the nomenclature, or the date when the PL String was created
-
namespace
#version_or_date#plstring
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.
![]() |
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 PL String Code contains the version of the base nomenclature of the gene family namespace. When the version is not available, the date when the PL String was constructed is used. This reflects the most recent version possible of the nomenclature. This field is not optional.
Version
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.03.25.0
Date
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-152015-012018
Phenotype List String (PL String)
The PL String format uses a hierarchical set of operators to describe the relationships between alleles, lists of possible alleles, phased alleles, phenotype, lists of possible phenotype, and multilocus unphased phenotype, without losing typing information or increasing typing ambiguity.
The PL String grammar is described in
Phenotype 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][https://doi.org/10.1111/tan.12150]
PL String delimiters & precedence
| Precedence | Delimiter | Description |
|---|---|---|
| 1 | ^ |
Gene/Locus used in multilocus unphased phenotype |
| 2 | | |
Phenotype List to describe phenotype ambiguity where the typing system cannot distinguish chromosomal phase |
| 3 | + |
Phenotype |
| 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 |
PL String parsing
Parsing of PL String delimiters in a multilocus unphased phenotype
PL String examples
- HLA-A phenotype with ambiguous allele
HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01
- HLA-A ambiguous phenotype
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 phenotype
HLA-A*02:302+HLA-A*23:26/HLA-A*23:39^HLA-B*44:02:13+HLA-B*49:08
- KIR ambiguous phenotype
KIR3DL2*001+KIR3DL2*007|KIR3DL2*006+KIR3DL2*010
PL 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:01hla#3.29.0#HLA-DRB1*03:01:02~HLA-DRB5*01:01:01hla#3.33.0#HLA-A*02:69+HLA-A*23:30|HLA-A*02:302+HLA-A*23:26/HLA-A*23:39hla#2018-06#HLA-A*02:69+HLA-A*23:30kir#2.3#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…
<valueCodeableConcept>
<coding>
<system value="http://plstring.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"/>
</coding>
</valueCodeableConcept>
References & Links
TBD “PL string manuscript” TBD “PL string code manuscript”
TBD “PL string manuscript” TBD “PL string code manuscript”
