Skip to content

How to contribute

ylaizet edited this page Aug 18, 2021 · 24 revisions

If you are interested in the OSIRIS data framework and you want to contribute and develop new extensions or simply update existing concepts, you are more than welcome. You just have to read the following procedure.

  1. Fork the OSIRIS project and clone it on your local repository.

  2. Have a look to the OSIRIS physical model schema and check if the concept (or an attribute of a concept) you want to add doesn't already exist. If not, you can start suggesting OSIRIS model extensions!

  3. Edit the Data Element Concept file (data/DataElementConcept.tsv) in your local repository, add/update any information :

  • ObjectClass : the name of the concept to add/update
  • ObjectProperty : the name of a property/attribute to add/update
  • DataElementConcept : the Data Element Concept key which MUST be the concatenation of the ObjectClass value and the ObjectProperty value separated by an underscore ("_")
  • ObjectPropertyLabelEN : the english label of the property
  • ObjectPropertyLabelFR : the french label of the property
  • ConceptualDomain : if your property is using a value set, please indicate here the name of the value set. The name of the value set MUST be the same as the one used in the field ConceptualDomain in the Conceptual Domain file.
  • FormatConceptualDomain : the format of the property value (String, Integer, Float, Date)
  • Required : indicate if the property is optional or mandatory (if the property is mandatory with conditions, please detail the rule)
  • DataElementConceptDefFR : the french description of the Data Element Concept
  • DataElementConceptDefEN : the english description of the Data Element Concept
  • IdDataElementConcept : if you're adding a new Data Element Concept, please add NEW in this field, otherwise leave it as it is.
  • Examples : please, give some examples of possible values for the property

If the concepts or the properties that you are adding require the use of value sets, you have to complete the Conceptual Domain file and add the corresponding value sets. We DON'T RECOMMEND TO UPDATE THE EXISTING VALUE SETS but you can suggest any modifications by declaring Github issues here.

  1. Edit the Conceptual Domain file (data/ConceptualDomain.tsv) in your local repository, add any information :
  • ValueMeaning : the value code in the value set
  • LabelValueMeaning : the value label in the value set
  • Referentiel : the reference of the terminology
  • url : the resource URL of the terminology (if it exists)
  • TypeConceptualDomain : the default value is Enumerated
  • FormatConceptualDomain : the general format of the values (String, Integer, Float, etc.)
  • ConceptualDomain : the name of the value set. The name of the value set MUST be the same at the one used in the field ConceptualDomain in the Data Element Concept file.

For data integration purpose, we have defined specific flat files (called "pivot" files). There is one file by existing concept (Patient, TumorPathologyEvent, BiologicalSample, etc.). Each file is named using the following naming system OSIRIS_pivot_<ObjectClass>.csv

  1. If you want to update existing pivot files, edit the corresponding file and add or update fields.
  2. If you want to create a new pivot file for adding a new concept, add another pivot file in the pivot/ directory of your local repository. Please comply with the naming system described above.

Last steps, you are almost done...

  1. Commit and push your modifications on your Github fork
  2. If you want to contribute and make your updates available in the official OSIRIS release, please make a Github pull request.

The OSIRIS group will assess your request, check its relevance and control if there is no conflict with the current OSIRIS model. If your request is granted, your contribution will be added to the official OSIRIS model and the OSIRIS physical model will be updated by the OSIRIS group.

For any question or support, please contact us at [email protected]

Clone this wiki locally