This repository was primarily for the development and testing of CORE conformance rules for USDM v3 and v4 JSON data in JSON.
The rules folder contains a sub-folder for each rule, and each sub-folder contains one or more of the following files:
<rule id>.yaml: the rule definition in YAML format, as seen in the CORE rules editor.<rule id>.json: the rule definition represented in JSON format.<rule id>.jsonata: a JSONata representation of the rule logic used for testing before CORE JSON Rules functionality was available.<rule id>.jsonata-book: JSONata code used to manipulate the original USDM example data files to create JSON positive and negative test data.unit-test-coreid-<rule id>-<positive|negative>[-n].json: positive/negative unit test data files used for interim testing. The final test data files are stored in the CORE SharePoint area.
The testdata folder contains updated versions of published example USDM data files. Files are named <Example study name>_<USDM version: v3|v4>_<FIXED|Dirty>.json.
- Each
FIXEDfile is a copy of the original example file in which any issue highlighted by the developed conformance rules has been fixed. - Each
Dirtyfile contains a known set of errors to allow testing of CORE rule functionality.
The utils folder contains JSONata function files that were developed for different purposes:
- For use with conformance rules. Most of these have been superseded, but are retained as JSONata code references.
- To facilitate manipulation of test data files.
- To perform in situ rule testing.