bmir-radx / radx-project

This repo serves as a primary location for tracking issues that don't quite fit into our other dedicated repositories
0 stars 0 forks source link

Create Harmonization Rule Data Structure #39

Open matthewhorridge opened 8 months ago

matthewhorridge commented 8 months ago

We need a data structure that describes how to map one Data Element into another Data Element.

This should capture: Id -> Id mapping Value -> Value transformation rules

matthewhorridge commented 7 months ago

More details, as discussed this morning (Nov 13, 2023).

Data Element Id Harmonization is a function mapping HarmonizeDataElementId(DataElementId, RADxProgramId) -> Id.

PartitionDataDictionary is a function that partitions a data dictionary into covering subsets:PartitionDataDictionary(DataDictionary, RADxProgramId) -> Partition.

Partition is a function that returns the partion that a data element in a data dictionary falls into: Partition(DataDictionary, RADxProgramId, DataElementId) -> Partition containing DataElementId or empty set

Data Value Harmonization is a function mapping HarmonizeDataValue(Partition(DataElementId, RADxProgramId), StudyId, DataValue) -> DataValue or null