Skip to content

cdisc-org/rule-transformations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tools to transform CORE rule structures

Implement alternative transformers

In order to create a transformer provider for a different type of storage, implement the Transformer interface. Some provider implementations are already provided:

  • CosmosdbTransformer for ms cosmosdb storage
  • JSONTransformer for simple json filesystem storage
  • YAMLTransformer for simple yaml filesystem storage

Create transformers

CosmosdbTransformer

from transformer.transformer_cosmosdb import CosmosdbTransformer
prod_transformer = CosmosdbTransformer(
    getenv("PROD_COSMOS_URL"),
    getenv("PROD_COSMOS_KEY"),
    getenv("PROD_COSMOS_DATABASE"),
    getenv("PROD_COSMOS_CONTAINER"),
)

JSON File Transformer

from transformer.transformer_json import JSONTransformer
json_transformer = JSONTransformer(f"{getenv('WORKING_DIR')}/rules")

YAML File Transformer

from transformer.transformer_yaml import YAMLTransformer
yaml_transformer = YAMLTransformer(f"{getenv('WORKING_DIR')}/rules")

Export Rules

prod_transformer.export_json(f"{getenv('WORKING_DIR')}/rules")

Delete and replace rules from one transformer location to another

from transformer.transformer import Transformer
Transformer.replace_rules(
    from_transformer=prod_transformer, to_transformer=dev_transformer
)

Run Transformations

There are sets of transformations available and you can implement your own set of transformations. Some sets provided:

  • transformations_misc
  • transformations_crog

Run CROG Schema Transformations:

from transformer.transformations_crog import (
    all_transformations,
)
dev_transformer.transform_rules(all_transformations())

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages