open-contracting / ocdskit

A suite of command-line tools for working with OCDS data
https://ocdskit.readthedocs.io
BSD 3-Clause "New" or "Revised" License
17 stars 6 forks source link

OC4IDS transforms: Handling multiple contracting processes #130

Closed kindly closed 4 years ago

kindly commented 4 years ago

There are a few areas in the OCDS -> OC4IDS conversion where what to do with data across different contracting processes is not currently clearly defined. I do not think there is a perfect solution to these but below outlines what the current implementation does so that we can discuss other potential solutions.

planning/project/title, project/planning/description (planning and budget extension)

If there are any contradictions i.e one contract says the title is different from another a warning is raised and the field is ignored in that case. If all contracting processes agree (when the fields exists in them) then the value is still used.

tender/title, tender/description, /planning/rationale

If there a multiple contradicting process then we concatenate the strings and put the ocid in angle brackets like

<someocid> a tender description
<anotherocid> another description

If there is only one contracting processes then the ocid part is omitted.

parties

We need to deal with party/id from different contracting processes conflicting and also if there are parties in multiple contracting processes that are the same, we should treat them as the same party.

Current logic:

docs

If there are are only unique project/documents/id keep the ids the same. Otherwise create a new auto-increment for all docs.

duncandewhurst commented 4 years ago

For planning/project/sector - since this is an array, I would prefer to add the sectors from all contracting processes.

Otherwise all sounds good.

kindly commented 4 years ago

Sector now gets unique scheme-id strings from all contracting processes.

jpmckinney commented 4 years ago

The solutions seem reasonable to me. @duncandewhurst If you agree, then I think this issue can be closed?

duncandewhurst commented 4 years ago

All good!