SDMX-EDI is based on the EDI (Electronic Data Interchange) method for electronically communicating information between computer systems.
EDI originated in the 1970s and is characterised by a very terse text-based format for encoding the information. This terseness was originally needed due to the low communications bandwidths and processing power available. Over time, other formats such as XML became technically feasible as communications and computing improved, however EDI remains in use for the exchange of statistical data particularly in central banking.
SDMX-EDI is also known as GESMES/TS, a data model and message format designed specifically for the standardised exchange of statistical data and metadata. GESMES/TS is a derivation of the GESMES EDI message, a UN/CEFACT a standard using the EDIFACT syntax.
SDMX-EDI was intended for batch exchange of large amounts of time series data data between counterparties, its terseness allowing for extremely compact expression of large whole or partial data sets. Non time series data such as cross-sectional can be supported if represented as repackaged time series, but there is no direct support for cross-sectional data in this format.
In addition to only supporting time series, SDMX-EDI is limited to the SDMX version 1.0 information model meaning that more sophisticated features like transmitting reference metadata as part of the data messages as introduced in SDMX 3.0 are not supported.
The following is an example SDMX-EDI data message
UNA:+.? '
UNB+UNOC:3+Unknown+ANONYMOUS+200330:1255+IREF729132++SDMX-EDI'
UNH+MREF000001+GESMES:2:1:E6'
BGM+74'
NAD+Z02+WB'
NAD+MR+ANONYMOUS'
NAD+MS+Unknown'
DSI+GCI'
STS+3+7'
DTM+242:202003301255:203'
DTM+Z02:2008010120170101:711'
IDE+5+GCI'
GIS+AR3'
GIS+1:::-'
ARR++GHA:GCI:RANK:A:20082017:702:102+114+114+114+103+114+111+119+114+111'
ARR++GHA:GCI:VALUE:A:20082017:702:3.616139933+3.448062477+3.55568976+3.64915433+3.792629136+3.693773108+3.713529283+3.582722052+3.679439434+3.7227024636142'
UNT+15+MREF000001'
UNZ+1+IREF729132'
You’ll note that the equivalent message in SDMX-ML (XML) 2.1 structure specific is more readable, but also more verbose.
<message:StructureSpecificData xmlns:ss="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:footer="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer" xmlns:ns1="urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=WB:GCI(1.0):ObsLevelDim:TIME_PERIOD" xmlns:message="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message" xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message https://registry.sdmx.org/schemas/v2_1/SDMXMessage.xsd urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=WB:GCI(1.0):ObsLevelDim:TIME_PERIOD https://demo11.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/schema/dataflow/WB/GCI/1.0?format=sdmx-2.1">
<message:Header>
<message:ID>IREF428900</message:ID>
<message:Test>false</message:Test>
<message:Prepared>2022-09-29T09:14:50Z</message:Prepared>
<message:Sender id="MT"/>
<message:Receiver id="guest"/>
<message:Structure structureID="WB_GCI_1_0" namespace="urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=WB:GCI(1.0):ObsLevelDim:TIME_PERIOD" dimensionAtObservation="TIME_PERIOD">
<common:StructureUsage>
<Ref agencyID="WB" id="GCI" version="1.0"/>
</common:StructureUsage>
</message:Structure>
<message:DataSetAction>Information</message:DataSetAction>
<message:Extracted>2022-09-29T09:14:50</message:Extracted>
<message:ReportingBegin>2008-01-01T00:00:00</message:ReportingBegin>
<message:ReportingEnd>2017-01-01T23:59:59</message:ReportingEnd>
</message:Header>
<message:DataSet ss:dataScope="DataStructure" xsi:type="ns1:DataSetType" ss:structureRef="WB_GCI_1_0">
<Series REF_AREA="GHA" INDICATOR="GCI" SUB_INDICATOR="RANK" FREQ="A">
<Obs TIME_PERIOD="2008" OBS_VALUE="102"/>
<Obs TIME_PERIOD="2009" OBS_VALUE="114"/>
<Obs TIME_PERIOD="2010" OBS_VALUE="114"/>
<Obs TIME_PERIOD="2011" OBS_VALUE="114"/>
<Obs TIME_PERIOD="2012" OBS_VALUE="103"/>
<Obs TIME_PERIOD="2013" OBS_VALUE="114"/>
<Obs TIME_PERIOD="2014" OBS_VALUE="111"/>
<Obs TIME_PERIOD="2015" OBS_VALUE="119"/>
<Obs TIME_PERIOD="2016" OBS_VALUE="114"/>
<Obs TIME_PERIOD="2017" OBS_VALUE="111"/>
</Series>
<Series REF_AREA="GHA" INDICATOR="GCI" SUB_INDICATOR="VALUE" FREQ="A">
<Obs TIME_PERIOD="2008" OBS_VALUE="3.616139933"/>
<Obs TIME_PERIOD="2009" OBS_VALUE="3.448062477"/>
<Obs TIME_PERIOD="2010" OBS_VALUE="3.55568976"/>
<Obs TIME_PERIOD="2011" OBS_VALUE="3.64915433"/>
<Obs TIME_PERIOD="2012" OBS_VALUE="3.792629136"/>
<Obs TIME_PERIOD="2013" OBS_VALUE="3.693773108"/>
<Obs TIME_PERIOD="2014" OBS_VALUE="3.713529283"/>
<Obs TIME_PERIOD="2015" OBS_VALUE="3.582722052"/>
<Obs TIME_PERIOD="2016" OBS_VALUE="3.679439434"/>
<Obs TIME_PERIOD="2017" OBS_VALUE="3.72270246361418"/>
</Series>
</message:DataSet>
</message:StructureSpecificData>
SDMX-EDI is still used for some data exchanges so the ability to convert data messages to and from the format remains useful.
Information such as embedded reference meteadata will be lost when converting from later SDMX-ML, SDMX-JSON and SDMX-CSV formats to SDMX-EDI.
In the next unit we’ll learn how to convert SDMX datasets in practice interactively using FMR’s web user interface
Need help finding something? I am an AI Assistant that’s here to help!
What are you looking for?
By using this AI-powered service (“Service”), you acknowledge and agree to the following:
This Service uses generative AI to assist with statistical analysis and research . While the Service strives to deliver useful information, the output (“Output”) may contain inaccuracies, omissions, or biases. The Output is provided for informational purposes only and should not be considered professional advice. You remain responsible for how you interpret and use the Output.
The BIS makes no warranties regarding the accuracy or completeness of the Output and accepts no liability for any loss or damage resulting from its use.
Do not include or share personal, private, confidential or proprietary information when using the Service.
By using this technology, you agree to the Terms and Conditions.
Ask and get clear explanations about SDMX standards.
Find tools and documentation on website quickly.
Ask about API, software and libraries supporting SDMX.
Locate technical guides, specifications, and FAQs.