Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Timeline


Proposal ready:

  

XSD public review

 -  


Communication period
Implementation / testing

Q4, 2020

Release Date

Q4,2020 or Q1,2021

Staging: Jan, 14th, 2021

Prod: Feb, 15th, 2021

Planned Retire Date

31st, Oct, 2024 

Status

Progress Bar | Vectors (Formerly: SP Progress bar)
current-step

4

6
stepsPreparation, Draft, Discussion, Public review , Implementation, Release

Info

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

Till Nov, 2020, as there are only 40% of organization moved to XSD 2.2, WMDA data-upload will still decide to keep support XSD 2.1 till 2020.Q4. 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 Organisations have one year to arrange the update of using XSD 2.2 and XSD 2.3.

Table of Contents

Download XSD version 2.3 :

Status
colourYellow
titlepublic review

Info

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

...

Panel
bgColorlightyellow
titleInventories.xsd
Code Block
languagexml
themeRDark
titleVersion 2.2
linenumberstrue
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2">
  • Update version number to 2.23

Code Block
languagexml
themeRDark
titleVersion 2.3
linenumberstrue
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.3">

...

Panel
bgColorlightyellow
titleInventories.xsd
Code Block
languagexml
themeRDark
titleversion 2.2
linenumberstrue
	<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'."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'.


Code Block
languagexml
themeRDark
firstline86
titleVersion 2.3
linenumberstrue
<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>
Code Block
languagexml
themeRDark
firstline199
titleVersion 2.3
linenumberstrue
	<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:

Code Block
languagexml
titleXML 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>
	...

...

Panel
bgColorlightyellow
titlebasicTypes.xsd
Code Block
languagexml
themeRDark
firstline1059
titleVersion 2.2
linenumberstrue
<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.


Code Block
languagexml
themeRDark
firstline1097
titleVersion 2.23
linenumberstrue
<xs:sequence>
			<xs:element name="A" type="hlaLocusTypehlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="B" type="hlaLocusTypehlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="C" type="hlaLocusTypehlaLocusSerDnaType" minOccurs="0"/>
			<xs:element name="E" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB1" type="hlaLocusTypehlaLocusSerDnaType" minOccurs="0"/>


XML Examples Example to add the HLA-E:

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



...

Panel
bgColorlightyellow
titlebasicTypes.xsd
Code Block
languagexml
themeRDark
firstline1063
titleVersion 2.2
linenumberstrue
			<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      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.

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

     Check below the "XSD schema type naming optimization" for more details for the type changes in the code below.


Code Block
languagexml
Code Block
languagexml
themeRDark
firstline1102
titleVersion 2.3
linenumberstrue
			<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:

<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">
Code Block
languagexml
themeRDark
firstline1033
titleVersion 2.3
linenumberstrue
<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

Panel
bgColorlightyellow
titlebasicTypes.xsd
Panel
bgColorlightyellow
titlebasicTypes.xsd
Code Block
languagexml
themeRDark
firstline10511053
titleVersion 2.32
linenumberstrue
	   <xs:complexType name="hlaLocusSerDnaTypehlaLocusType">
		<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:sequence>
			<xs:element name="DNASER" type="hlaDnaFieldsTypehlaSerFieldsType" minOccurs="0" maxOccurs="1"/>
					<xs:element name="GLSDNA" type="hlaGlsFieldTypehlaDnaFieldsType" minOccurs="0" maxOccurs="01"/>
						</xs:sequence>
													</xs:restriction>  
		</xs:complexContent>sequence>
	</xs:complexType>
Code Block


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"


Code Block
languagexml
theme
languagexml
themeRDark
firstline10991061
titleVersion 2.3
linenumberstrue
	    <xs:complexType name="hlaLocusGlsOnlyTypehlaLocusBaseType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus base type comprising SER, aDNA GLand StringGLS only<fields</xs:documentation>
		</xs:annotation>
		<xs:complexContent>sequence>
			<xs:restrictionelement basename="SER"hlaLocusBaseType">
				<xs:sequence>
					<xs:element name="SER" type=" type="hlaSerFieldsType" minOccurs="0" maxOccurs="01"/>
					<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="01"/>
					<xs:element name="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="1"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>

Additional improvement to XSD structures:

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)
  • "hlaLocusType" is improved to "hlaLocusBaseType"
  •  Add GLS field with type "hlaGlsFieldType"


Code Block
languagexml
themeRDark
firstline10531033
titleVersion 2.23
linenumberstrue
   	<xs:complexTypesimpleType name="hlaLocusTypehlaGlsFieldType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locustyping typeresult comprisingprovided SERas andGL DNA fields<String</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>

Code Block
languagexml
themeRDark
firstline1061
titleVersion 2.3
linenumberstrue
    <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>

XML example:

Code Block
languagexml
<HLA>
	<A>...</A>
	<B>...</B>	
	<DPB1>...</DPB1>
	<MICA>
		<GL>008:01:01/008:01:02/008:03/008:04+018:01/018:02</GL>
	</MICA>
</HLA>

XSD schema type naming optimization


		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="hlaLocusBaseType">
Code Block
languagexml
themeRDark
firstline10531099
titleVersion 2.23
linenumberstrue
   	<xs:complexType name="hlaLocusTypehlaLocusGlsOnlyType">
		<xs:annotation>
			<xs:documentation xml:lang="en">HLA locus type comprising SER and DNA fields</xs:documentation>
		</xs:annotation>								   							  				   				 										 				 																									  
"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="10"/>
					<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="10"/>
					<xs:element name="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="1"/>
														  </xs:sequence>
			</xs:sequence>restriction>
		</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:

  • "hlaLocusType" is improved to "hlaLocusBaseType"
  •  Add GLS field with type "hlaGlsFieldType" in the "hlaLocusBaseType"
    complexContent>
    	</xs:complexType>
    Code Block
    languagexml
    themeRDark
    firstline10611051
    titleVersion 2.3
    linenumberstrue
        	<xs:complexType name="hlaLocusBaseTypehlaLocusSerDnaType">
    		<xs:annotation>
    			<xs:documentation xml:lang="en">HLA locus base type comprising SER, DNA and GLSDNA 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="10"/>
    				</xs:sequence>
    			</xs:restriction>
    		</xs:complexContent>
    	</xs:complexType>