Skip to content

Commit

Permalink
Merge pull request #1410 from open-contracting/merge-1.1-dev
Browse files Browse the repository at this point in the history
Merge 1.1-dev into 1.2-dev
  • Loading branch information
jpmckinney authored Sep 2, 2021
2 parents 46be658 + 6034f31 commit 103c928
Show file tree
Hide file tree
Showing 9 changed files with 173 additions and 96 deletions.
Binary file modified docs/_static/png/framework_agreement_types.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/guidance/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ The four phases of implementation described in this guide have helped implemente

Read the guidance to understand the main steps to implement OCDS and to find supporting resources. Detailed guidance on specific topics and tasks is provided in sub-pages.

Use the [OCDS Implementation Checklist](https://www.open-contracting.org/resources/ocds-implementation-checklist) to keep track of your progress.

```{toctree}
:maxdepth: 2
Expand Down
2 changes: 1 addition & 1 deletion docs/guidance/map.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Mapping data to OCDS is not always obvious. Please refer to our how-to guides an
map/contracting_planning_processes
map/unsuccessful_processes
map/related_processes
map/framework_agreements
map/pre-qualification
map/awards_contracts
map/contract_suspension
Expand Down
2 changes: 1 addition & 1 deletion docs/guidance/map/contracting_planning_processes.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ We recommend publishing data about planning and contracting processes under sepa
```

```{note}
In OCDS 1.2 and earlier, it is not possible to publish all information about multi-stage procedures under a single `ocid`. There is guidance on how to deal with this for [framework agreements](related_processes) and for [pre-qualification and pre-selection](pre-qualification). If you want to disclose this type of information (including other types of multi-stage procedures, such as competitive dialogues and innovation partnerships), [contact the OCDS Helpdesk](../../support/index). The approach to modelling multi-stage procedures in a future, backwards-incompatible version of the standard is under discussion on [GitHub](https://github.com/open-contracting/standard/issues/440).
In OCDS 1.2 and earlier, it is not possible to publish all information about multi-stage procedures under a single `ocid`. There is guidance on how to deal with this for [framework agreements](framework_agreements) and for [pre-qualification and pre-selection](pre-qualification). If you want to disclose this type of information (including other types of multi-stage procedures, such as competitive dialogues and innovation partnerships), [contact the OCDS Helpdesk](../../support/index). The approach to modelling multi-stage procedures in a future, backwards-incompatible version of the standard is under discussion on [GitHub](https://github.com/open-contracting/standard/issues/440).
```
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Framework agreements and related processes
# Framework agreements

## Definitions

```{note}
In this guidance we defer to the definitions given in the [UNCITRAL Model Law on Public Procurement (2011)](https://uncitral.un.org/en/texts/procurement/modellaw/public_procurement). The model law was developed through extensive consultation and reflects the procurement practices and concepts used in many different jurisdictions.
Expand All @@ -18,6 +20,10 @@ A procurement contract is defined in UNCITRAL as:

> Contract concluded between the procuring entity and a supplier (or suppliers) or a contractor (or contractors) at the end of the procurement proceedings.
## Types of framework agreement

![Framework agreement types](../../_static/png/framework_agreement_types.png)

Framework agreements can be **open** or **closed**:

**Closed framework agreement**
Expand All @@ -44,8 +50,6 @@ Competition at the second stage is limited to suppliers that are party to the fr

The second stage of a framework agreement procedure is also known as a “call-off.” Non-competitive second stages are also known as “direct call-offs.” Competitive second stages are also known as “mini-competitions.”

![Types of framework agreement](../../_static/png/framework_agreement_types.png)

## Modelling framework agreements in OCDS

In OCDS, a contracting process brings together, under a single identifier, the information that users need to answer questions such as:
Expand All @@ -62,8 +66,18 @@ The following diagram shows how OCDS models a framework agreement procedure with

![OCDS framework agreement model](../../_static/png/framework_agreement_model.png)

### Extensions

The `tender.techniques.hasFrameworkAgreement` field, from the [Techniques](https://extensions.open-contracting.org/en/extensions/techniques/master/) extension, is used to identify contracting processes that represent the first stage of a framework agreement procedure. More information on the nature of the framework agreement can be provided via the `tender.techniques.frameworkAgreement` object.

The `tender.competitive` field, from the [Competitive](https://extensions.open-contracting.org/en/extensions/competitive/master/) extension, is used to indicate whether the second stage involves competition.

The two extensions should be declared in the package metadata:

```{literalinclude} ../../examples/frameworks/extensions_block.json
:language: json
```

The following guidance describes how to model the different stages of a framework agreement procedure in OCDS.

### Invitation to participate in the first stage of a framework agreement procedure
Expand All @@ -78,17 +92,7 @@ The following guidance describes how to model the different stages of a framewor
* If the framework agreement is closed, set `tender.tenderPeriod.endDate` to the deadline for responses to the invitation.
* If the framework agreement is open, set `tender.tenderPeriod.endDate` to the last date that new suppliers can be added.

#### Setting procurement method

The `tender.procurementMethod` field uses the [method codelist](../../schema/codelists.md#method) to describe the competitive conditions of the framework agreement procedure as a whole, not only the first stage.

Use the following criteria to determine the procurement method:

* If the contracting process will establish a framework agreement with a single supplier and if there are no conditions to participate in the contracting process, set `tender.procurementMethod` to 'open'.
* If the contracting process limits the suppliers that can submit a request to participate in the framework agreement, set `tender.procurementMethod` to 'limited'.
* Otherwise, set `tender.procurementMethod` to 'selective'.

### Addition of a supplier to a framework agreement
### First-stage selection and addition of suppliers to the framework agreement

* Create a release with the **same** `ocid` as the tender release and add 'award' to the `tag` array
* Add an `Award` object to the `awards` array.
Expand All @@ -110,11 +114,11 @@ Use the following criteria to determine the procurement method:
* Create a release with a **new** `ocid` and add 'tender' to the `.tag` array
* [Relate the second stage to the first stage](#relate-the-second-stage-to-the-first-stage)
* [Add a buyer](#add-a-buyer)
* Populate the `tender` section, setting `tender.procurementMethod` to the same value as in the first stage
* Populate the `tender` section, setting `tender.procurementMethod` to the same value as in the first stage, and `tender.competitive` to `true`

### Award of a procurement contract resulting from a second-stage competition

* Create a release with the **same** `ocid` as the tender release *for the second stage*, and add 'award' and 'contract' to the `tag`
* Create a release with the **same** `ocid` as the tender release *for the invitation to participate in a second-stage competition*, and add 'award' and 'contract' to the `tag`
* [Add an award, contract and supplier](#add-an-award-contract-and-supplier)

### Updating the contract value, period or items
Expand All @@ -140,18 +144,6 @@ Use the following criteria to determine the procurement method:
* Add an `OrganizationReference` object to the award's `.suppliers` array and set `.id` and `.name` to match the supplier's object in the `parties` array.
* Populate the award's `.value`, `.contractPeriod` and `.items` with the initial contract value, period and items.

### Extensions

The `tender.techniques.hasFrameworkAgreement` field, from the [Techniques](https://extensions.open-contracting.org/en/extensions/techniques/master/) extension, is used to identify contracting processes that represent the first stage of a framework agreement procedure. More information on the nature of the framework agreement can be provided via the `tender.techniques.frameworkAgreement` object.

The `tender.competitive` field, from the [Competitive](https://extensions.open-contracting.org/en/extensions/competitive/master/) extension, is used to indicate whether the second stage involves competition.

The two extensions should be declared in the package metadata:

```{literalinclude} ../../examples/frameworks/extensions_block.json
:language: json
```

## Worked examples

The following examples show how to model two framework agreements, covering a range of characteristics:
Expand Down
2 changes: 1 addition & 1 deletion docs/guidance/map/organization_classifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ A third, discouraged, option is for publishers to use local extensions to disclo

For example, although tracking women-owned organizations is shown example 2.2 above, this data only provides information on entities that have been registered as women-owned. Organizations without the classification can be not women-owned, women-owned but not registered as such, or the information might not be known.

To disambiguate these cases, a publisher can choose to publish a flag field for the relevant organization classification. In the fictional example below, Dhanghadi has created a local extension so they can publish data in the `parties.details` block on an organization that is `femaleChaired`, with the values of the field being either 'true' or 'false'. The publisher would document the structure of this field and its meaning in the local extension files.
To disambiguate these cases, a publisher can choose to publish a flag field for the relevant organization classification. In the fictional example below, Dhanghadi has created a local extension so they can publish data in the `parties.details` block on an organization that is `femaleChaired`, with the values of the field being either `true` or `false`. The publisher would document the structure of this field and its meaning in the local extension files.

```{jsoninclude} ../../examples/organization-classification/dhangadhi_female_chaired_example.json
:jsonpointer:
Expand Down
Loading

0 comments on commit 103c928

Please sign in to comment.