Files
enviPy-bayer/epiuclid/schemas/v10/platform-metadata.xsd
Tobias O d06bd0d4fd [Feature] Minimal IUCLID export (#338)
This is an initial implementation that creates a working minimal .i6z document.
It passes schema validation and can be imported into IUCLID.

Caveat:
IUCLID files target individual compounds.
Pathway is not actually covered by the format.

It can be added in either soil or water and soil OECD endpoints.
**I currently only implemented the soil endpoint for all data.**

This sort of works, and I can report all degradation products in a pathway (not a nice view, but we can report many transformation products and add a diagram attachment in the future).

Adding additional information is an absolute pain, as we need to explicitly map each type of information to the relevant OECD field.
I use the XSD scheme for validation, but unfortunately the IUCLID parser is not fully compliant and requires a specific order, etc.

The workflow is: finding the AI structure from the XSD scheme -> make the scheme validation pass -> upload to IUCLID to get obscure error messages -> guess what could be wrong -> repeat 💣

New specifications get released once per year, so we will have to update accordingly.
I believe that this should be a more expensive feature, as it requires significant effort to uphold.

Currently implemented for root compound only in SOIL:

- Soil Texture 2
- Soil Texture 1
- pH value
- Half-life per soil sample / scenario (mapped to disappearance; not sure about that).
- CEC
- Organic Matter (only Carbon)
- Moisture content
- Humidity

<img width="2123" alt="image.png" src="attachments/d29830e1-65ef-4136-8939-1825e0959c62">
<img width="2124" alt="image.png" src="attachments/ac9de2ac-bf68-4ba4-b40b-82f810a9de93">
<img width="2139" alt="image.png" src="attachments/5674c7e6-865e-420e-974a-6b825b331e6c">

Reviewed-on: enviPath/enviPy#338
Co-authored-by: Tobias O <tobias.olenyi@envipath.com>
Co-committed-by: Tobias O <tobias.olenyi@envipath.com>
2026-04-07 19:46:12 +12:00

139 lines
5.7 KiB
XML

<xs:schema xmlns="http://iuclid6.echa.europa.eu/namespaces/platform-metadata/v1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://iuclid6.echa.europa.eu/namespaces/platform-metadata/v1"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xs:annotation>
<xs:appinfo>XML Schema Definition of the "PlatformMetadata" section</xs:appinfo>
</xs:annotation>
<xs:element name="iuclidVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The current iuclid version used for exporting the .i6z archive</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="documentKey" type="xs:string">
<xs:annotation>
<xs:documentation>The unique identifier of the document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="documentType" type="xs:string">
<xs:annotation>
<xs:documentation>The type of the document. Eligible values are:
<ul>
<li>ANNOTATION</li>
<li>ARTICLE</li>
<li>CATEGORY</li>
<li>DOSSIER</li>
<li>FIXED_RECORD</li>
<li>FLEXIBLE_RECORD</li>
<li>ENDPOINT_STUDY_RECORD</li>
<li>FLEXIBLE_SUMMARY</li>
<li>ENDPOINT_SUMMARY</li>
<li>ASSESSMENT_ENTITY</li>
<li>LEGAL_ENTITY</li>
<li>MIXTURE</li>
<li>REFERENCE_SUBSTANCE</li>
<li>SITE</li>
<li>CONTACT</li>
<li>LITERATURE</li>
<li>SUBSTANCE</li>
<li>TEMPLATE</li>
<li>TEST_MATERIAL_INFORMATION</li>
<li>INVENTORY</li>
<li>CUSTOM_ENTITY</li>
<li>CUSTOM_SECTION</li>
</ul></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="definitionVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The definition version of the exported document. This value is used:
<ul>
<li>indicates that the content section follows the document format of the specified version</li>
<li>during import operation, this value drives the resolution of the proper document's .xsd to run the validation with</li>
</ul></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="creationDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The date that the document was created</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="lastModificationDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The last modification date of the document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="name" type="xs:string">
<xs:annotation>
<xs:documentation>It is the name of the document as specified by the user.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="documentSubType" type="xs:string">
<xs:annotation>
<xs:documentation>The subtype in case of section document. This information is not applicable to entity documents. "type"."subtype" uniquely identify the section document type and represent the document definition identifier</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="parentDocumentKey" type="xs:string">
<xs:annotation>
<xs:documentation>In case this document is a section document, this element keeps the unique identifier of its parent document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="orderInSectionNo">
<xs:annotation>
<xs:documentation>In case this is a section document, the order of the document with the specific definition identifier (type, subtype) under the provided parent entity</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="submissionType" type="xs:string">
<xs:annotation>
<xs:documentation>Applicable only to dossier archives. Indicates the submission type used during dossier generation. The value is specified in case the XML concerns:
<ul>
<li>the dossier document</li>
<li>the composite documents (SUBSTANCE/MIXTURE) under the dossier with a submission type different than the one of the dossier document</li>
</ul></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="submissionTypeVersion" type="xs:string">
<xs:annotation>
<xs:documentation>The version of the submission type used to generate the dossier for</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="submittingLegalEntity" type="xs:string">
<xs:annotation>
<xs:documentation>The legal entity document identifier that originated toe dossier creation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dossierSubject" type="xs:string">
<xs:annotation>
<xs:documentation>In case this is the dossier document, it contains the document key (unique identifier)
of the dossier subject document (SUBSTANCE, MIXTURE, CATEGORY, ARTICLE) which is the document the dossier was created from</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="i5Origin" type="xs:boolean">
<xs:annotation>
<xs:documentation>Flag indicating whether this document originated from a IUCLID5 instance and migrated to the current IUCLID6 format or not</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="creationTool" type="xs:string">
<xs:annotation>
<xs:documentation>Element that specifies the application this document was first created with. Default value "IUC6" should be provided for IUCLID6-documents</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="snapshotCreationTool" type="xs:string">
<xs:annotation>
<xs:documentation>In case of dossier archive, element that specifies the application this dossier was created from. Upon dossier creation this is filled in with "IUC6"</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>