#

1. Introduction

2. XSD schema files


XML file format

1. Introduction

WMDA is using XML (Extensible Markup Language) file, which is considered an industry standard that is extendable, robust and easy to use. Several people from the community formed a working group to create the required XML Schema Definition (XSD) files. These files define the elements that are allowed in the XML file, the order of the elements and the values that will be accepted. The names of the elements are based upon EMDIS specifications and aligns with the EMDIS Data Dictionary when appropriate. Several elements are basic elements that should be included in all files, but there are also elements that are specific for only donors or only cord blood units (CBUs).

We will now explain the composition of the XML file and how you should use the XSD reference files.

2. XSD schema files

WMDA is offering two XSD schema files that define the structure of your XML file: basicTypes.xsd and Inventories.xsd.

The Inventories file describes the structure of the XML file and the order of the elements. Here you can also find if a certain field is mandatory or not (minOccurs="0"-> not mandatory). This file includes many "complexTypes": an XML element that contains other elements and/or attributes. In the file you can see that the values of the elements can be defined here, like the elements GRID and ID, or that after the name of the field a "type" is defined. For example for the element with name BIRTH_DATE you see type="bareDateType". The definition of "bareDateType" is described in the basicTypes.xsd file.

Related to XSD versions, our data upload system always supports latest 3 versions of XSD. And in this page, we keep the latest version to be displayed. If there is another version, it will be in the collapse object before the tables.  

Supported versions now: 2.2, 2.3. 
The XSD schema can be download here: 

XML schema files version 2.2 

XML schema files version 2.3

 We will now describe the global structure of the XML file and the elements.

Please note: For a lot of elements, we use abbreviations as allowed values. The explanation of all those abbreviations can be found in the XSD files. Most abbreviations are also the same as used for EMDIS and clarified in the EMDIS dictionary.

2.1 InventoryType elements

Field Identifier

Required

Description

Type

Length

Comment

CREATION_TIMEYesCreation time stamp of the inventories (in UTC)dateTimeminimal 20

Without fractional seconds the length is 20, for example: 2016-08-23T13:16:48Z.

 Additional notes: CREATION_TIME is defined as "Creation time stamp of the <INVENTORIES>" that means the time in UTC when the complete and valid file was finally created at the registry. This can be the same as SNAPSHOT_TIME.

LISTING_ORGANIZATIONYesOrganisation that lists the donor/cbu provided as IONionType: number between 1000 and 99994Issuing Organisation Number (ION) allocated by ICBBA. This can be different from the POOL when another organisation is sending the data to WMDA.
POOLYesPhysical location of the donors/CBUs of the inventory provided as IONionType: number between 1000 and 99994Physical location of the donors/CBUs of the inventory provided as ION.
CONTENT_TYPEYesType of the inventory items, i.e. donor ("D") or CBU ("C")contentTypeType1The content-type is also shown in the fileName. When CONTENT_TYPE is "D", the INVENTORY must contain <DONOR>-blocks. When CONTENT_TYPE is "C", the INVENTORY must contain <CBU>-blocks.
UPDATE_MODEYesUpdate mode of the inventory, i.e. FULL or DIFFupdateModeType4Both UPDATE_MODE of "FULL" and "DIFF" are supported. For "FULL",  the complete inventory should be sent without deleted inventory, for "DIFF", only the new, edited, deleted inventory need be sent.
SNAPSHOT_TIMENoTimestamp of the 'data snapshot' (in UTC)dateTimeminimal 20

Without fractional seconds the length is 20, for example: 2016-08-23T13:16:48Z

Additional notes: SNAPSHOT_TIME in the element <INVENTORY> is defined as "timestamp of the data snapshot in UTC" that means the timestamp of the creation of this part of the complete file. This can be the timestamp of the XML export and I guess that in most of the cases it will be identical to the CREATION_TIME.

SCHEMA_VERSIONYesVersion of the applied XML Schema Definition (XSD)schemaVersionType
The schema version is very important as this determines the validation rules that should be applied during the processing of your file.


2.2 ItemBaseType elements (for Donors and CBUs)

       

Field Identifier

Required

Description

Type

Length

Comment

ID

No for Donor

Yes for CBU

Unique identifier of the donor/CBUString17

Unique identifier of the donor/CBU:

If you are an EMDIS member, you can use the same ID as you use for that system (EMDIS hub code + donor identification allocated by the associated donor registry).

For non-EMDIS members we recommend to use two digit ISO country code of the associated donor registry + donor identification allocated by the associated donor registry. For example: AU600196166, DEGOE-35487, US087013165, SB45.

However, you are also allowed to use just the donor ID allocated by your registry.

Field Identifier

Required

Description

Type

Length

Comment

ID

No for Donor

Yes for CBU

Unique identifier of the donor/CBUString25

Unique identifier of the donor/CBU:

If you are an EMDIS member, you can use the same ID as you use for that system (EMDIS hub code + donor identification allocated by the associated donor registry).

For non-EMDIS members we recommend to use two digit ISO country code of the associated donor registry + donor identification allocated by the associated donor registry. For example: AU600196166, DEGOE-35487, US087013165, SB45.

However, you are also allowed to use just the donor ID allocated by your registry.

Update from XSD 2.2

GRID

Yes for Donor

No for CBU

Global registration identifier of the donorString19

ONLY applicable for donors. GRID format allowed is: XXXXXXXXXXXXXXXXXXX. Only upper case letter and numbers are allowed. The first 4 characters include the ION were the donor is registered. The following 13 characters contain the donor specific ID and the last two characters are check characters that are calculated from the 17 previous characters.

Note: For the generation of the value of GRID, check the "checksum" calculation rule in GRID user guide and a WMDA "checksum" calculator example here.  

Field Identifier

Required

Description

Type

Length

Comment

ATTRNoDescribing attribute of the donor/CBU according to house rules of the sending organization.String3
BIRTH_DATEYesDate of birth of the donor/CBUbareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
SEXNoBiological gender of the donor/CBUsexType1

sexType: "F","M"

F = Female M = Male

NOTE: Mandatory for donors, optional for CBUs

ABONoBlood group (ABO) of the donor/CBUaboType2aboType: "A","B","O","AB"
RHESUSNoRhesus (Rh) factor of the donor/CBUrhesusType1

rhesusType: "P","N"

 

P = Positive
N = Negative

NOTE: "+" and "-" are not supported

ETHNNoEthnic group of the donor/CBUethnType4

ethnType: "AFNA","AFSS", "ASSW", "ASSO", "ASCE", "ASSE", "ASNE", "ASOC", "CAEU",
"CAER", "CANA", "CAAU", "HICA", "HISA", "AF", "AS", "CA", "HI", "MX", "OT","UK"

AFNA = African: North Africa
AFSS = African: Sub-Sahara Africa
ASSW = Asian: Southwest Asia (Middle East, Turkey)
ASSO = Asian: Southern Asia (India, Pakistan, Bangladesh, Sri Lanka, Bhutan, Nepal)
ASCE = Asian: Central Asia (Eastern Russia, Kazakhstan, Uzbekistan, Kyrgyzstan, Tajikistan)
ASSE = Asian: Southeast Asia (China, Mongolia, Burma, Laos, Cambodia, Thailand, Vietnam, Taiwan)
ASNE = Asian: North and Northeast Asia (Japan, North Korea, South Korea)
ASOC = Asian: Oceania (Pacific Islands, excluding Japan, Australia, Taiwan, Sakhalin, Aleutian Islands)
CAEU = Caucasian: Mainland Europe, Greenland, Iceland, Western Russia
CAER = Caucasian: Eastern Russia
CANA = Caucasian: North America (USA, Canada, Mexico)
CAAU = Caucasian: Australia (Australia, New Zealand)
HICA = Hispanic: Central America, Caribbean
HISA = Hispanic: South America
MX = Mixed / multiple
OT = Other (e.g. Australian Aborigine)
UK = Unknown

CCR5NoCCR5 status of the donor/CBUccr5Type2

ccr5Type: "DD","WW","DW"

DD = Deletion (delta 32) - homozygous
DW = Deletion (delta 32) / wildtype - heterozygous
WW = Wildtype - homozygous

HLAYesHLA of the donor/cbuhlaType
Explained separately at hlaType 2.3
KIRNoKIR genotype of the donor/CBUkirType
Explained separately at kirType 2.4
IDMNoInfectious disease markers (IDM) and other relevant tests of the donor/CBUidmType
Explained separately at idmType 2.5
RSV_PATNoUnique identifier of the patient the donor/CBU is reserved for (STATUS=RS).String17

The value comprises the EMDIS patient identification, where the patient search centre is an EMDIS member, otherwise the value is empty. For example: AU9654021, DE275342, US2277450.

NOTE: This field is not required for status "RS" and can be transmitted as empty if privacy concerns exist.

STATUSYesStatus of the donor/CBUstatusType2

statusType: "AV" ,"TU" ,"RS" , "DE" ( "DE" is not supported in "FULL" mode, and supported in "DIFF" mode)

AV = Available for transplantation purposes
TU = Temporarily unavailable
RS = Reserved
DE = Deleted, permanently unavailable

STAT_END_DATENoDate until which the current status will be applicablebareDateType10

Date without timezone information, example 1968-06-28, Date Delimiter = "-"

2.3 hlaType elements

HlaType fields can be divided in hlaSerFieldsType and hlaDnaFieldsType

hlaSerFieldsType: HLA values obtained by serological typing methods

hlaSerFieldsType = “<FIELD1>” string of max length 5 “</FIELD1>”, “<FIELD2>” string of max length 5 “</FIELD2>”;

Example: <SER><FIELD1>1</FIELD1><FIELD2>5</FIELD2></SER>

Serological typing results can be given for loci that are defined as hlaLocusSerDnaType. These loci include HLA-A, -B, -C, -DRB1, -DQB1.


hlaDnaFieldsType: HLA values obtained by DNA based typing methods

hlaDnaFieldsType = “<FIELD1>” string of max length 20 “</FIELD1>”, “<FIELD2>” string of max length 20 “</FIELD2>”;

Example: <DNA><FIELD1>01:01</FIELD1><FIELD2>05:01</FIELD2></DNA>

DNA typing results can be given for loci that are defined as hlaLocusSerDnaType and hlaLocusDnaOnlyType. These loci include HLA-A, -B, -C, -DRB1, -DQB1, -DRB3, -DRB4, -DRB5, -DQA1, -DPA1, -DPB1.

Finally, previously the dot20 file format allowed to submit values like 01 in DNA fields. We can no longer accept this and you have to submit the equivalent of 01, so '01:XX' .


hlaGlsFieldType: HLA GL String typing value or GL String like typing value.

hlaGlsFieldType = "<GLS>"string of max length 255"</GLS>"

Example: <GLS>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GLS>

DNA GL String like typing is now used for MICA and MICB.


Full HLA example:
Please notice the "..." should be filled with the HLA data like  in <A>, if no value, the HLA type should be excluded, or include without "...". 

<HLA>
  <A>
  <SER>
    <FIELD1>3</FIELD1>
    <FIELD2>30</FIELD2>
  </SER>
  <DNA>
    <FIELD1>02:01</FIELD1>
    <FIELD2>03:01</FIELD2>
  </DNA>
  </A>
  <B>...</B>
  <C>...</C>
  <DRB1>...</DRB1>
  <DRB3>...</DRB3>
  <DRB4>..</DRB4>
  <DRB5>...</DRB5>
  <DQA1>...</DQA1>
  <DQB1>...</DQB1>
  <DPA1></DPA1>
  <DPB1></DPB1>
</HLA>


Minimal required elements

Minimal typing values for Donor: A (either SER or DNA), B (either SER or DNA)

Minimal typing values for CBU: A (either SER or DNA), B (either SER or DNA), DRB1 (either SER or DNA)


Please note:

  • It is no longer possible to submit string HLA values; only single values are allowed.
  • When a donor or CBU has homozygous alleles/values, please use the following notation:

<HLA><A><SER><FIELD1>1</FIELD1><FIELD2 /></SER></A> 
or
<DQB1><DNA><FIELD1>05:02:01G</FIELD1><FIELD2 /></DNA></DQB1>

or 

<MICA><GLS>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GLS></MICA>



Field Identifier

Required

Description

Type

Length

Comment

SERdepends on content type and DNA fields providedHLA values obtained by serological typing methodshlaSerFieldsType5Each SER element contains two other elements: FIELD1 and FIELD2
DNAdepends on content type and SER fields providedHLA values obtained by DNA based typing methodshlaDnaFieldsType20Each DNA element contains two other elements: FIELD1 and FIELD2
FIELD1
HLA value of allele 1
5 or 20Element within the element SER and DNA
FIELD2
HLA value of allele 2
5 or 20Element within the element SER and DNA
GLS
HLA typing result provided as GL StringhlaGlsFieldType255GLS element contains the HLA typingresult in GL String
AYesHLA-A valueshlaLocusSerDnaType
Both SER and DNA possible; either SER or DNA values required
BYesHLA-B valueshlaLocusSerDnaType
Both SER and DNA possible; either SER or DNA values required
CNoHLA-C valueshlaLocusSerDnaType
Both SER and DNA possible
ENoHLA-E valueshlaLocusDnaOnlyType20Only DNA possible
DRB1Yes (CBU) No (Donor)HLA-DRB1 valueshlaLocusSerDnaType5 or 20Both SER and DNA possible; either SER or DNA values required for CBU
DRB3NoHLA-DRB3 valueshlaLocusDnaOnlyType20Only DNA possible
DRB4NoHLA-DRB4 valueshlaLocusDnaOnlyType20Only DNA possible
DRB5NoHLA-DRB5 valueshlaLocusDnaOnlyType20Only DNA possible
DQA1NoHLA-DQA1 valueshlaLocusDnaOnlyType20Only DNA possible
DQB1NoHLA-DQB1 valueshlaLocusSerDnaType5 or 20Both SER and DNA possible
DPA1NoHLA-DPA1 valueshlaLocusDnaOnlyType20Only DNA possible
DPB1NoHLA-DPB1 valueshlaLocusDnaOnlyType20Only DNA possible
MICANoMHC class I polypeptide-related sequence AhlaLocusGlsOnlyType255GL String like value, example: 
008:01:01/008:01:02/008:03/008:04+018:01/018:02
MICBNoMHC class I polypeptide-related sequence BhlaLocusGlsOnlyType255GL String like value


2.4 kirType elements

The kirType Field Definitions consists of the type: kirLocusType. This is defined as a String with 3 characters: "POS" or "NEG". "POS" means "Presence of KIR gene", "NEG" means "Absence of KIR gene".

The following elements are possible and in this specific order:

<KIR2DL1>,<KIR2DL2>,<KIR2DL3>,<KIR2DL4>,<KIR2DL5A>,<KIR2DL5B>,<KIR2DS1>,<KIR2DS2>,<KIR2DS3>,<KIR2DS4>,<KIR2DS5>,<KIR2DP1>,<KIR3DL1>,<KIR3DL2>,<KIR3DL3>,<KIR3DS1>,<KIR3DP1>.

Field Identifier

Required

Description

Type

Length

Comment

KIR_GLNoURI that refers to a GL String registered with a GL service or direct GL String for absence / presencestring      255This field is not used at the moment and must be empty.

Field Identifier

Required

Description

Type

Length

Comment

KIR gene e.g. KIR2DL1NoKIR genotype e.g. KIR gene 2DL1kirLocusType3valid values: "POS" = presence of KIR gene; "NEG" = absence of KIR gene
KIR_GL_URINoURI that refers to a GL String registered with a GL service or direct GL String for absence / presencestring       255This field is updated and supported from XSD 2.3


2.5 idmType elements

There are many infectious disease markers (IDM) possible in the element IDM. Many IDM elements can have either the values idmValueType or idmValueExtType

idmValueType includes the following values: "P","N"

idemValueExtType include the following values: “P”,“G”,“M”,“B”,“H”,“O”,“N”

Only when there is old version fields name, then will be in a separated collapse box:

Field Identifier

Required

Description

Type

Length

Comment

CMVNoCytomegalovirus statusidmValueExtType1

idmValueExtType: “P”,“G”,“M”,“B”,“H”,“O”,“N”

P = IgG or IgM positive, test did not differentiate
G = IgG positive, IgM negative
M = IgG negative, IgM positive
B = Both IgG and IgM positive
H = IgG positive, IgM not tested
O = IgG negative, IgM not tested
N = Both IgG and IgM negative

EMDIS data dictionary also has a ‘Q’ (questionable / unclear) but that will not be applicable within the data submission file.

CMV_DATENoDate of CMV testbareDateTyp10Date without timezone information, example 1968-06-28, Date Delimiter = "-"

Field Identifier

Required

Description

Type

Length

Comment

ANTI_CMVNo

Antibody to Cytomegalovirus status

idmValueExtType1

idmValueExtType: “P”,“G”,“M”,“B”,“H”,“O”,“N”

P = IgG or IgM positive, test did not differentiate
G = IgG positive, IgM negative
M = IgG negative, IgM positive
B = Both IgG and IgM positive
H = IgG positive, IgM not tested
O = IgG negative, IgM not tested
N = Both IgG and IgM negative

EMDIS data dictionary also has a ‘Q’ (questionable / unclear) but that will not be applicable within the data submission file.

CMV_NATNoCytomegalovirus nucleic acid testing (NAT) statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_CMV_DATENoDate of CMV testbareDateTyp10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
CMV_NAT_DATENoDate of CMV NAT testbareDateTyp10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
HBS_AGNoHepatitis B status (hepatitis B surface antigen)idmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_HBCNoHepatitis B status (antibody to hepatitis B core antigen)idmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_HBSNoHepatitis B status (antibody to hepatitis B surface antigen)idmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_HCVNoHepatitis C status (antibody to hepatitis C virus)idmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_HIV_12NoAntibody to Human immunodeficiency virus (HIV) 1/2 statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

HIV_1_NATNoHuman immunodeficiency virus (HIV)-1 nucleic acid testing (NAT) statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

HIV_P24NoHuman immunodeficiency virus (HIV) p24 statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

HCV_NATNoHepatitis C nucleic acid testing (NAT) statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ANTI_HTLVNoAntibody to human T-cell lymphotropic virus (HTLV) I/II statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

SYPHILISNoSyphilis statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

WNVNoWest Nile Virus statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

CHAGASNoChagas statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

EBVNoEpstein Barr Virus statusidmValueExtType1

idmValueExtType: “P”,“G”,“M”,“B”,“H”,“O”,“N”

P = IgG or IgM positive, test did not differentiate
G = IgG positive, IgM negative
M = IgG negative, IgM positive
B = Both IgG and IgM positive
H = IgG positive, IgM not tested
O = IgG negative, IgM not tested
N = Both IgG and IgM negative

EMDIS data dictionary also has a ‘Q’ (questionable / unclear) but that will not be applicable within the data submission file. Please leave blank for Q.

TOXONoToxoplasmosis statusidmValueExtType1

idmValueExtType: “P”,“G”,“M”,“B”,“H”,“O”,“N”

P = IgG or IgM positive, test did not differentiate
G = IgG positive, IgM negative
M = IgG negative, IgM positive
B = Both IgG and IgM positive
H = IgG positive, IgM not tested
O = IgG negative, IgM not tested
N = Both IgG and IgM negative

EMDIS data dictionary also has a ‘Q’ (questionable / unclear) but that will not be applicable within the data submission file. Please leave blank for Q.

HBV_NATNoHepatitis B virus (HBV) nucleic acid testing (NAT) statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

PB19_NATNoParvoB19 nucleic acid testing (NAT) statusidmValueType1

idmValueType: "P","N"

P = Positive N = Negative

ALTNoAlanine aminotransferase status in units per litreShort

Number, no decimals, minimal value is 1


2.6 donItemType elements

DonItemType elements contain elements that are specific for donors and not applicable for CBUs.

Field Identifier

Required

Description

Type

Length

Comment

ID

No

Unique identifier of the donorString25

Same field name used for unique identifier of the donor/CBU:

If you are an EMDIS member, you can use the same ID as you use for that system (EMDIS hub code + donor identification allocated by the associated donor registry).

For non-EMDIS members we recommend to use two digit ISO country code of the associated donor registry + donor identification allocated by the associated donor registry. For example: AU600196166, DEGOE-35487, US087013165, SB45.

However, you are also allowed to use just the donor ID allocated by your registry.

GRIDYesGlobal registration identifier of the donorString19

ONLY applicable for donors. GRID format allowed is: XXXXXXXXXXXXXXXXXXX. Only upper case letter and numbers are allowed. The first 4 characters include the ION were the donor is registered. The following 13 characters contain the donor specific ID and the last two characters are check characters that are calculated from the 17 previous characters.

Note: For the generation of the value of GRID, check the "checksum" calculation rule in GRID user guide and a WMDA "checksum" calculator example here. More detail you can check the GRID project page here.  

STAT_REASONNoAdditional information relevant to the donor status. Can only be used for "TU" status. statReasonDonType2

statReasonDonType: "DO", "DD","MR", "PR","TX", "MO", "UC", "OT", "TQ", "UK"

DO = Donor is too old
DD = Donor died
MR = Medical reasons
PR = Personal reasons
TX = After transplantation
MO = Donor has moved
UC = Unable to contact donor
OT = Other reasons
TQ = Typing questionable
UK = Unknown

CONTACT_DATENoDate of last confirmed contact - defined as the date of an active form of communication (e.g. a query about status, an address update, confirmation of their interest in donating) via any channel (e.g. email, mail, phone, website), post registration, from a donor to the registry. Any communication from the registry to the donor that does not lead to an activity of the donor suggesting his further interest in donation is explicitly excluded (e.g. annual mailing without reaction).bareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
CHECKUP_DATENoDate of the last medical checkup - defined as the date of a donor health assessment that indicates whether a donor is minimally suitable to be considered for donation, regardless if eligible for only one donation type, and includes questions about current medication and health issues (e.g. completion of a health screening questionnaire at Extended Typing or Verification Typing).  The donor health assessment can be completed by any means (e.g. paper-based, online, phone). This does not require any physical examination of a donor.bareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
WEIGHTNo

Weight in kg
Please note that current validation only allows [40-199] kg

Short
Number between 1 and 999, no decimals
HEIGHTNoHeight in cm
Please note that current validation only allows [100-250] cm
Short
Number between 1 and 999, no decimals
NMBR_TRANSNoNumber of blood transfusionsShort
Number: zero or greater, no decimals
NMBR_PREGNoNumber of pregnanciesShort
Number: zero or greater, no decimals
NMBR_MARRNoNumber of marrow donationsShort
Number: zero or greater, no decimals
NMBR_PBSCNoNumber of PBSC donationsShort
Number: zero or greater, no decimals
COLL_TYPENoCollection type, i.e. the willingness of the donor to donate in a specific mannerString1

collTypeType: "M", "P","B"

M = Marrow
P = PBSC
B = Both PBSC & Marrow


2.7 cbuItemType elements

CbuItemType elements contain elements that are specific for CBUs and not applicable for donors.

Field Identifier

Required

Description

Type

Length

Comment

ID

Yes

Unique identifier of the CBUString25

Same field name used for unique identifier of the donor/CBU::

If you are an EMDIS member, you can use the same ID as you use for that system (EMDIS hub code + donor identification allocated by the associated donor registry).

For non-EMDIS members we recommend to use two digit ISO country code of the associated donor registry + donor identification allocated by the associated donor registry. For example: AU600196166, DEGOE-35487, US087013165, SB45.

However, you are also allowed to use just the donor ID allocated by your registry.

STAT_REASONNoAdditional information relevant to the CBU status. Can only be used for "TU" status. statReasonCbuType 2

statReasonCbuType: "QR","AD","CD","DS","XP","MR","OT","UK"

Proposed reasons for Status TU:
QR = Quarantined;
AD = Administrative


Proposed reasons for Status DE:
CD = Cord Destroyed or Damaged;
DS = Distributed for infusion;
XP = Expired
CD = Cord Destroyed or Damaged;
MR = Medical reasons
OT = Unavailable for other reasons;
UK = Unknown

LOCAL_IDNoIdentification of CBU locally at the associated CBBString17
BAG_IDNoIdentification as it appears on the bag. If more than one bag is available then this data attribute is not populatedString17
BANK_MANUF_IDNo

Unique identifier of the CBB that manufactured the CBU. ID shown in table in tab Cord blood bank IDs


String10

PLEASE NOTE: For the upload the fields BANK_MANUF_ID and BANK_DISTRIB_ID should be fulfilled with a new ID in WMDA attribute for the corresponding cord blood banks (See column "WO number at share.wmda.info/display/WMDAREG/Database ) and EMDIS IDs can be filled in the EMDIS attribute. 

These IDs in WMDA attribute are important to allow WMDA to identify if the CBU is from an accredited bank which will be displayed within a search report. The supported accreditation are FACT, AABB, WMDA C/D accreditation.

Example of the valid XML format:

<BANK_MANUF_ID WMDA="3847" EMDIS="EN-38" />
<BANK_MANUF_ID EMDIS="EN-38" />
<BANK_MANUF_ID WMDA="3847" />
<BANK_MANUF_ID WMDA="3847" EMDIS="EN-38"></BANK_MANUF_ID>
<BANK_MANUF_ID></BANK_MANUF_ID>
<BANK_MANUF_ID />

Last update in XSD 2.2


BANK_DISTRIB_IDNoUnique identifier of the CBB distributing the CBU. ID shown in table in tab Cord blood bank IDsString10

PLEASE NOTE: For the upload the fields BANK_MANUF_ID and BANK_DISTRIB_ID should be fulfilled with a new ID in WMDA attribute for the corresponding cord blood banks (See column "WO number at share.wmda.info/display/WMDAREG/Database ) and EMDIS IDs can be filled in the EMDIS attribute. 

These IDs in WMDA attribute are important to allow WMDA to identify if the CBU is from an accredited bank which will be displayed within a search report. The supported accreditation are FACT, AABB, WMDA C/D accreditation.

Example of the valid XML format:

<BANK_DISTRIB_ID WMDA="3847" EMDIS="EN-38" />
<BANK_DISTRIB_ID EMDIS="EN-38" />
<BANK_DISTRIB_ID WMDA="3847" />
<BANK_DISTRIB_ID WMDA="3847" EMDIS="EN-38"></BANK_DISTRIB_ID>
<BANK_DISTRIB_ID></BANK_DISTRIB_ID>
<BANK_DISTRIB_ID />
Last update in XSD 2.2


COLL_DATENoDate that the CBU was collectedbareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
PROC_DATENoDate that the processing startedbareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
PROC_METHNoProcessing method usedprocMethType3

procMethType: "HES","DGS","CEN","FIL","FIC","PER","OTH"

HES = Hydroxy-Ethyl-Starch
DGS = Density Gradient Separation
CEN = Centrifuge
FIL = Filtration
FIC = FICOL
PER = PERCOL
OTH = Other

NOTE: Values "NOT" and "UNK" are not supported

"NOT" can now be found in CB_PROD_MOD = "NOT",  "UNK" has to be transmitted as empty (CB_PROD_MOD = "")

PROC_METH_TYPENoProcessing method type usedprocMethTypeType3

procMethTypeType: "MAN","SPX","OTP","AXP","OTH"

MAN = Manual
SPX = Sepax
OTP = Optipress II
AXP = AXP
OTH = Other

FREEZE_DATENoDate that the CBU was frozenbareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
FREEZE_METHNoFreezing method usedfreezeMethType1

freezeMethType: "C","M"

C = Controlled Rate
M = Manual

PROD_MODNoProduct modifications madeprodModType3

prodModType: "BCE","DNE","PLR","PRR","RBR","NOT","OTH"

BCE = Buffy Coat Enriched
DNE = Density Enriched
PLR = Plasma Reduced (Volume reduction only)
PRR = Plasma and RBC Reduced
RBR = RBC Reduced (depletion)
NOT = Not reduced
OTH = Other

BAG_TYPENoType of bag used (bag fractions / split unit)bbagTypeType5bagTypeType: "80/20","50/50","40/60","NS" (no split)
BAGSNoNumber of bags for CBU sub unitsShort
Number between 1 and 99, no decimals
BACT_CULTNoBacterial culturecultValueType1

cultValueType: "P","N","D"

P = Positive N = Negative D = Not done

FUNG_CULTNoFungal culturecultValueType1

cultValueType: "P","N","D"

P = Positive N = Negative D = Not done

HEMO_STATUSNoHemoglobinopathy screening statushemoStatusType2

hemoStatusType: "DN","DU","NS","CD","NC","DT","DD"

DN = Screening done, normal results
DU = Screening done, unusual findings
NS = No screening done
CD = Can be done at time of release
NC = Cannot be done
DT = Thalassemia
DD = Drepanocytosis

VOLNoCollected volume before processing (without additives) in mlShort
Number between 10 and 400, no decimals
VOL_FRZNNoTotal volume frozen (post processing, prior to cryopreservation) in mlShort
Number between 10 and 400, no decimals
TNCNoTotal number of nucleated cells (before processing)Float
Number with decimals, minimum is 0.0E0, maximum is 999.9E7
TNC_FRZNNoTotal number of nucleated cells (post processing, prior to cryopreservation)Float
Number with decimals, minimum is 0.0E0, maximum is 999.9E7
RED_BC_FRZNNoTotal number of nucleated red blood cells (post processing, prior to cryopreservation)Float
Number with decimals: minimum is 0.0E0, maximum is 999.9E7
MNC_FRZNNoTotal Number of mononucleated cells (post processing, prior to cryopreservation)Float
Number with decimals
CD34PCNoTotal number of CD34+ cells (before processing)Float
Number with decimals
CD34PC_FRZNNoTotal number of CD34+ cells (post processing, prior to cryopreservation)Float
Number with decimals
CFU_FRZNNoTotal count of colony forming units (post processing, prior to cryopreservation)Float
Number with decimals, nunimum is 0.1E5, maxnum is 999.9E5
VIABILITYNoViability as percentage valueShort
Number between 0 and 100, no decimals
VIABILITY_DATENoDate that viability was testedbareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
VIABILITY_CELLSNoType of cells tested for viabilityviabilityCellsType6

viabilityCellsType: "TNC","CD34PC","CD45PC"

NOTE:

VIABILITY_CELLS = "CD34PC" corresponds to CB_VIABILITY_CELLS = "CD34" in EMDIScord.

VIABILITY_CELLS = "CD45PC" corresponds to CB_VIABILITY_CELLS = "CD45" in EMDIScord.

VIABILITY_METHODNoMethod used to calculate the viabilityviabilityMethodType2

viabilityMethodType: "7A","PI","TB","OT"

7A = 7AAD
PI = Propidium Iodide
TB = Trypan Blue
OT = Other

ATT_SEGNoNumber of attached segments availableShort
Number between 0 and 99, no decimals
DNA_SMPLNoDNA samples available?Boolean
true,false
OTH_SMPLNoSamples other than DNA available?Boolean
true,false
CT_COMPLETE_DATENoDate of completion of confirmatory typing (CT)bareDateType10Date without timezone information, example 1968-06-28, Date Delimiter = "-"
CT_SMPL_TYPENoConfirmatory typing (CT) sample typectSmplTypeType2

ctSmplTypeType: "AS","WB","RC","FP","ED"

AS = CBU Contiguous Attached Segment
WB = Whole Blood Sample
RC = Red Cell Fraction (pellet)
FP = Blood Spotted Filter Paper
ED = Extracted DNA

AL_RED_BCNoNumber of red cell fraction aliquotsShort

Number between 0 and 99, no decimals

AL_SERNoNumber of serum aliquots availableShort
Number between 0 and 99, no decimals
SER_QUANTNoTotal quantity of serum available in mlFloat
Number between 0.0 and 99.9, one decimal
AL_PLANoNumber of plasma aliquots availableShort
Number between 0 and 99, no decimals
PLA_QUANTNoTotal quantity of plasma available in mlFloat
Number between 0.0 and 99.9, one decimal
MATNoData of the mother of the infant associated with the CBUmatType

see further on this webpage matType


2.8 matType elements

The matType elements are a sub-element from the element CBU.

Field Identifier

Required

Description

Type

Length

Comment

IDNoIdentification used to identify the maternal donor as assigned by the registryString15
ID_BANKNoIdentification used by associated CBU manufacturer to identify maternal detailString15
HLANoHLA of the mother of the infant associated with the CBUhlaType
see above in section 2.3 hlaType
IDMNoInfectious disease markers (IDM) and other relevant tests of the mother of the CBUidmType
see above in section 2.5 idmType
AL_SERNoNumber of serum aliquots availableshort
Number between 0 and 99, no decimals
SER_QUANTNoTotal quantity of serum available in mlFloat
Number between 0.0 and 99.9, one decimal
AL_PLANoNumber of plasma aliquots availableShort
Number between 0 and 99, no decimals
PLA_QUANTNoTotal quantity of plasma available in mlFloat
Number between 0.0 and 99.9, one decimal

#

Minimal required data


Organisations providing donor or CBU data, should at least include the following elements with valid values. Without this data, the records will be rejected during the validation procedure.

Note: For the generation of the value of GRID, check the "checksum" calculation rule in GRID user guide and a WMDA "checksum" calculator example here. More detail you can check the GRID project page here.  



A DONOR record should include:

  • GRID
  • BIRTH_DATE
  • SEX
  • HLA (including at least HLA-A (SER or DNA) and HLA-B (SER or DNA))
  • STATUS


A CBU record should include:

  • ID
  • BIRTH_DATE
  • HLA (including at least HLA-A (SER or DNA), HLA-B (SER or DNA) and HLA-DRB1 (SER or DNA))
  • STATUS

#

XML example files


We already provided you the XSD files, but these files do not show directly how an XML file with those definitions will look like. Therefore we created some example files: one for donors and one for CBUs.

The XSD schema can be download here: 

XML schema files version 2.2 

XML schema files version 2.3

Both files contain only 2 records, but in those two records almost all possible elements contain a value. It can help you to check the order of the elements in your own XML file. Please be aware that values like GRID are fictive and do not follow the rules for the check character. 

We suggestion you to always implement the latest version.

Important to know for XML structure:

Currently, the error handling can not handle the data structure as below if there is no records included for both FULL/DIFF upload mode.

<?xml version='1.0' encoding='UTF-8'?>
<INVENTORIES CREATION_TIME="2022-07-01T08:54:00Z">
	<INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="D" UPDATE_MODE="FULL" SNAPSHOT_TIME="2021-11-22T08:54:00Z" SCHEMA_VERSION="2.2"/>
</INVENTORIES>

If the upload is for DIFF and there is indeed no record, the format should be as below:

<?xml version='1.0' encoding='UTF-8'?>
<INVENTORIES CREATION_TIME="2022-07-01T08:54:00Z">
</INVENTORIES>

XSD 2.3 examples: (Expire in 2024, Q4)

Example donor file: ION-1234-D-XSD23.xml

<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2020-09-05T21:00:03Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="D" UPDATE_MODE="FULL" SNAPSHOT_TIME="2020-09-05T22:00:08Z" SCHEMA_VERSION="2.3">
  <DONOR>
   <BIRTH_DATE>1962-02-10</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DW</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>11</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:CSAH</FIELD1>
      <FIELD2>11:MP</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>39</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:KBY</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:HBA</FIELD1>
      <FIELD2>12:CF</FIELD2>
     </DNA>
    </C>
	<E>
	  <DNA>
		<FIELD1>04:01</FIELD1>
		<FIELD2>07:02</FIELD2>
	  </DNA>
	</E>
    <DRB1>
    <SER>
      <FIELD1>12</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>12:GS</FIELD1>
      <FIELD2>15:CCZ</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>04:01</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
	<MICA>
        <GLS>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GLS>
    </MICA>
	<MICB>
        <GLS>003/005:02:01/005:02:02/005:02:03/005:02:04/005:08/006/010+003/005:02:01/005:02:02/005:02:03/005:02:04/005:08/006/010</GLS>
    </MICB>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
	<KIR_GLS_URI>https://gl.nmdp.org/nonstrict/multilocus-unphased-genotype/4p</KIR_GLS_URI>
   </KIR>
   <IDM>
	<ANTI_CMV>H</ANTI_CMV>
	<ANTI_CMV_DATE>2016-06-24</ANTI_CMV_DATE>
	<CMV_NAT>P</CMV_NAT>
	<CMV_NAT_DATE>2016-06-24</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <RSV_PAT>ABCD1234567</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2022-10-20</STAT_END_DATE>
   <ID>WMDA001</ID>
   <GRID>1234000000WMDA00121</GRID>
   <STAT_REASON>TX</STAT_REASON>
   <CONTACT_DATE>2016-12-15</CONTACT_DATE>
   <WEIGHT>65</WEIGHT>
   <HEIGHT>175</HEIGHT>
   <NMBR_TRANS>1</NMBR_TRANS>
   <NMBR_PREG>1</NMBR_PREG>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>0</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
  <DONOR>
   <BIRTH_DATE>1960-04-22</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>24</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:VJKM</FIELD1>
      <FIELD2>24:EJPF</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>44</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:BCAU</FIELD1>
      <FIELD2>44:BCXE</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:ATGS</FIELD1>
      <FIELD2>16:01</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:DWH</FIELD1>
      <FIELD2>15:BMEG</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2></FIELD2>
     </DNA>
     </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>02:02</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
   </HLA>
   <KIR>
   </KIR>
   <IDM>
	<ANTI_CMV>O</ANTI_CMV>
	<ANTI_CMV_DATE>2015-10-20</ANTI_CMV_DATE>
	<CMV_NAT>N</CMV_NAT>
	<CMV_NAT_DATE>2015-10-20</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <GRID>1234000000WMDA00219</GRID>
   <CONTACT_DATE>2015-10-20</CONTACT_DATE>
   <CHECKUP_DATE>2015-10-20</CHECKUP_DATE>
   <WEIGHT>86</WEIGHT>
   <HEIGHT>187</HEIGHT>
   <NMBR_TRANS>0</NMBR_TRANS>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>1</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
 </INVENTORY>
</INVENTORIES>

Example CBU file: ION-1234-C-XSD23.xml

<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2020-09-05T21:00:04Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="C" UPDATE_MODE="FULL" SNAPSHOT_TIME="2020-09-05T22:00:05Z" SCHEMA_VERSION="2.3">
  <CBU>
   <BIRTH_DATE>2009-09-02</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>AF</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>3</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>03:XX</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>55</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>55:XX</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
	<E>
	  <DNA>
		<FIELD1>04:01</FIELD1>
		<FIELD2>07:02</FIELD2>
	  </DNA>
	</E>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
	<MICA>
        <GLS>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GLS>
    </MICA>
	<MICB>
        <GLS>003/005:02:01/005:02:02/005:02:03/005:02:04/005:08/006/010+003/005:02:01/005:02:02/005:02:03/005:02:04/005:08/006/010</GLS>
    </MICB>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>NEG</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>POS</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
	<KIR_GLS_URI>https://gl.nmdp.org/nonstrict/multilocus-unphased-genotype/4p</KIR_GLS_URI>
   </KIR>
   <IDM>
    <ANTI_CMV>N</ANTI_CMV>
    <ANTI_CMV_DATE>2009-09-04</ANTI_CMV_DATE>
    <CMV_NAT>N</CMV_NAT>
    <CMV_NAT_DATE>2009-09-04</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <ID>WMDA0CBU001</ID>
   <LOCAL_ID>CBB000001</LOCAL_ID>
   <BAG_ID>BAG00BMDW001</BAG_ID>
   <BANK_MANUF_ID WMDA="6789" EMDIS="EN-38"></BANK_MANUF_ID>
   <BANK_DISTRIB_ID WMDA="6789" EMDIS="EN-38"></BANK_DISTRIB_ID>
   <COLL_DATE>2009-09-02</COLL_DATE>
   <PROC_DATE>2009-09-02</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2009-09-02</FREEZE_DATE>
   <FREEZE_METH>C</FREEZE_METH>
   <PROD_MOD>PRR</PROD_MOD>
   <BAG_TYPE>80/20</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>100</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>1.20E9</TNC>
   <TNC_FRZN>9.90E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E7</RED_BC_FRZN>
   <MNC_FRZN>552999973</MNC_FRZN>
   <CD34PC>1.50E6</CD34PC>
   <CD34PC_FRZN>1.10E6</CD34PC_FRZN>
   <CFU_FRZN>1.23E6</CFU_FRZN>
   <VIABILITY>98</VIABILITY>
   <VIABILITY_DATE>2009-09-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>2</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2016-09-22</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>123456789</ID>
    <ID_BANK>CBB01</ID_BANK>
    <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>68</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>68:XX</FIELD2>
     </DNA>
    </A>
    <B>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:XX</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>12:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
	<E>
	  <DNA>
		<FIELD1>04:01</FIELD1>
		<FIELD2>07:02</FIELD2>
	  </DNA>
	</E>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:03</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
	<MICA>
        <GLS>009:01/049+017</GLS>
    </MICA>
	<MICB>
        <GLS>002:01:01/002:01:02+003/005:02:01/005:02:02/005:02:03/005:02:04/005:08/006/010|018+019</GLS>
    </MICB>
    </HLA>
    <IDM>
     <ANTI_CMV>O</ANTI_CMV>
     <ANTI_CMV_DATE>2009-09-04</ANTI_CMV_DATE>
     <CMV_NAT>N</CMV_NAT>
     <CMV_NAT_DATE>2009-09-04</CMV_NAT_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>G</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>2</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  <CBU>
   <BIRTH_DATE>2010-07-01</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>UK</ETHN>
   <CCR5>WW</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>30</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>30:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>62</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>15:01</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>13</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>5</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>04:01</FIELD2>
     </DNA></DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
    <ANTI_CMV>H</ANTI_CMV>
    <ANTI_CMV_DATE>2010-07-04</ANTI_CMV_DATE>
    <CMV_NAT>P</CMV_NAT>
    <CMV_NAT_DATE>2010-07-04</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <RSV_PAT>HHH0123</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2017-09-05</STAT_END_DATE>
   <STAT_REASON>OT</STAT_REASON>
   <ID>WMDA0CBU002</ID>
   <LOCAL_ID>BMDW0CBU002</LOCAL_ID>
   <BAG_ID>BAG00MDW02</BAG_ID>
   <BANK_MANUF_ID WMDA="4567" EMDIS="EN-38"></BANK_MANUF_ID>
   <BANK_DISTRIB_ID WMDA="4567" EMDIS="EN-38"></BANK_DISTRIB_ID>
   <COLL_DATE>2010-07-01</COLL_DATE>
   <PROC_DATE>2010-07-01</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2010-07-01</FREEZE_DATE>
   <FREEZE_METH>M</FREEZE_METH>
   <PROD_MOD>PLR</PROD_MOD>
   <BAG_TYPE>50/50</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>49</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>5.71E8</TNC>
   <TNC_FRZN>4.33E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E6</RED_BC_FRZN>
   <MNC_FRZN>340999990</MNC_FRZN>
   <CD34PC>2.0E6</CD34PC>
   <CD34PC_FRZN>1.70E6</CD34PC_FRZN>
   <CFU_FRZN>1.65E6</CFU_FRZN>
   <VIABILITY>97</VIABILITY>
   <VIABILITY_DATE>2010-07-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>3</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2012-09-02</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>113456789-</ID>
    <ID_BANK>CBB001</ID_BANK>
    <HLA>
    <A>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>01:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>07:02</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>07:02</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1></DPB1>
    </HLA>
    <IDM>
     <ANTI_CMV>P</ANTI_CMV>
     <ANTI_CMV_DATE>2010-07-04</ANTI_CMV_DATE>
     <CMV_NAT>N</CMV_NAT>
     <CMV_NAT_DATE>2010-07-04</CMV_NAT_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>N</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>1</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  </INVENTORY>
</INVENTORIES>  


XSD 2.2 examples: (Expire in 2023, Q4)

Example donor file: ION-1234-D-XSD22.xml

<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2017-07-05T21:00:03Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="D" UPDATE_MODE="FULL" SNAPSHOT_TIME="2017-07-05T22:00:08Z" SCHEMA_VERSION="2.2">
  <DONOR>
   <ID>BMDW001</ID>
   <GRID>1234000000BMDW00101</GRID>
   <BIRTH_DATE>1962-02-10</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DW</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>11</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:CSAH</FIELD1>
      <FIELD2>11:MP</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>39</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:KBY</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:HBA</FIELD1>
      <FIELD2>12:CF</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>12</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>12:GS</FIELD1>
      <FIELD2>15:CCZ</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>04:01</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
	<ANTI_CMV>H</ANTI_CMV>
	<ANTI_CMV_DATE>2016-06-24</ANTI_CMV_DATE>
	<CMV_NAT>P</CMV_NAT>
	<CMV_NAT_DATE>2016-06-24</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <CONTACT_DATE>2016-12-15</CONTACT_DATE>
   <WEIGHT>65</WEIGHT>
   <HEIGHT>175</HEIGHT>
   <NMBR_TRANS>1</NMBR_TRANS>
   <NMBR_PREG>1</NMBR_PREG>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>0</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
  <DONOR>
   <ID>BMDW002</ID>
   <GRID>1234000000BMDW00202</GRID>
   <BIRTH_DATE>1960-04-22</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>24</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:VJKM</FIELD1>
      <FIELD2>24:EJPF</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>44</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:BCAU</FIELD1>
      <FIELD2>44:BCXE</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:ATGS</FIELD1>
      <FIELD2>16:01</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:DWH</FIELD1>
      <FIELD2>15:BMEG</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2></FIELD2>
     </DNA>
     </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>02:02</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
   </HLA>
   <KIR>
   </KIR>
   <IDM>
	<ANTI_CMV>O</ANTI_CMV>
	<ANTI_CMV_DATE>2015-10-20</ANTI_CMV_DATE>
	<CMV_NAT>N</CMV_NAT>
	<CMV_NAT_DATE>2015-10-20</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <RSV_PAT>ABCD1234567</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2021-10-20</STAT_END_DATE>
   <STAT_REASON>TX</STAT_REASON>
   <CONTACT_DATE>2015-10-20</CONTACT_DATE>
   <CHECKUP_DATE>2015-10-20</CHECKUP_DATE>
   <WEIGHT>86</WEIGHT>
   <HEIGHT>187</HEIGHT>
   <NMBR_TRANS>0</NMBR_TRANS>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>1</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
 </INVENTORY>
</INVENTORIES>

Example CBU file: ION-1234-C-XSD22.xml

<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2017-07-05T21:00:04Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="C" UPDATE_MODE="FULL" SNAPSHOT_TIME="2017-07-05T22:00:05Z" SCHEMA_VERSION="2.2">
  <CBU>
   <ID>BMDW0CBU001</ID>
   <BIRTH_DATE>2009-09-02</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>AF</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>3</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>03:XX</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>55</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>55:XX</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>NEG</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>POS</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
	<ANTI_CMV>N</ANTI_CMV>
    <ANTI_CMV_DATE>2009-09-04</ANTI_CMV_DATE>
    <CMV_NAT>N</CMV_NAT>
    <CMV_NAT_DATE>2009-09-04</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <LOCAL_ID>BMDW0CBU001</LOCAL_ID>
   <BAG_ID>BAG00BMDW001</BAG_ID>
   <BANK_MANUF_ID WMDA="6789" EMDIS="EN-38"></BANK_MANUF_ID>
   <BANK_DISTRIB_ID WMDA="6789" EMDIS="EN-38"></BANK_DISTRIB_ID>
   <COLL_DATE>2009-09-02</COLL_DATE>
   <PROC_DATE>2009-09-02</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2009-09-02</FREEZE_DATE>
   <FREEZE_METH>C</FREEZE_METH>
   <PROD_MOD>PRR</PROD_MOD>
   <BAG_TYPE>80/20</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>100</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>1.20E9</TNC>
   <TNC_FRZN>9.90E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E7</RED_BC_FRZN>
   <MNC_FRZN>552999973</MNC_FRZN>
   <CD34PC>1.50E6</CD34PC>
   <CD34PC_FRZN>1.10E6</CD34PC_FRZN>
   <CFU_FRZN>1.23E6</CFU_FRZN>
   <VIABILITY>98</VIABILITY>
   <VIABILITY_DATE>2009-09-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>2</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2016-09-22</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>123456789</ID>
    <ID_BANK>CBB01</ID_BANK>
    <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>68</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>68:XX</FIELD2>
     </DNA>
    </A>
    <B>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:XX</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>12:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:03</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
    </HLA>
    <IDM>
     <ANTI_CMV>O</ANTI_CMV>
     <ANTI_CMV_DATE>2009-09-04</ANTI_CMV_DATE>
     <CMV_NAT>N</CMV_NAT>
     <CMV_NAT_DATE>2009-09-04</CMV_NAT_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>G</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>2</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  <CBU>
   <ID>BMDW0CBU002</ID>
   <BIRTH_DATE>2010-07-01</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>UK</ETHN>
   <CCR5>WW</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>30</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>30:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>62</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>15:01</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>13</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>5</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>04:01</FIELD2>
     </DNA></DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
    <ANTI_CMV>H</ANTI_CMV>
	<ANTI_CMV_DATE>2010-07-04</ANTI_CMV_DATE>
	<CMV_NAT>P</CMV_NAT>
	<CMV_NAT_DATE>2010-07-04</CMV_NAT_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <RSV_PAT>HHH0123</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2017-09-05</STAT_END_DATE>
   <STAT_REASON>OT</STAT_REASON>
   <LOCAL_ID>BMDW0CBU002</LOCAL_ID>
   <BAG_ID>BAG00MDW02</BAG_ID>
   <BANK_MANUF_ID WMDA="4567" EMDIS="EN-38"></BANK_MANUF_ID>
   <BANK_DISTRIB_ID WMDA="4567" EMDIS="EN-38"></BANK_DISTRIB_ID>
   <COLL_DATE>2010-07-01</COLL_DATE>
   <PROC_DATE>2010-07-01</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2010-07-01</FREEZE_DATE>
   <FREEZE_METH>M</FREEZE_METH>
   <PROD_MOD>PLR</PROD_MOD>
   <BAG_TYPE>50/50</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>49</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>5.71E8</TNC>
   <TNC_FRZN>4.33E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E6</RED_BC_FRZN>
   <MNC_FRZN>340999990</MNC_FRZN>
   <CD34PC>2.0E6</CD34PC>
   <CD34PC_FRZN>1.70E6</CD34PC_FRZN>
   <CFU_FRZN>1.65E6</CFU_FRZN>
   <VIABILITY>97</VIABILITY>
   <VIABILITY_DATE>2010-07-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>3</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2012-09-02</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>113456789-</ID>
    <ID_BANK>CBB001</ID_BANK>
    <HLA>
    <A>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>01:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>07:02</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>07:02</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1></DPB1>
    </HLA>
    <IDM>
     <ANTI_CMV>P</ANTI_CMV>
	 <ANTI_CMV_DATE>2010-07-04</ANTI_CMV_DATE>
	 <CMV_NAT>N</CMV_NAT>
	 <CMV_NAT_DATE>2010-07-04</CMV_NAT_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>N</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>1</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  </INVENTORY>
  </INVENTORIES>


XSD 2.1 examples: (Expired in 2021, Q4)

<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2017-07-05T21:00:03Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="D" UPDATE_MODE="FULL" SNAPSHOT_TIME="2017-07-05T22:00:08Z" SCHEMA_VERSION="2.1">
  <DONOR>
   <ID>BMDW001</ID>
   <GRID>1234000000BMDW00101</GRID>
   <BIRTH_DATE>1962-02-10</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DW</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>11</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:CSAH</FIELD1>
      <FIELD2>11:MP</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>39</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:KBY</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:HBA</FIELD1>
      <FIELD2>12:CF</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>12</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>12:GS</FIELD1>
      <FIELD2>15:CCZ</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>04:01</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
    <CMV>H</CMV>
    <CMV_NAT>P</CMV_NAT>
    <CMV_DATE>2016-06-24</CMV_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <CONTACT_DATE>2016-12-15</CONTACT_DATE>
   <WEIGHT>65</WEIGHT>
   <HEIGHT>175</HEIGHT>
   <NMBR_TRANS>1</NMBR_TRANS>
   <NMBR_PREG>1</NMBR_PREG>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>0</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
  <DONOR>
   <ID>BMDW002</ID>
   <GRID>1234000000BMDW00202</GRID>
   <BIRTH_DATE>1960-04-22</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>CA</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>24</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:VJKM</FIELD1>
      <FIELD2>24:EJPF</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>44</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:BCAU</FIELD1>
      <FIELD2>44:BCXE</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2></FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:ATGS</FIELD1>
      <FIELD2>16:01</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:DWH</FIELD1>
      <FIELD2>15:BMEG</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2></FIELD2>
     </DNA>
     </DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>2</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>02:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
     <DNA>
      <FIELD1>02:02</FIELD1>
      <FIELD2>03:01</FIELD2>
     </DNA>
    </DPB1>
   </HLA>
   <KIR>
   </KIR>
   <IDM>
    <CMV>O</CMV>
    <CMV_NAT>N</CMV_NAT>
    <CMV_DATE>2015-10-20</CMV_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <RSV_PAT>ABCD1234567</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2017-10-20</STAT_END_DATE>
   <STAT_REASON>TX</STAT_REASON>
   <CONTACT_DATE>2015-10-20</CONTACT_DATE>
   <CHECKUP_DATE>2015-10-20</CHECKUP_DATE>
   <WEIGHT>86</WEIGHT>
   <HEIGHT>187</HEIGHT>
   <NMBR_TRANS>0</NMBR_TRANS>
   <NMBR_MARR>0</NMBR_MARR>
   <NMBR_PBSC>1</NMBR_PBSC>
   <COLL_TYPE>B</COLL_TYPE>
  </DONOR>
 </INVENTORY>
</INVENTORIES>
<?xml version="1.0" encoding="UTF-8"?>
<INVENTORIES CREATION_TIME="2017-07-05T21:00:04Z">
 <INVENTORY LISTING_ORGANIZATION="1234" POOL="1234" CONTENT_TYPE="C" UPDATE_MODE="FULL" SNAPSHOT_TIME="2017-07-05T22:00:05Z" SCHEMA_VERSION="2.1">
  <CBU>
   <ID>BMDW0CBU001</ID>
   <BIRTH_DATE>2009-09-02</BIRTH_DATE>
   <SEX>M</SEX>
   <ABO>A</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>AF</ETHN>
   <CCR5>DD</CCR5>
   <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>3</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>03:XX</FIELD2>
     </DNA>
    </A>
    <B>
    <SER>
      <FIELD1>7</FIELD1>
      <FIELD2>55</FIELD2>
      </SER>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>55:XX</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>15</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5>
    <DNA>
    <FIELD1>01:01</FIELD1>
    <FIELD2></FIELD2>
    </DNA>
    </DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:02</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>NEG</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>POS</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
   <CMV>N</CMV>
    <CMV_NAT>N</CMV_NAT>
    <CMV_DATE>2009-09-04</CMV_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>1</ALT>
   </IDM>
   <STATUS>AV</STATUS>
   <LOCAL_ID>BMDW0CBU001</LOCAL_ID>
   <BAG_ID>BAG00BMDW001</BAG_ID>
   <BANK_MANUF_ID>6789</BANK_MANUF_ID>
   <BANK_DISTRIB_ID>6789</BANK_DISTRIB_ID>
   <COLL_DATE>2009-09-02</COLL_DATE>
   <PROC_DATE>2009-09-02</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2009-09-02</FREEZE_DATE>
   <FREEZE_METH>C</FREEZE_METH>
   <PROD_MOD>PRR</PROD_MOD>
   <BAG_TYPE>80/20</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>100</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>1.20E9</TNC>
   <TNC_FRZN>9.90E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E7</RED_BC_FRZN>
   <MNC_FRZN>552999973</MNC_FRZN>
   <CD34PC>1.50E6</CD34PC>
   <CD34PC_FRZN>1.10E6</CD34PC_FRZN>
   <CFU_FRZN>1.23E6</CFU_FRZN>
   <VIABILITY>98</VIABILITY>
   <VIABILITY_DATE>2009-09-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>2</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2016-09-22</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>123456789</ID>
    <ID_BANK>CBB01</ID_BANK>
    <HLA>
    <A>
      <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>68</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:XX</FIELD1>
      <FIELD2>68:XX</FIELD2>
     </DNA>
    </A>
    <B>
     <DNA>
      <FIELD1>07:XX</FIELD1>
      <FIELD2>39:XX</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>12:03</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:03</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
    <FIELD1>04:02</FIELD1>
    <FIELD2>11:01</FIELD2>
    </DNA>
    </DPB1>
    </HLA>
    <IDM>
     <CMV>O</CMV>
     <CMV_NAT>N</CMV_NAT>
     <CMV_DATE>2009-09-04</CMV_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>G</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>2</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  <CBU>
   <ID>BMDW0CBU002</ID>
   <BIRTH_DATE>2010-07-01</BIRTH_DATE>
   <SEX>F</SEX>
   <ABO>O</ABO>
   <RHESUS>P</RHESUS>
   <ETHN>UK</ETHN>
   <CCR5>WW</CCR5>
   <HLA>
    <A>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>30</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>30:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>62</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>15:01</FIELD2>
     </DNA>
    </B>
    <C>
    <SER>
      <FIELD1>3</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
    <SER>
      <FIELD1>1</FIELD1>
      <FIELD2>13</FIELD2>
      </SER>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>13:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
    <SER>
      <FIELD1>5</FIELD1>
      <FIELD2>6</FIELD2>
      </SER>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1>
    <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>04:01</FIELD2>
     </DNA></DPB1>
   </HLA>
   <KIR>
    <KIR2DL1>NEG</KIR2DL1>
    <KIR2DL2>POS</KIR2DL2>
    <KIR2DL3>NEG</KIR2DL3>
    <KIR2DL4>NEG</KIR2DL4>
    <KIR2DL5A>NEG</KIR2DL5A>
    <KIR2DL5B>NEG</KIR2DL5B>
    <KIR2DS1>POS</KIR2DS1>
    <KIR2DS2>NEG</KIR2DS2>
    <KIR2DS3>NEG</KIR2DS3>
    <KIR2DS4>NEG</KIR2DS4>
    <KIR2DS5>NEG</KIR2DS5>
    <KIR2DP1>NEG</KIR2DP1>
    <KIR3DL1>NEG</KIR3DL1>
    <KIR3DL2>NEG</KIR3DL2>
    <KIR3DL3>NEG</KIR3DL3>
    <KIR3DS1>NEG</KIR3DS1>
    <KIR3DP1>NEG</KIR3DP1>
   </KIR>
   <IDM>
   <CMV>N</CMV>
    <CMV_NAT>N</CMV_NAT>
    <CMV_DATE>2010-07-04</CMV_DATE>
    <HBS_AG>N</HBS_AG>
    <ANTI_HBC>N</ANTI_HBC>
    <ANTI_HBS>N</ANTI_HBS>
    <ANTI_HCV>N</ANTI_HCV>
    <ANTI_HIV_12>N</ANTI_HIV_12>
    <HIV_1_NAT>N</HIV_1_NAT>
    <HIV_P24>N</HIV_P24>
    <HCV_NAT>N</HCV_NAT>
    <ANTI_HTLV>N</ANTI_HTLV>
    <SYPHILIS>N</SYPHILIS>
    <WNV>N</WNV>
    <CHAGAS>N</CHAGAS>
    <EBV>H</EBV>
    <TOXO>N</TOXO>
    <HBV_NAT>N</HBV_NAT>
    <PB19_NAT>N</PB19_NAT>
    <ALT>2</ALT>
   </IDM>
   <RSV_PAT>HHH0123</RSV_PAT>
   <STATUS>RS</STATUS>
   <STAT_END_DATE>2017-09-05</STAT_END_DATE>
   <STAT_REASON>OT</STAT_REASON>
   <LOCAL_ID>BMDW0CBU002</LOCAL_ID>
   <BAG_ID>BAG00MDW02</BAG_ID>
   <BANK_MANUF_ID>4567</BANK_MANUF_ID>
   <BANK_DISTRIB_ID>4567</BANK_DISTRIB_ID>
   <COLL_DATE>2010-07-01</COLL_DATE>
   <PROC_DATE>2010-07-01</PROC_DATE>
   <PROC_METH>HES</PROC_METH>
   <PROC_METH_TYPE>SPX</PROC_METH_TYPE>
   <FREEZE_DATE>2010-07-01</FREEZE_DATE>
   <FREEZE_METH>M</FREEZE_METH>
   <PROD_MOD>PLR</PROD_MOD>
   <BAG_TYPE>50/50</BAG_TYPE>
   <BAGS>1</BAGS>
   <BACT_CULT>N</BACT_CULT>
   <FUNG_CULT>N</FUNG_CULT>
   <HEMO_STATUS>DN</HEMO_STATUS>
   <VOL>49</VOL>
   <VOL_FRZN>25</VOL_FRZN>
   <TNC>5.71E8</TNC>
   <TNC_FRZN>4.33E8</TNC_FRZN>
   <RED_BC_FRZN>9.00E6</RED_BC_FRZN>
   <MNC_FRZN>340999990</MNC_FRZN>
   <CD34PC>2.0E6</CD34PC>
   <CD34PC_FRZN>1.70E6</CD34PC_FRZN>
   <CFU_FRZN>1.65E6</CFU_FRZN>
   <VIABILITY>97</VIABILITY>
   <VIABILITY_DATE>2010-07-02</VIABILITY_DATE>
   <VIABILITY_CELLS>CD34PC</VIABILITY_CELLS>
   <VIABILITY_METHOD>7A</VIABILITY_METHOD>
   <ATT_SEG>3</ATT_SEG>
   <DNA_SMPL>true</DNA_SMPL>
   <OTH_SMPL>true</OTH_SMPL>
   <CT_COMPLETE_DATE>2012-09-02</CT_COMPLETE_DATE>
   <CT_SMPL_TYPE>ED</CT_SMPL_TYPE>
   <AL_RED_BC>3</AL_RED_BC>
   <AL_SER>4</AL_SER>
   <SER_QUANT>10.0</SER_QUANT>
   <AL_PLA>2</AL_PLA>
   <PLA_QUANT>10.0</PLA_QUANT>
   <MAT>
    <ID>113456789-</ID>
    <ID_BANK>CBB001</ID_BANK>
    <HLA>
    <A>
     <DNA>
      <FIELD1>03:XX</FIELD1>
      <FIELD2>01:XX</FIELD2>
     </DNA>
    </A>
    <B>
      <SER>
      <FIELD1>8</FIELD1>
      <FIELD2>7</FIELD2>
      </SER>
     <DNA>
      <FIELD1>08:XX</FIELD1>
      <FIELD2>07:02</FIELD2>
     </DNA>
    </B>
    <C>
     <DNA>
      <FIELD1>07:02</FIELD1>
      <FIELD2>07:XX</FIELD2>
     </DNA>
    </C>
    <DRB1>
     <DNA>
      <FIELD1>01:01</FIELD1>
      <FIELD2>15:XX</FIELD2>
     </DNA>
    </DRB1>
    <DRB3></DRB3>
    <DRB4></DRB4>
    <DRB5></DRB5>
    <DQA1></DQA1>
    <DQB1>
     <DNA>
      <FIELD1>05:01</FIELD1>
      <FIELD2>06:XX</FIELD2>
     </DNA>
    </DQB1>
    <DPA1></DPA1>
    <DPB1></DPB1>
    </HLA>
    <IDM>
     <CMV>P</CMV>
     <CMV_NAT>N</CMV_NAT>
     <CMV_DATE>2010-07-04</CMV_DATE>
     <HBS_AG>N</HBS_AG>
     <ANTI_HBC>N</ANTI_HBC>
     <ANTI_HBS>N</ANTI_HBS>
     <ANTI_HCV>N</ANTI_HCV>
     <ANTI_HIV_12>N</ANTI_HIV_12>
     <HIV_1_NAT>N</HIV_1_NAT>
     <HIV_P24>N</HIV_P24>
     <HCV_NAT>N</HCV_NAT>
     <ANTI_HTLV>N</ANTI_HTLV>
     <SYPHILIS>N</SYPHILIS>
     <WNV>N</WNV>
     <CHAGAS>N</CHAGAS>
     <EBV>N</EBV>
     <TOXO>N</TOXO>
     <HBV_NAT>N</HBV_NAT>
     <PB19_NAT>N</PB19_NAT>
     <ALT>1</ALT>
    </IDM>
    <AL_SER>2</AL_SER>
    <SER_QUANT>10.0</SER_QUANT>
    <AL_PLA>3</AL_PLA>
    <PLA_QUANT>15.0</PLA_QUANT>
   </MAT>
  </CBU>
  </INVENTORY>
  </INVENTORIES>


Validation of your XML files

After generating your XML files, you are advised to validate the generated XML file. You may use any XML tool that includes validation for that, for example the open source Qxmledit or  XMLLINT

You can use xmllint by invoking the program giving the XML file and the Schema file, and it will generate a report.


If the file validates, it will show:

xmllint --schema Inventories.xsd --huge --stream --sax --noout ION-1234-C.xml
ION-1234-C.xml validates

If it does not validate, you will see what XSD rule is violated, together with the line where that happened eg:

410460: Schemas validity error : Element 'CCR5': [facet 'enumeration'] The value '' is not an element of the set {'DD', 'WW', 'DW'}.

Installing XMLLINT on Windows is a bit tricky, you will need the XSD files, and a set of binaries from http://xmlsoft.org/sources/win32/ for 32bit system, or http://xmlsoft.org/sources/win32/64bit  for 64bit system.

  1. Download the XSD files.
  2. Download the required binary files.
    You need the binary files from 4 .zip files, and download the latest version. They are iconv, libxml2, libxslt and zlib.
    The names are as belows, some binary files may have suffix version number, that is fine, and you can keep it.

    basicTypes.xsd
    Inventories.xsd
    
    
    iconv.exe
    libcharset-1.dll
    libiconv-2.dll
    libxml2-2.dll
    xml2-config
    xmlcatalog.exe
    xmllint.exe
    zlib1.dll
  3. Create a new folder in C:\tools\libxml. (This is a suggestion from the owner). Or you can create folder "libxml" in  C:\Windows\ or C:\Program Files as you prefer.
  4. Move all binary files in the folder C:\tools\libxml
  5. Add "C:\tools\libxml" to the System environment variable PATH/Path.
  6. Restart your system
  7. The xmllint cmds can be executed in the windows cmd or PowerShell (windows 10).

Please refer to your IT staff for installation if you can not handle this.


Viewing large files

XML files tend to be large. For quick visual inspection and search you may use Glogg (windows)


Generate XML file from excel data source

WMDA suggest two methods to generate the XML file manually for small dataset. 

  1. If you have Microsoft excel with developer tab. You can manually generate the XML with less than  65,536 records. You can use the specific xsd schema file Inventories-cbu-xml-gen.xsd or Inventories-donor-xml-gen.xsd to generate the XML file.
    You can download the file mentioned above in the XSD schema page.
  2. WMDA prepare a php script to generate XML file from excel/csv data source for small dataset like less than 2000 records. If you need further help, please contact support@wmda.info.

#

File names


Registries with data on stem cell donors and cord blood units should separate these two data sets and provide two files: one for stem cell donors, and one for cord blood units. Data of stem cell donors and cord blood units should not be combined in one file. In the filename the distinction between donor data and cord blood unit data is made clear.

The first part of the filename is "ION-" (without the quotes) followed by the ion number and either a "D-" for donors (without the quotes) or a "C-" (without the quotes) for cold blood units. This <ION> should be similar to the one provided in the field <POOL>. The extension of the file is ".XML". Using this naming convention the name of the Austrian cord blood registry is: ION-2614-C.XML and the name of the German donor registry is: ION-6939-D.XML

After encryption, the file should follow almost the same name convention as for the xml file name, but then xml is replaced to pgp. So the first part of the GPG-filename is identical to the XML-filename. The GPG software will either add a second extension ".PGP", or replace the ".XML" extension of the data file with the ".PGP" extension. As an example, the file name of an encrypted Austrian cord blood file would then be: "ION-2614-C.PGP" (without the quotes).


If you are listing organisation and are also sending data from other listing organisations (with ION), you can provide the inventory of different POOL IDs together in one file. However, you should not combine donor and CBU data together. For the file naming, please always use the ION from the organisation that is sending the data.

#

How to compress your XML file with ZIP

ZIP file is not a request anymore, even for big file. Because the encryption process will compress and encrypt the file. 


When your file is larger then 200Mb, you have to compress your file by using ZIP. If your file is smaller, you are also encouraged to compress your file, because the time to upload your file will be reduced.

Please find below some methods to compress your file with ZIP when you are using any of the operating systems Windows, OS, or Linux/unix.

Please note: When you are using another method to compress your file, like tar, we cannot decompress your file during processing and we have to reject the file.

Creating a compressed zip file in Windows

  1. Click to highlight the file that you need to zip. Please note: WMDA can only accept your file when the zip file contains 1 file.
  2. Right-click the file and select Send to > Compressed (zipped) Folder.  
  3. Windows will create the zip file and will position the cursor where you can choose a unique name for the file.

It is also possible to first create your ZIP folder and then drag the file to your zip folder.

Creating a compressed zip file in OS X

  1. Open a new Finder window and navigate to the file.
  2. Click to highlight the file that you need to zip.
  3. Select File > Compress from the pull-down menu. Sometimes you can also click with your right mouse button on the file and use the quick menu.
  4. Finder will compress the selected file and will create the zip file with the same same as your file but with the extension .zip.

Creating a compressed zip file in Linux

  1. Open a terminal session and navigate to the location of your file
  2. To view a listing of directory contents, enter the following command: ls
  3. Note the files to be zipped.  
  4. Create the zip file by entering the command: zip {.zip-filename} {filename-to-compress} (e.g. zip ION-1234-D.zip ION-1234-D.xml)

#

How to encrypt your XML file


WMDA will only accept pgp encrypted XML files for data upload. We will now describe how you can encrypt your xml file. If you have a very large file, you should first compress your file with ZIP before you encrypt your file. Please see the picture below for a schematic representation of the encryption en decryption process.

Encryption is performed by the organisation who is sending data to WMDA; decryption is performed by WMDA to be able to process and validate the data in your file.

For this encryption, you should use the WMDA public key.

This is the new public key: public key (download the file in this link)

You may also fetch the key from the link or the  https://keys.openpgp.org/vks/v1/by-fingerprint/B83744C5CE38C10265E36120C44E0E7A736E374E
(Notice can not be searched by dataupload@wmda.info, as it dose not exist, and not verified)

Public key details : Key ID C44E0E7A736E374E

Fingerprint = B837 44C5 CE38 C102 65E3 6120 C44E 0E7A 736E 374

userid = "dataupload.wmda.info <dataupload@wmda.info>"


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

mQENBFk/8/ABCACqTuKBmPUsrenEvvXkPZ69m5F7eYi8KP+Si2owf//mgHXti79X
KLfNievwxmbuDRGDPYaaK3LfwX7h6vpXAWfCYsosSUUmEJYalKm+R6/R4dFQCYCG
xWLcHBVSlZr/5ZpHWdRfYMN3V7JM4u6E2axi1rysZOWHHBDvkNFeZkl4wwkTuM01
WzxQ40I7ASo//NzZnDAV2MxqLXq/W7XMdhmOMc5DtTDSypQsj2ZH30uq+MjpfyhD
5iq7wwxtib2KLmbBKDNLTqmqjjb4MHQJlAw4Djp62WNjgozRY8eG6rmsu8/C5Ufa
yiIN0tX/s/FjgfQZFcucFnqnOBASJ2GqWU6DABEBAAG0K2RhdGF1cGxvYWQud21k
YS5pbmZvIDxkYXRhdXBsb2FkQHdtZGEuaW5mbz6JATkEEwEIACMFAlk/8/ACGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRDETg56c243TmvIB/49b9e3QIZC
j2gc1V/d038JkpLlNOEmf51cIc8o/oDfvunxQRqjDUOCuIsh7t2SVJ7rna5wpruH
FYNEnHulSlFQlC0J5ChHkvMUfKTUoXDnlKM6yZJRrJxd8UQ0gl3l0qNZvg9HylPz
Cw3GH+wlJeZJ4FbqCg2/SXLKmRTjTutW5QhmfNBSxIqUq5xdjtyNvFGgdKlBJNbA
UR2FXL3BQRRo5tE+Ivsb3DFM4sW6k2PRM/8p8mXDKo736cl+M1dB/rfGkq2D0scN
2pqsFPW9YdFDsUpOxgJof1c9WFyrVl8I7pNuQ4Px2+CoCeF+RwSTHOm/epUB59Wd
9bTebi0rFF/ouQENBFk/8/ABCADENQbYdeHOxaZiwRhNLbnHgbgq52Qmv6pmfb9g
LLWyIpqRUGY+uTP2qJmovpHGwRt3+KPheoY2QsTy5hvUPU75Wcoy57J/FzXfHnqc
ZuSLGfViJFa0neS8Wb5NIrADUDzcOqgkfNvP8hd5J6yYOnCEgaOuNf5/9H7at4sy
xVn7RpS+gqvmCIDzsLNQj6XWAkVFeL6KVGlq6Jfxg9oTOflu1EewWadRY1KUwJVN
5+G65fMnz4hFsJ+pWRmTrkFty0ti9g1LXarTHBbJRfagLZBNHKwYGyiSvwn1YbWH
zVif8JLkzfHEIgQ7e5RO25GaIwg6DYdhIeuZfesrHaexLecBABEBAAGJAR8EGAEI
AAkFAlk/8/ACGwwACgkQxE4OenNuN057Pgf/UUBThPnf/4EoCO1nzybIefwfBvAm
N1ra5z2GLrv5cjxDsB06aFCaWM9tvEU+zcuqgDSjD+H34kG00D2vINQLNmvhfYxZ
DxGFwgM1xTjPzH4/alp3tAmsDmJlVQs0LWxeXdSby47K0g7X9DvPw+VAMJpJZotg
rVyYhStEqvXF66SWtPKviq5jdguGrxD4vS/y079YAiBWfFcjghB/aycebICaA2GT
APUbvh2qypyodijCmiELIto/RIznUP0QP43X69ciZjb4n8+Ir9buWtGpgp8XmRa1
sgdDFVbeiSnzba9AO3osA5aWsdYeEAIchw6fPhLTvmZ5gjgfrbwxBn+loQ==
=zCpi
-----END PGP PUBLIC KEY BLOCK-----


Please note: This key is different from the key that you used to encrypt your DOT20 file.

STEP 1: Encryption program

The DOT20 file also needed to be encrypted. The procedure is actually the same, but you now have to use the new public key.

Currently, there are several different software packages that you can use to encrypt and decrypt your files. It depends of course also of your operating system which programs you can use.

Here are some examples:

Windows: Kleopatra (download here), PGP Tool

OS (MAC): GPG Suite

Linux/unix: GnuPG

GnuPG is a complete and free implementation of the OpenPGP standard as defined by  RFC4880  (also known as  PGP ). GnuPG allows to encrypt and sign your data and communication, features a versatile key management system as well as access modules for all kinds of public key directories. GnuPG, also known as  GPG , is a command line tool with features for easy integration with other applications. A wealth of  frontend applications  and  libraries  are available. GnuPG is  Free Software  (meaning that it respects your freedom). It can be freely used, modified and distributed under the terms of the  GNU General Public License  . For installation on your Linux/Unix machine, please visit the following page for HowTos: https://www.gnupg.org/documentation/howtos.html

STEP 2: Import the public key

After installing your preferred program, you have to import the public key.

  • First download the public key to your computer. It is important that you save the file with extension asc (key.asc)
  • Open your encryption program and look for something like import (PGP) key or import certificate. Click on this and then you have to upload the file with the WMDA public key and save the key.
  • If you might get an error with importing the key, you can try to remove the text “Version: GnuPG v2” from the file and try to import the file again.

For Linux/Unix, importing of the key in your gpg keyring can be done by using the following command:

$ gpg --import {public_key_file}

Alternatively, instead of saving this file and importing the key, you may look it up at a keyserver.

For example, if you use Kleopatra, use CTRL-SHIFT-I and search for 0xC44E0E7A736E374E

Getting the key : http://pool.sks-keyservers.net/pks/lookup?search=0xC44E0E7A736E374E

If you use gpg from the commandline, use gpg --recv-keys --keyserver pool.sks-keyservers.net --recv 0xC44E0E7A736E374E

STEP 3: Encrypt XML or ZIP file with the public key

Next step is to use the public key that you just imported into your encryption program to encrypt your XML or zipped XML file.

  • In your encryption program, go to the function called encrypt or encrypt files.
  • A windows with all your files will open. Look up the file you would like to encrypt.
  • Following the steps in your program and make sure you choose the public key to encrypt your file
  • Some programs work together with your file exploring program like Finder for Mac or Explorer for windows. If this is the case, go to your file look-up program and look for your file.
  • Select your file and click on the right mouse button. A quick menu will become visible. Look for something with encryption or GPG or with a MAC it is probably under Services. This depends on the program you installed on your computer. Click on that and follow the instructions on your screen.
  • Make sure you choose the public key to encrypt your file.

For Linux/Unix, encryption of your file can be done by using the following command:

$ gpg --encrypt --recipient ID {filename_to_be_encrypted}

where ID is replaced with that key's ID

 The short version of the above command is:

$ gpg -e -r ID {filename_to_be_encrypted}


In either case, a file is created with the same name, plus an additional .gpg file extension added to the end. Thus, if your file is ION-1234-D.xml, you will create an encrypted copy of the file named ION-1234-D.xml.gpg.


Please note: Do not sign your file. This will result in rejection of your file during processing.


User guide for Kleopatra(Windows):

  1. Download here. It is included in the gpg4win package.
  2. Import the the public key. And you will see imported public key as below:
  3. Encrypt the file. Click "Sign/Encrypt", in the pop-up window, un-check "Sign as", "Encrypt for me" and "Encrypt with password".

    And in "Encrypt for others", type in the public key e-mails to get the public key.
    Tip: if the WMDA public key is imported correctly, then after you type-in "data", the whole key name will pop-up, and can be selected.
    NOTE: There will be pop-up window to notify you to certify the public key, you can ignore this. But if you do want to certify the public key, you can following the guide here.
    If the public key is correctly imported, but without certify, there will be a blue "i" icon () in front of the key. If you add certify, then it will be green "v" icon.
    If the public key is not correctly imported, there will be a red "x" icon(). If that is the case, please repeat above process till you see the .

    After that, the grep "next" button will turn "Encrypt", then click "Encrypt" to encrypt the file. You may get warning that you can not decrypt the file because you do not have private key, that is fine.


#

Explanation of Errors and Warnings in your processing report


We are currently working on the new errors and warning you might find in your processing report. The errors and warnings shown below are mainly based on the old processing reports and are amended to our best knowledge at this moment. More information will follow soon.


After submitting a file you will receive a processing report in your data upload service account. This document describes explanations of warnings or errors as you may find them in the processing report. In the explanations below you find references to various fields from the file format for data delivery. For details on these field names and the file format look in the tabs 'XML file' and 'File name' of this page.

The ID of the donor or CBU will be displayed as well. This helps you find the problem line in the file you have sent, and hopefully helps you correct the problem.

Business validation rules applied

WMDA has additional business validation rules in place to ensure that even though the data supplied on a field level might be correct they need to have passed the validation rules applied sometimes on multiple fields to ensure correct data is being added to the GCD database. As part of providing us the XML your organisation should also perform these checks to ensure the validity of the data you are providing.

Business validation rules in excel file


Een dropdown heeft altijd een
value en een label :
Bij het opzetten van het veld heb je gekozen voor numerieke value, en tekstuele labels, dwz

als je "BMDW" ziet, staat er in de form "1"

Bij het filteren van de table moet je dus ofwel

filter  = ValidationSource.label:BMDW

of

filter = ValidationSource:1
kiezen.




File Errors

FileError: Empty file or file without data.

Explanation: When the size of the received file is zero bytes, or no data could be read from the received file, this error is returned.

Record Errors


  • RecordError: No ID specified:  Explanation: The ID or GRID field should be given, and should not be blank.
  • RecordError: Duplicate donor/CBU ID found: Explanation: Every donor or cord blood unit should be listed only once. During processing of your file, a donor or cord blood ID is listed more than once, only the first occurrence has been accepted. The second occurrence XXXXX has been rejected.
  • RecordError: Invalid GRID ID specified:  Explanation: The global registration identified provided is invalid. PLEASE NOTE: GRID format allowed is: XXXX XXXX XXXX XXXX XXX. Also only upper case letter and numbers are allowed.
  • RecordError: Duplicate GRID ID found: Explanation: Every donor or cord blood unit should be listed only once. During processing of your file, a GRID ID is listed more than once, only the first occurrence has been accepted. The second occurrence XXXXX has been rejected.
  • RecordError: Invalid ION & GRID specified:  Explanation:  The GRID ID and Listing organisation (ION) ID are contradictory.
  • RecordError: "Collected Volume before processing" (VOL) has an incorrect value:  Explanation: The "Volume Collected" (VOL) should be no less than 10, or more than 400 milliliters (ml).
  • RecordError: "Total Nucleated Cells" (TNC) has an incorrect value:  Explanation: The "Total Nucleated Cells" should be no less than 10, or more than 999 (10^7).
  • RecordError: "Collected number of CD34+ cells" (CD34PC) has an incorrect value:  Explanation: The value provided for the CD34+ cell count is not a numeric value with decimal point in units of 10^6.
  • RecordError: "Collected number of mononuclear cells" (MNC_FRZN) has an incorrect value:  Explanation: The value provided for the mononucleated cell count is rounded number of mononuclear cells in the units of 10^7.
  • RecordError: Duplicate donor/CBU ID found:  Explanation: Every donor or cord blood unit should be listed only once. If during processing of a file, a donor or cord blood ID is listed more than once, only the first occurrence is accepted, the second occurrence generates this error.
  • RecordError: Invalid date format for field 'field name' given:  Explanation:This error may be returned for date fields. The format for dates field should be in the format YYYY-MM-DD.
  • RecordError: Donor is either too young or too old:  Explanation:The age limits of donors are set by the WMDA. Donor age outside range of 18-60 years are rejected.
  • RecordError: Invalid Gender value found (not "M" or "F"):  Explanation: Gender of donors other than "M" (for Male) or "F" (for Female) are reported as an error.
  • RecordError: Invalid CMV Status value found:  Explanation: The CMV status provided is not one of the possible values for this field.
  • RecordError: BANK_MANUF_ID not provided: Explanation: The BANK_MANUF_ID allows the Search report to indicate that the Cord blood bank unit is accredited. If you do not provide this ID the search report will not be able to indicate the cord blood bank unit as being accredited or not.

 HLA/DNA Related Errors


HLA/DNA-ERROR: Invalid allele value X found for DNA-"Allele".

Example: <HLA><DRB4><DNA><FIELD1>01:01/</FIELD1><FIELD2>value</FIELD2></DNA></DRB4></HLA> 

  Explanation: The value for DRB4 contains a slash (/) which is invalid. If such a problem is found the allele values are blanked and processing of the record continues. So, this is a warning, and not an error that requires the record to be rejected!Another examples might be an C*04:AVK (AVK is assigned bij the NMDP as 01/02/03/04/05/06) which is not valid since the C*04:02 is not assigned.


HLA/DNA-ERROR: Invalid DNA string found: "some string"

Example: For HLA A, the following value is given: 01:01/01:02/01:03/01:04.

Explanation: The DNA string given A*01:01/01:02/01:03/01:04 is not valid since the A*01:04 does not exist. Another reported problem may be that a ambiguity in the format of A*01:01/02/03 is invalid.


HLA/DNA-ERROR: Invalid HLA antigen "some value" found for field "field name".

Example: Serological HLA A30/3 is given in the file.

Explanation: The antigen or search determinant value "30/3" for HLA-A in this example is invalid.


HLA/DNA-ERROR: Incomplete typing found: HLA-A and HLA-B are required.

Explanation: At least one HLA-A and -B antigen or serological value should be available to be able to match the record. If no HLA-A or -B values (either on DNA level or on serological level) are available the record is rejected.


HLA/DNA-ERROR: "DNA allele values" does not match "serology". Equivalents for DNA alleles are ...

Example: HLA-B*15:02,15:26N does not match serological HLA-B76,62. Equivalents for the DNA-B alleles are: 75(15)

Explanation: The serology and DNA values provided, are validated separately, but also matched. If there is no match between the provided serology and the provided DNA, the record is reported.


HLA/DNA-ERROR: Number of alleles for DRB3/4/5 is more than 2; DRB3/4/5 blanked.

Example: Values are given for DRB4 for FIELD 1 and FIELD 2 and also for DRB5 for FIELD 1

Explanation: Only two allele values are allowed for DRB3, DRB4 and DRB5 combined.


HLA/DNA-ERROR: DRB3 (or DRB4 or DRB5) does not match HLA-DR "values". DRB3 (or DRB4 or DRB5) blanked.

Example: Serology DR is 4 and 11; DRB5 is 01:XX

Explanation: DRB5 is associated with DR2, DR15(2), DR16(2) or DR1(rare). Likewise, DRB3 is associated with DR3, DR5, DR6, DR11(5), DR12(5), DR13(6), DR14(6), DR1403, DR1404, DR17(3), DR18(3); and DRB4 with DR4, DR7, DR9.



Cord blood bank IDs


In the XML file format we also defined two fields that are referring to cord blood banks: BANK_MANUF_ID and BANK_DISTRIB_ID.

  • The BANK_MANUF_ID is the ID corresponding to the cord blood bank that manufactured the cord blood unit (CBU)
  • The BANK_DISTRIB_ID is the ID corresponding to the cord blood bank that will distribute the CBU

Please find in the table below the ID you have to use for your cord blood banks. The number always consist of 4 digits and is not the same as your ION number. We expect that the BANK_MANUF_ID and the BANK_DISTRIB_ID will be the same for many CBUs.


How to find your ID?

  • Go to WMDA Share: the following webpage: Database
  • Find the name of your cord blood bank on this page
    • If you can find the name of your cord blood bank, click on the name of your cord blood bank en you will see on the left side in the corner a number (for example: WO-1346); you can use the four digits of this number in the file you are uploading
    • If you can not find the name of your cord blood bank, contact the WMDA office at: support@wmda.info

OR

Contatc the WMDA Office at: support@wmda.info


PLEASE NOTE: EMDIS is using very similar fields, but here you need to use a different ID.





Why deprecated code?

WMDA has developed HLA nomenclature guidelines, which have been published in 2007 and 2012. The HLA typing of your donors and cord blood units is validated based on these guidelines. If you list donors/cord blood units, it may happen that you receive the message that the HLA of your donor or cord blood unit is invalid.

There are two forms of ‘deleted’ alleles:

  • Alleles that have been renamed (e.g. A*01:34N; sequence known to be expressed at low levels and renamed to A*01:01:38L)
  • Alleles that have been removed without a replacement (e.g. A*2401; sequence shown to contain errors)

What you see in the report?

For data exchange between your organisation and WMDA, it is acceptable to use the older designation for renamed alleles for a period of one year after the renaming. During this grace period, you will receive the following message in your processing report (see below example messages):

#Warning at locus B*: renamed HLA code B*47:01:01:01 is still in grace period, New: 47:01:01:03

And if the deprecated code already passed one year grace period time, you will receive the following message in your processing report:

#Warning at locus B*: deprecated HLA code A*23:ABEBP is now invalid and passed its grace period hence blanked, New: 23:AFVGH 23:AZVXU


What to do with the deprecated code warning?

If you receive such warning messages, you have to update the HLA allele or MAC code within one year. WMDA will not mention the final date of the grace period in the processing report. You can find this information on: http://hla.alleles.org/alleles/deleted.html.

WMDA will provide you advice on how to replace the code. It may be that there are several options possible to update the allele or MAC code. WMDA recommends to perform the replacement using rules as following:

  • Always pick the same replacement code for a given deprecated code
  • A possible sophisticated picking strategy is to use the code with the shortest definition string. 
    For example: if you can choose between 15:01 and 15:01N, you pick the latter. The fewer items without trailing expression character in the definition string the better. Prefer generic codes over specific codes.
  • Generally, definition strings containing items with trailing Q should be avoided (if possible) as alleles with expression character Q are in danger of being renamed. 
    For example: in case of B*13:08Q you pick: B*13:08.
  • If you do not know, go for simple alphanumeric sorting

For 2018 the following alleles were deleted:
• April 2018: B*47:01:01:01 replaced by B*47:01:01:03
• July 2018: B*56:55:01:01 replaced by B*56:55:01:02
• August 2018: A*02:17:01 replaced by A*02:17:02


2019 Update

With the recent HLA Nomenclature Release 3.35.0, the allele HLA-C*03:99 has been renamed to HLA-C*01:169. While renaming of alleles usually does not affect the first two fields of an allele name, this does and as a consequence affects the HLA haplotype frequencies (HF). In fact, we use this allele for the HF sets of DE (1 haplotype) and East Asia (eas, 15 haplotypes). The affected haplotypes have a cumulated frequency of around 1 copy for each of the two HF sets. 

We have one abroad patient with that HLA-C*03:99 in the Search&Match database for whom a HLA-C mismatched donor was requested in 2017.

Summary:
1. The allele is generally very rare.
2. Therefore the effect on patients can be assessed as negligible. 
3. ZKRD will replace the allele in the HF sets before it expires. 

In case you need any support, we recommend to contact the WMDA at: support@wmda.info.