Versions Compared

Key

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

Timeline


Proposal ready:

  

XSD public

available

review

17 Sep

 -  


Communication period
Implementation / testing

Q4, 2020

Release Date

Q4,2020 or Q1

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    

Till Nov, 2020, as there are only 40% of organization moved to XSD 2.2, WMDA data-upload decide to keep 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.

Download XSD version 2.3 :

...

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

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


Attachments


Changes between version 2.2 and 2.3

Table of Contents

...

  •  <?xml version="1.0" encoding="UTF-8" ?>

Updated version Updated version number to 2.3

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

...

Move GRID/

...

ID 


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 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", Move GRID to the sequence to the type "donItemType", and changed GRID to 'required'.
  • Business rules state : DONOR records should have grid, and optional ID. CBU records should have ID, and no GRID.
  • Changed length to 25 chars
    Please note that in a future version (2.3) the GRID and ID will probably move to another location.


Code Block
languagexml
themeRDark
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" minOccursminOccurs="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:annotation>
					</xs:element>
					<xs:elementdocumentation namexml:lang="GRID" minOccurs="1">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="STAT_REASON" type="statReasonCbuTypeID" minOccurs="01">
						...
					</xs:element>
					<xs:element name="IDSTAT_REASON" type="statReasonCbuType" minOccurs="10">
						...
					</xs:element>

Add HLA-E


XML Example  version 2.3:

Code Block
firstline
languagexml
themeRDark
1059
titleVersion XML Example version 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
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 version 2.2
linenumberstrue
<xs:sequence>
			<xs:element name="A" type="hlaLocusTypeKIR_GL" 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"/>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
  • 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.3
linenumberstrue
<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:

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

Additionally a new simpleType bareBankIdType has been defined in basicTypes

Code Block
<xs:simpleType name="cbBankIdType">
		<!-- @v2.2 added -->
		<xs:annotation>
			<xs:documentation xml:lang="en">Bank ID type (CBB)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="10"/>
		</xs:restriction>
	</xs:simpleType>sequence>


XML example to use MICAExamples to add the HLA-E:

Code Block
languagexml
<HLA>
	<A>...</A>
	<B>...</B>	
	<E><DPB1>...</DPB1>
		<DNA><MICA>
			<FIELD1>01<GLS>008:01:01/008:01:02/008:01</FIELD1>
			<FIELD2>01:01:0103/008:04+018:01/018:02</FIELD2>GLS>
		</DNA>MICA>
	</E>
</HLA>

...

XSD schema type naming optimization

Panel
bgColorlightyellow
titleInventoriesbasicTypes.xsd
Code Block
languagexml
themeRDark
firstline1053
titleVersion 2.2
linenumberstrue
			   <xs:elementcomplexType name="GRID" minOccurs="0"  hlaLocusType">
				<xs:annotation>
					<xs:documentation xml:lang="en">Global registration identifier of the donor/CBU.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
>HLA locus type comprising SER and DNA fields</xs:documentation>
		</xs:annotation>								   							  				   				 										 				 																		<xs:length value="19"/>
					</xs:restriction>
		  
		</xs:simpleType>
  • Updated documentation
  • Please note that in version 2.3 the position of this element may change
    Code Block
    languagexml
    linenumberstrue
    <xs:sequence>
    			<xs:element name="GRID"SER" type="hlaSerFieldsType" minOccurs="0"  maxOccurs="1"/>
    				<xs:annotation>
    					<xs:documentationelement xml:langname="enDNA">Global registration identifier of the donor. This element is required for Donors.</xs:documentation>
    type="hlaDnaFieldsType" minOccurs="0" maxOccurs="1"/>				</xs:annotation>
    				<xs:simpleType>
    					<xs:restriction base="xs:string">
    						<xs:length value="19"/>  
    					</xs:restriction>sequence>
    				</xs:simpleType>

    Updated CMV elements ( RFC-001S Distinguish different CMV/HIV tests (ANTI-vs. PCR)#/ )

    • Renamed CMV to ANTI_CMV
    • Renamed CMV_DATE to ANTI_CMV_DATE and changed order to be after ANTI_CMV
    • Added CMV_NAT_DATE
    • The changes above effect CMV fields for DONOR, CBU, and CBU Maternal

    ...

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

    ...


    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>


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