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

Staging: Jan, 14th, 2021

Prod: Feb, 13th, 2021

Status

Progress Bar | Vectors (Formerly: SP Progress bar)
current-step6
stepsPreparation, Draft, Discussion, Public review , Implementation, Release

Info

The WMDA data-upload production is now with XSD 2.2 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 2021,October.

Organizations can upgrade to XSD 2.2 as planned which will now be supported till 2022, October, or plan to update to XSD 2.3 after Q1, 2021.

Table of Contents

Download XSD version 2.3 :

Status
colourGreen
titlepublic review

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


Attachments


Changes between version 2.2 and 2.3

Updated version number to 2.3

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

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">

Move GRID/ID 


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


Change Field Name KIR_GL to KIR_GLS_URI


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


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


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


Code Block
languagexml
themeRDark
firstline1097
titleVersion 2.3
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="E" type="hlaLocusDnaOnlyType" minOccurs="0"/>
			<xs:element name="DRB1" type="hlaLocusType" minOccurs="0"/>


XML 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>



Add MICA and MICB


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

     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"


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


Additional improvement to XSD structures:

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


Code Block
languagexml
themeRDark
firstline1053
titleVersion 2.2
linenumberstrue
   <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>

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 to use MICA:

Code Block
languagexml
<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
Code Block
languagexml
themeRDark
firstline1053
titleVersion 2.2
linenumberstrue
   <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:

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


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>