-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation: Extension proposal for Contract Registers #703
Comments
Some additional information we may want to include in the extension in terms of definitions:
|
Thanks for the proposal! Concerning your two questions above:
|
Thanks @JachymHercher . I think you are right in the reading that we don't have a conclusive and single simple way to distinguish 'success' from 'failure' at the moment, although it would certainly be possible in some cases to use Looking back at #395 and working through the data we need to handle, I understand that: A contract is signed, and is then active The contract is implemented During the implementation phase, a contract may:
Using the It may be possible to separate (2) from (1a-c) by the use of It may be possible to then distinguish (3) from (2) by having milestones with All of this makes me wonder whether we do need something like One of the challenges here (as other research notes below show) is that we've not got many existing contracts registers systems to base a supply-side analysis of data from. Other research Oracle have a useful list of how they map different custom contract states to a common list of 'Pending', 'Active' and 'Closed' codes in their systems which illustrates the range of states that might exist in a contract mamangement system, and how these could map to higher level categories. I couldn't find a contract status field in the Portugal Contracts Register. |
Thanks for the analysis. Concerning what happens during the implementation phase, I think it's useful to keep separate the "what", "when", "who". So, for example, I'd say your points (2) and (3) are "what"; you're point (1) is about "who", right? (With, arguably, 1(c) being relevant only to smart contracts, because otherwise it's always an action of a contractual party to interpret a particular provision of the contract as saying this or that, and thus deciding to end the contract.) For our needs, we are very interested in the "what", while the "who" is definitely a lower priority. Two other considerations:
|
A draft version of this extension is staged at https://github.com/open-contracting-extensions/ocds_contractRegister_extension In the documentation I've included some signposting to how existing fields can be used as part of a contracts register, although this content may want to move into a separate guidance document in future. Still to do are:
Feedback on the current draft extension in this thread is welcome. |
I've added examples and tested the extension. Final step now is to
|
It was added to the registry on September 4. https://github.com/open-contracting/extension_registry/blob/master/extension_versions.csv#L13 |
|
|
|
2: The community extensions on that page all link to GitHub, so I would recommend directly linking to https://github.com/open-contracting-extensions/ocds_contractRegister_extension |
I've made a note in #392 about subcontractors. I've renamed the contract register repository. The old link redirects without issue. |
This issue outlines a proposal for an extension. We are looking to introduce this as a community extension during early May, so welcome views and feedback.
Motivation
The contract registers encouraged by the European Commission must include, among other requirements:
Completion refers to the moment when all legal obligations of the contractual parties have been fulfilled (incl. obligations such as maintenance, warranty) or all parties are no longer bound by the contract for other reasons.
Discussion
In OCDS, these values are implicit rather than explicit.
On one hand, if you have complete data (ideal scenario), it is possible to calculate these. For example, within a
Contract
object:status
isterminated
, and if all transactions are disclosed inimplementation/transactions
, then the sum ofimplementation/transactions/*/amount/value
is the total value of all payments for the completed contract (ignoring the case where multiple currencies are used).value/amount
and either: concatenating theiramendments/*/rationale
, or taking therationale
in the most recent release. (If a versionedRelease is provided, it is simpler to find the releases that change the value ofvalue/amount
.)On the other hand:
Therefore, new fields and guidance should be provided for these use cases.
There is relevant prior discussion in #395 (comment)
Regarding "The date when the contract was completed": A
Contract
object'speriod
is defined as "The start and end date for the contract." and itsendDate
is defined as "The end date for the period. When known, a precise end date must always be provided." Whether aContract
object'speriod
field can be used to satisfy this use case depends on whether "completion date" and "end date" are intended to mean the same thing. For example, a contract can end without completion (e.g. early termination).Questions:
Proposal
Following the pattern explored in #395 we propose to extend
contracts/implementation
with properties forendDate
,endDateDetails
,finalValue
andfinalValueDetails
as follows:Draft definitions for these properties are below:
implementation/endDate
- The date when contract implementation ended. This should only be provided when contract implementation is complete. Whereimplementation/endDate
varies from the anticipatedcontract/period/endDate
an explanation of the variance should be provided inimplementation/endDateDetails
.implementation/endDateDetails
- Details related to the endDate. This may be a justification for the contract's completion date being different than in the original contract.implementation/finalValue
- The total value of all payments for a completed contract. This should only be provided when the final payment has been recorded. Ifimplementation/transactions
are used for this contract, this field should equal the sum of thetransaction/value/amount
fields. WherefinalValue/amount
varies fromcontract/value/amount
an explanation of the variance should be provided infinalValueDetails
.implementation/finalValueDetails
- Details related to the final value. This may be a justification for the completed contract's value being different than in the original contract.Note that we are using 'details' fields rather than 'justification' fields to fit with OCDS idiom, and accomodate cases other than the EU, where these fields could be used for annotation of difference, without neccessarily providing a justification. EU uses would apply a stronger definition to these fields to say that they must include a justification where there is variance.
This modelling would also support the optional inclusion of properties for:
implementation/startDate
in cases where users wish to record the date on which work started on a project.implementation/status
to apply the ideas from contractStatus: Add termination codes #395 (comment) around allowing the status of implementation to be recorded as cancelled (for example)Unless there are strong views to the contrary, these to additional fields will not, however, be included in a draft extension.
The text was updated successfully, but these errors were encountered: