<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
language
xml
theme
RDark
firstline
86
title
Version 2.3
linenumbers
true
<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
language
xml
theme
RDark
firstline
199
title
Version 2.3
linenumbers
true
<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>
<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
language
xml
theme
RDark
firstline
979
title
Version 2.3
linenumbers
true
<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>
<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
language
xml
theme
RDark
firstline
1061
title
Version 2.3
linenumbers
true
<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>