Timeline


Proposal ready:

  

XSD public review

 -  


Communication period
Implementation / testing

Q4, 2020

Release Date

Staging: Jan, 14th, 2021

Prod: Feb, 15th, 2021

Planned Retire Date

31st, Oct, 2024 

Status

  1. Preparation
  2. Draft
  3. Discussion
  4. Public review
  5. Implementation
  6. Release

The WMDA data-upload production is now with XSD 2.3 supported from  

Till Nov, 2020, as there are only 40% of organization moved to XSD 2.2, WMDA data-upload decide to keep support XSD 2.1 till 31st, Oct, 2021.

Organizations can upgrade to XSD 2.2 which will now be supported till 31st, Oct, 2023, or update to XSD 2.3 directly with changes from both XSD 2.2 and XSD 2.3.

Download XSD version 2.3 :

Please notice that  XSD 2.2 must be implemented as well if upgrade to XSD 2.3 directly from XSD 2.1

The files below are officially approved by the Datadictionary Technical XML group (XSD group).

All questions regarding this version can be asked here : https://share.wmda.info/questions/topics/360087558/xsdv23


  File Modified
File Inventories.xsd Sep 22, 2020 by Zhihong He
File basicTypes.xsd Sep 22, 2020 by Zhihong He
XML File ION-1234-C-XSD23.xml Dec 01, 2021 by Zhihong He
XML File ION-1234-D-XSD23.xml Dec 01, 2021 by Zhihong He


Changes between version 2.2 and 2.3

Updated version number to 2.3

Inventories.xsd
Version 2.2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2">
  • Update version number to 2.3

Version 2.3
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.3">

Move GRID/ID 


Inventories.xsd
version 2.2
	<xs:complexType name="itemBaseType" abstract="true">
		<xs:annotation>
			<xs:documentation xml:lang="en">Abstract base type of donor and CBU items</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ID" minOccurs="0">
				...
			</xs:element>
			<xs:element name="GRID" minOccurs="0">
				...
			</xs:element>
			<xs:element name="ATTR" minOccurs="0">
				...

Because GRID is compulsory for DONOR, and ID is optional for DONOR, but compulsory for CBU, the xsd schema 1.0 we use can not handle with conditions structure, so we need move GRID and ID,

  • Move ID to the sequence to the type "donItemType", keep ID as "optional"
  • Move ID to the sequence to the type "cbuItemType", and changed ID to "required".
    GRID is already required/compulsory in the validation control in WMDA data upload from XSD 2.2, but not using XSD schema control, we added the "required" control in the XSD schema file in 2.3
  • Move GRID to the sequence to the type "donItemType", and changed GRID to 'required'.


Version 2.3
<xs:complexType name="donItemType">
		<xs:annotation>
			<xs:documentation xml:lang="en">A donor is an adult person who has consented to donate haematopoietic progenitor cells to an unrelated patient.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="itemBaseType">
				<xs:sequence>
					<xs:element name="ID" minOccurs="0">
						...
					</xs:element>
					<xs:element name="GRID" minOccurs="1">
						...
					</xs:element>
					<xs:element name="STAT_REASON" type="statReasonDonType" minOccurs="0">
						<xs:annotation>
							<xs:documentation xml:lang="en">Additional information relevant to the donor status</xs:documentation>
						</xs:annotation>
					</xs:element>
Version 2.3
	<xs:complexType name="cbuItemType">
		<xs:annotation>
			<xs:documentation xml:lang="en">A cord blood unit (CBU) is a banked, frozen blood product extracted from a newborn baby's umbilical cord.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="itemBaseType">
				<xs:sequence>
					<xs:element name="ID" minOccurs="1">
						...
					</xs:element>
					<xs:element name="STAT_REASON" type="statReasonCbuType" minOccurs="0">
						...
					</xs:element>


XML Example  version 2.3:

XML Example version 2.3
<DONOR>
	<BIRTH_DATE>...</BIRTH_DATE>
	...
	<HLA>...</HLA>	
	<IDM>...</IDM>
	<STATUS>RS</STATUS>
    <STAT_END_DATE>2022-10-20</STAT_END_DATE>
    <ID>WMDA001</ID>
    <GRID>1234000000WMDA00121</GRID>
    <STAT_REASON>TX</STAT_REASON>
	...


Change Field Name KIR_GL to KIR_GLS_URI


basicTypes.xsd
version 2.2
		<xs:element name="KIR_GL" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">URI that refers to a GL-string registered with a GL-service or direct GL-string for absence / presence. Field is not used at the moment and should therefore always be empty.</xs:documentation>

				...
  • Change KIR_GL to KIR_GLS_URI.
  • Update "annotation" and changed "GL-string" to "GL String", which is more used by the official articles
  • There is no data in current data upload, so no worries about data lost because the required value change.
  • XSD group consider to have this change for a more realistic use case if value will be provided. 


Version 2.3
		<xs:element name="KIR_GLS_URI" minOccurs="0">
			<xs:annotation>
				<xs:documentation xml:lang="en">URI that refers to a GL String registered with a GL service. Field is not used at the moment and should therefore always be empty.</xs:documentation>



Add HLA-E 


basicTypes.xsd
Version 2.2
<xs:sequence>
			<xs:element name="A" type="hlaLocusType" minOccurs="0"/>
			<xs:element name="B" type="hlaLocusType" minOccurs="0"/>
			<xs:element name="C" type="hlaLocusType" minOccurs="0"/>
            <xs:element name="DRB1" type="hlaLocusType" minOccurs="0"/>


  • Add HLA-E after HLA-C, HLA-E only has DNA fields
  • For the type change of "A", "B", "C" and "DRB1", please check below the "XSD schema type naming optimization" for more details for the type changes in the code below.


Version 2.3
<xs:sequence>
			<xs:element name="A" type="hlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="B" type="hlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="C" type="hlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="E" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB1" type="hlaLocusSerDnaType" minOccurs="0"/>


XML Example to add the HLA-E:

<HLA>
	<A>...</A>
	<B>...</B>	
	<E>
		<DNA>
			<FIELD1>01:01:01:01</FIELD1>
			<FIELD2>01:01:01:02</FIELD2>
		</DNA>
	</E>
</HLA>



Add MICA and MICB


basicTypes.xsd
Version 2.2
			<xs:element name="DRB1" type="hlaLocusType" minOccurs="0"/>
			<xs:element name="DRB3" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB4" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB5" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DQA1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DQB1" type="hlaLocusType" minOccurs="0"/>
			<xs:element name="DPA1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DPB1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
		</xs:sequence>


  • Add fields MICA and MICB as part of HLA
    - Added a new type "hlaLocusGlsOnlyType" for MICA and MICB

     Because of the request to add MICA and MICB, we see issues with naming of the existing schema type for HLA, so some improvements are made.
     Check below the "XSD schema type naming optimization" for more details for the type changes in the code below.


Version 2.3
			<xs:element name="DRB1" type="hlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="DRB3" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB4" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB5" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DQA1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DQB1" type="hlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="DPA1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DPB1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="MICA" type="hlaLocusGlsOnlyType" minOccurs="0"/>
			<xs:element name="MICB" type="hlaLocusGlsOnlyType" minOccurs="0"/>
		</xs:sequence>


XML example to use MICA:

<HLA>
	<A>...</A>
	<B>...</B>	
	<DPB1>...</DPB1>
	<MICA>
		<GLS>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GLS>
	</MICA>
</HLA>

XSD schema type naming optimization

basicTypes.xsd
Version 2.2
   <xs:complexType name="hlaLocusType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus type comprising SER and DNA fields</xs:documentation>
		</xs:annotation>								   							  				   				 										 				 																									  
		<xs:sequence>
			<xs:element name="SER" type="hlaSerFieldsType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="1"/>																			  
		</xs:sequence>
	</xs:complexType>

Because of the request to add MICA and MICB, we see issue with naming of the schema type for HLA fields, so some additional improvements are made as below:

  • General "hlaLocusType" is improved to "hlaLocusBaseType"
  • Add GLS field with type "hlaGlsFieldType" in the "hlaLocusBaseType"


Version 2.3
    <xs:complexType name="hlaLocusBaseType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus base type comprising SER, DNA and GLS fields</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SER" type="hlaSerFieldsType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>


  • Additionally 3 new schema types are added:
    - simpleType "hlaGlsFieldType"
    - complexType "hlaLocusGlsOnlyType"
    - complexType "hlaLocusSerDnaType"
  • Change the type of "hlaLocusType" for locus to "hlaLocusSerDnaType" (XSD structure optimization, no effect to XML structure)


Version 2.3
	<xs:simpleType name="hlaGlsFieldType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA typing result provided as GL String</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="hlaLocusBaseType">
Version 2.3
	<xs:complexType name="hlaLocusGlsOnlyType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus type comprising a GL String only</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="hlaLocusBaseType">
				<xs:sequence>
					<xs:element name="SER" type="hlaSerFieldsType" minOccurs="0" maxOccurs="0"/>
					<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="0"/>
					<xs:element name="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="1"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
Version 2.3
	<xs:complexType name="hlaLocusSerDnaType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus type comprising SER and DNA fields</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="hlaLocusBaseType">
				<xs:sequence>
					<xs:element name="SER" type="hlaSerFieldsType" minOccurs="0" maxOccurs="1"/>
					<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="1"/>
					<xs:element name="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="0"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>




  • No labels