open-contracting-extensions / european-union

OCDS for the European Union
http://standard.open-contracting.org/profiles/eu/latest/en/
Apache License 2.0
9 stars 0 forks source link

F03 section V: /AWARD_CONTRACT/CONTRACT_NO mapping results in duplicate award ids #91

Closed duncandewhurst closed 3 years ago

duncandewhurst commented 3 years ago

If not set, let Contract No be the notice number followed by a hyphen ‘-‘ followed by the value of the ITEM attribute of the AWARD_CONTRACT element. Map to the award’s .id.

In Find a Tender Service, Contract No can have the same value across multiple V. Award of contract sections (example), so implementing the above mapping results in awards with duplicate identifiers.

jpmckinney commented 3 years ago

Where can I see the JSON for that page?

duncandewhurst commented 3 years ago

https://gist.github.com/duncandewhurst/d8fb754ff9c2c73377d4f5bebff2a422

Edit: Or in Kingfisher process collection 1920 with ocid = ocds-h6vhtk-028d61 and release id = 1.

jpmckinney commented 3 years ago

This seems like a data quality issue. I don't see how different contracts could reasonably have the same Contract No.

That said, I suggest advising FTS to assign following the "If not set" guidance.

duncandewhurst commented 3 years ago

The issue is fairly common in the FTS data, it occurs in 53/182 contracting process with multiple awards. It's also fairly serious, since the duplicate awards are effectively removed during the merge routine, so information is lost in the compiled releases.

Looking at the example shared above, which is a framework agreement, I guess it occurred because whoever completed the form interpreted Contract No. as the number of the framework contract. I'm not sure what the correct semantics of Contract No. are when the form relates to a framework agreement.

Can we update the mapping in the profile to avoid the issue happening at all, since I assume uniqueness of Contract No. isn't enforced in the TED XML schema?

jpmckinney commented 3 years ago

F20 Modification Notice uses CONTRACT_NO to identify the award/contract being modified (which in OCDS just means overwriting the award/contract). If we change the mapping in the Contract Award Notice, then F20 will create "ghost" awards.

That said, in FTS, it seems like it would be impossible to reconcile the contract in F20 with any contract, since they all have the same number in that example process.

I'll put a warning, but there is no way for all problems to go away without addressing the data quality issue.

jpmckinney commented 3 years ago

Once built, you will see the link to the warning: https://standard.open-contracting.org/staging/profiles/eu/latest/en/forms/F03/#V It links to https://github.com/open-contracting-extensions/european-union/issues/93

duncandewhurst commented 3 years ago

Looks good, thanks.