HSDS Transformer Use Cases

Hi everyone!

Following up on recent discussions, here are the latest resources from our work on the HSDS Transformer (a large change from the last time we posted!). These include the main repository, a sample mapping spreadsheet, and our current mapping documentation which includes on the final page step by step instructions on how to use the mapping spreadsheet.

HSDS Transformer Repository:
https://github.com/stevensblueprint/hsds-transformer

Mapping Documentation:
https://docs.google.com/document/d/1km9xY7G_f-4mciHj-6hRhHE3tuk_mhMVLM9jGsrAZn4/edit?usp=drive_link

Sample Mapping Spreadsheet:
https://docs.google.com/spreadsheets/d/1pE8kLsQlLfoGgRzWLNGZdPUmspjFaLSp2S65b-ds2E4/edit?usp=drive_link

The transformer is currently designed as a command line interface (CLI) tool to support transformation from CSVs (flat files) into JSON files in the HSDS Specification. It supports the following cases for input data:

  • Different column headers/field names to HSDS (PhoneNumber in input data maps to number in HSDS)

  • Multiple CSV files linked by IDs (i.e. deprecated HSDS)

  • Multiple columns in input data that all correspond to one field in HSDS

  • Splitting cells up into multiple HSDS objects (i.e. the input file contains a Languages column which has {English,German,Spanish,etc}

  • Stripping extra characters/sets of characters from all cells in a column (i.e. removing {} from the previous example)

  • Multiple types of objects in one spreadsheet (and their subsequent linking) (i.e. storing (HSDS) Organizations and Services in one file)

The sample mapping at this moment includes some but not all of the objects and fields/paths from HSDS. The mapping is described in the mapping documentation. Any feedback on whether the mapping and process feels intuitive, and whether there are additional cases we should support is greatly appreciated!

We also wanted to share that we have developed a HSDS Validator as an extension of the original project. This Validator was mainly developed as a way to test our own transformer (i.e. as a CLI tool meant to validate directories of JSON files of a singular HSDS type) and familiarize us with the HSDS format/standard. We currently have a version published as a python package on PyPi for ease of use. We hope it can be useful/of service in any way and welcome any feedback or suggestions!

HSDS Validator Python Package:
hsds-validator · PyPI

HSDS Validator Repository:
https://github.com/stevensblueprint/hsds-validator

We are currently working on documentation for this validation tool and will be sure to update along the way as well as our work on the transformer.

Thank you very much!

The Blueprint Team

1 Like