Versions Compared

Key

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

Timeline


Proposal ready:

  

XSD public

available

review

17

  


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

3

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

Info

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

WMDA data-upload will still support XSD 2.1 till 2020.Q4.

Organsations have one year to arrange the update of using XSD 2.2.

Table of Contents

Download XSD version 2.3 :

...

 

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.

Table of Contents

Download XSD version 2.3 :

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.12
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.23
linenumberstrue
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.3">

...

basicTypes.xsd
Panel
bgColorlightyellow
titleInventories.xsd
Panel
bgColorlightyellow
title
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="STAT_REASONID" type="statReasonDonType" minOccurs="0">
						<xs:annotation>...
					</xs:element>
					<xs:documentationelement xml:langname="enGRID">Additional information relevant to the donor status</xs:documentation> minOccurs="1">
						</xs:annotation>...
					</xs:element>
					<xs:element name="IDSTAT_REASON" type="statReasonDonType" minOccurs="0">
						...
					</xs:element>
<xs:annotation>
							<xs:elementdocumentation namexml:lang="GRIDen" minOccurs="1">>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="STAT_REASON" type="statReasonCbuTypeID" minOccurs="01">
						...
					</xs:element>
					<xs:element name="STAT_REASON" type="IDstatReasonCbuType" minOccurs="10">
						...
					</xs:element>

Change Field Name KIR_GL to KIR_GLS_URI


XML Example  version 2.3:

Code Block
languagexmlthemeRDark
titleXML Example version 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
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.
  • 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 

    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. 
    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
    firstline979
    titleVersion 2.23
    linenumberstrue
    <xs:sequence>
    			<xs:element name="A" type="hlaLocusType" minOccurs="0"/>
    			<xs:element name="B" type="hlaLocusType"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>element name="C" type="hlaLocusType" minOccurs="0"/>
    			<xs:element name="E" type="hlaLocusDnaOnlyType" minOccurs="0"/>
    			<xs:element name="DRB1A" type="hlaLocusType" minOccurs="0"/>

    Examples 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

    basicTypes.xsd
    "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.
    Panel
    bgColorlightyellow
    title


    Code Block
    languagexml
    themeRDark
    firstline10631097
    titleVersion 2.23
    linenumberstrue
    <xs:sequence>
    			<xs:element name="DRB1A" type="hlaLocusTypehlaLocusSerDnaType" minOccurs="0"/>
    			<xs:element name="DRB3B" type="hlaLocusDnaOnlyTypehlaLocusSerDnaType" minOccurs="0"/>
    			<xs:element name="DRB4C" type="hlaLocusDnaOnlyTypehlaLocusSerDnaType" minOccurs="0"/>
    			<xs:element name="DRB5E" type="hlaLocusDnaOnlyType" minOccurs="0"/>
    			<xs:element name="DQA1DRB1" type="hlaLocusDnaOnlyTypehlaLocusSerDnaType" minOccurs="0"/>


    XML Example to add the HLA-E:

    Code Block
    languagexml
    <HLA>
    			<xs:element name="DQB1" type="hlaLocusType" minOccurs="0"/><A>...</A>
    	<B>...</B>	
    	<E>
    		<DNA>
    			<xs:element name="DPA1" type="hlaLocusDnaOnlyType" minOccurs="0"/><FIELD1>01:01:01:01</FIELD1>
    			<xs:element name="DPB1" type="hlaLocusDnaOnlyType" minOccurs="0"/><FIELD2>01:01:01:02</FIELD2>
    		</xs:sequence>
    
    
    • Add fields MICA and MICB (affect XML)

         Because of the request to add MICA and MICB, we see issue with naming of the existing HLA types, so some improvements are made.

  • Change the type of "hlaLocusType" to "hlaLocusSerDnaType" (XSD structure optimization)
  • Additionally 3 new schema types are added:
    - simpleType "hlaGlsFieldType"
    - complexType "hlaLocusGlsOnlyType"
    - complexType "hlaLocusSerDnaType"
    DNA>
    	</E>
    </HLA>



    Add MICA and MICB


    Panel
    bgColorlightyellow
    titlebasicTypes.xsd
    Code Block
    languagexml
    themeRDark
    firstline11021063
    titleVersion 2.32
    linenumberstrue
    			<xs:element name="DRB1" type="hlaLocusSerDnaTypehlaLocusType" 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="hlaLocusSerDnaTypehlaLocusType" 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></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.


    Code Block
    languagexml
    themeRDark
    firstline10331102
    titleVersion 2.3
    linenumberstrue
    linenumberstrue
    			<xs:element name="DRB1" type="hlaLocusSerDnaType" minOccurs="0"/>
    			<xs:element name="DRB3" type="hlaLocusDnaOnlyType" minOccurs="0	<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:complexTypeelement name="DRB4" type="hlaLocusDnaOnlyType" minOccurs="hlaLocusBaseType0">
    Code Block
    languagexml
    themeRDark
    firstline1051
    titleVersion 2.3
    linenumberstrue
    />
    			<xs:complexTypeelement name="hlaLocusSerDnaType">
    		<xs:annotation>DRB5" type="hlaLocusDnaOnlyType" minOccurs="0"/>
    			<xs:documentationelement xml:langname="enDQA1">HLA locus type comprising SER and DNA fields</xs:documentation>
    		</xs:annotation>
    		<xs:complexContent>="hlaLocusDnaOnlyType" minOccurs="0"/>
    			<xs:restriction base="hlaLocusBaseType">
    	element name="DQB1" type="hlaLocusSerDnaType" minOccurs="0"/>
    			<xs:sequence>
    		element name="DPA1" type="hlaLocusDnaOnlyType" minOccurs="0"/>
    			<xs:element name="SERDPB1" type="hlaSerFieldsTypehlaLocusDnaOnlyType" minOccurs="0" maxOccurs="1"/>
    					<xs:element name="DNAMICA" type="hlaDnaFieldsTypehlaLocusGlsOnlyType" minOccurs="0" maxOccurs="1"/>
    					<xs:element name="GLSMICB" type="hlaGlsFieldTypehlaLocusGlsOnlyType" minOccurs="0" maxOccurs="0"/>
    				</xs:sequence>
    			</xs:restriction>
    		</xs:complexContent>
    	</xs:complexType>/>
    		</xs:sequence>


    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
    Panel
    bgColorlightyellow
    titlebasicTypes.xsd
    Code Block
    languagexml
    themeRDark
    firstline10991053
    titleVersion 2.32
    linenumberstrue
    	   <xs:complexType name="hlaLocusGlsOnlyTypehlaLocusType">
    		<xs:annotation>
    			<xs:documentation xml:lang="en">HLA locus type comprising SER and DNA fields</xs:annotation>
    documentation>
    		</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="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>sequence>
    	</xs:complexType>

    Additional improvement to XSD structures:

    
    
    

    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 Add GLS field with type "hlaGlsFieldType" in the "hlaLocusBaseType"


    Code Block
    languagexml
    themeRDark
    firstline10531061
    titleVersion 2.23
    linenumberstrue
        <xs:complexType name="hlaLocusTypehlaLocusBaseType">
    		<xs:annotation>
    			<xs:documentation xml:lang="en">HLA locus base type comprising SER, and DNA fields</xs:documentation>
    		</xs:annotation>								   							  				   				 										 				 																									  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)


    Code Block
    languagexml
    themeRDark
    firstline10611033
    titleVersion 2.3
    linenumberstrue
        	<xs:complexTypesimpleType name="hlaLocusBaseType">
    		<xs:annotation>
    			<xs:documentation xml:lang="en">HLA locus base type comprising SER, DNA and GLS fields</xs:documentation>
    		</xs:annotation>hlaGlsFieldType">
    		<xs:sequence>annotation>
    			<xs:elementdocumentation namexml:lang="SERen" type="hlaSerFieldsType" minOccurs="0" maxOccurs="1"/>
    			<xs:element name="DNA" type="hlaDnaFieldsType" minOccurs="0" maxOccurs="1"/>HLA typing result provided as GL String</xs:documentation>
    		</xs:annotation>
    		<xs:restriction base="xs:string">
    			<xs:elementmaxLength namevalue="GLS" type="hlaGlsFieldType" minOccurs="0" maxOccurs="1"255"/>
    		</xs:sequence>restriction>
    	</xs:complexType>

    XSD schema type nameing optimization

    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:restriction>
    		</xs:sequence>complexContent>
    	</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
    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>