Time Period Format Validation

From FMR Knowledge Base
Revision as of 02:05, 29 July 2022 by Glenn (talk | contribs) (Using 'H' for half-year (semiannual))
Jump to navigation Jump to search

The Registry will validate observation dates against an expected format. This Data Validator is called “Time Period Format” and enforces that format of the reported time periods match the expected value defined in the DSD. Note: This Data Validator is only applied if the Data Structure has a dimension called “FREQ”. This time formats are defined as follows:

Format Frequency Code Example Usage
Yearly A 2001
Half-Of-Year S 2001-S1
Third-Of-Year T 2001-T3
Quarter-Of-Year Q 2001-Q4
Month M 2001-12
Week W 2001-W52
Date D 2001-12-31
Hour H 2001-12-31T23
Date Time I 2001-12-31T23:59:59

Using 'H' for half-year (semiannual)

At ESCB level SDMX data exchanges, there is an agreement to use ‘H’ as the frequency value for semiannual observations with ‘YYYY-S1’ for TIME_PERIOD format.

The Registry supports this by setting 'alternate half year' mode under which:

  • Frequency value H means half-year (semiannual or semester)
  • The hourly frequency is not supported
  • 'YYYY-S1' is the TIME_PERIOD format for half-yearly observations

Alternate half year mode is controlled at system level on Registry start-up by setting the Java System variable “TF_ALTERNATE_HALF_YEAR” to “true”.

The simplest way to perform this is by modifying the setenv.bat or setenv.sh file. To illustrate this:

 SET JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true
 (For Windows systems)
 export JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true
 (For Unix systems)

The Fusion Registry system log will report the following message:

 2021-12-31 23:59:59.123 INFO main io.sdmx.core.fmr.application.FusionRegistryApplicationInitialiser - Using 'Alternate Half-Year' Setting

Active system properties can also be queried using the REST API here.