Organization classifications

Many publishers wish to disclose and monitor information about different classifications of organizations involved in contracting processes. Example classifications include organization ownership, incorporation, sector, location, and number of employees. We recognise that publishing information about a variety of organization characteristics, for example women-owned and/or indigenous-owned organizations, is an important part of monitoring participation in public procurement.

Some organization classifications, such as organization scale, can be published using a specific extension in OCDS. Many other classifications are context-specific, and for this case, we provide an organization classification extension that allows publishers to provide their own classifications.

There are therefore two options that are encouraged for publishing organization classifications.

  1. For classifications that have become standardized, there are specific OCDS extension fields that ought to be used. At present, this only applies to organization scale, which ought to be disclosed using the party scale extension. This extension adds a scale field to the parties.details block, to indicate the size or scale of an organization, in particular commercial enterprises or economic operators.

  2. For non-standardized options, such as classifying forms of organization ownership, publishers ought to use the organization classification extension. This extension adds a classifications array to the parties.details block to enable the categorization of organizations. Each classification.id field ought to contain a code from the particular scheme given in the classification.scheme field. Details about the particular organization characteristic that is being disclosed ought to be provided in the classification.description field. The given classification.scheme can be an existing scheme (drawn from the open itemClassificationScheme codelist), or a local scheme for a particular publisher. In both cases, we encourage publishers to provide details of all schemes and classification codes used in their publication policy, to help users understand the data.

As fields become standardized through the use of option 2, the information can be migrated to also be published via specific extensions as in option 1. Publishers can continue to publish the information in the organization classification extension to preserve backwards compatibility in data sets.

A third, discouraged, example approach using local extensions is also given below, for situations where neither of the above two approaches apply to a specific use case.

Worked examples

Option 1: standardized options

Organization scale

In the example below, Moldova has disclosed information about the 'Companie mică' organization using the party scale extension. The scale is given as 'micro', from the partyScale codelist.

{
    "uri": "https://standard.open-contracting.org/examples/release/ocds-b3wdp1-MD-1554728148250-EV-1555051169779",
    "version": "1.1",
    "extensions": [
        "https://raw.githubusercontent.com/open-contracting-extensions/ocds_partyDetails_scale_extension/master/extension.json"
    ],
    "publisher": {
        "name": "M-Tender"
    },
    "license": "http://opendefinition.org/licenses/",
    "publicationPolicy": "https://standard.open-contracting.org/examples/publicationPolicy/",
    "publishedDate": "2019-04-08T12:55:48Z",
    "releases": [
        {
            "ocid": "ocds-b3wdp1-MD-1554728148222-EV-1555",
            "id": "ocds-b3wdp1-MD-1554728148222-EV-1555-155",
            "date": "2019-05-15T10:24:48Z",
            "tag": [
                "award"
            ],
            "initiationType": "tender",
            "parties": [
                {
                    "id": "MD-IDNO-1012600024777",
                    "name": "Companie mic\u0103",
                    "identifier": {
                        "scheme": "MD-IDNO",
                        "id": "1012600024777",
                        "legalName": "Exemplu de companie mic\u0103"
                    },
                    "details": {
                        "scale": "micro"
                    },
                    "roles": [
                        "tenderer",
                        "supplier"
                    ]
                }
            ],
            "tender": {
                "id": "ocds-b3wdp1-MD-1554728148222-tender",
                "title": "\u00cembun\u0103t\u0103\u021birea planificat\u0103 a pistelor ciclice",
                "description": "Ofertan\u021bii au solicitat lucr\u0103ri pentru construirea de noi biciclete \u00een centrul ora\u0219ului.",
                "status": "complete",
                "hasEnquiries": false,
                "submissionMethod": [
                    "electronicSubmission"
                ],
                "submissionMethodDetails": "Lista platformelor: achizitii, ebs, licitatie, yptender",
                "tenderers": [
                    {
                        "id": "MD-IDNO-1012600024777",
                        "name": "Companie mic\u0103"
                    }
                ]
            },
            "awards": [
                {
                    "id": "e5b771e0-715e-11e9-94b9-f5c641d7a5b5",
                    "description": "Compania mic\u0103 a primit contractul pentru construirea de noi piste pentru biciclete \u00een centrul ora\u0219ului.",
                    "status": "pending",
                    "date": "2019-05-15T10:24:53Z",
                    "value": {
                        "amount": 27089725.78,
                        "currency": "MDL"
                    },
                    "suppliers": [
                        {
                            "id": "MD-IDNO-1012600024777",
                            "name": "Companie mic\u0103"
                        }
                    ]
                }
            ]
        }
    ]
}

Option 2: Organization classification extension

In the examples below, two different publishers have disclosed information about organizations involved in their contracting processes. An organization classification needs to consist of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification. In the first example below, the publisher re-uses an existing classification.scheme. In the second example below, where a publisher wishes to track specific policy-related data, a local list of categories is used in preference to mapping to a generic set.

Classification schemes

Each classification block contains fields to provide information about the description (a textual description or title for the classification code), id (the classification code), uri (to uniquely identify the classification code) and scheme. The scheme value can be drawn from the open itemClassificationScheme codelist (where the Category value is "organization"), or it can be a local scheme. Schemes are given to classify the activities of procuring authorities (i.e. procuring entities and/or buyers).

Where an appropriate scheme is not listed in the itemClassificationScheme codelist, publishers can specify their own scheme. Publishers can either re-use an alternative scheme, or provide their own. Where publishers provide their own local schemes, they ought to prefix their scheme code with an ISO-3166-1 alpha-3 country code to preserve its global uniqueness. Details of this local scheme, and a list of possible codes, ought to be described in the publication policy.

Example 2.1 disclosing data using existing schemes

In the first fictional example below, the UK has disclosed a code from two different European Commission (EC) schemes, 'TED_CE_ACTIVITY' and 'TED_CA_TYPE' to classify the organization whose name is "London Borough of Haringey". Refer to the itemClassificationScheme codelist for further details of these schemes.

Note that the classification.id relates to the id of the code in the classification.scheme given, rather than its position in the classifications array. Therefore, the first classification shows that the id of 'Regional or local authority' in the 'TED_CA_TYPE' scheme is 'REGIONAL_AUTHORITY', and the second classification shows that the id of 'General public services' in the 'COFOG' scheme is '01'.

{
    "publishedDate": "2019-04-01T17:08:14+05:45",
    "publisher": {
        "name": "Public Procurement Monitoring Office"
    },
    "extensions": [
        "https://raw.githubusercontent.com/open-contracting-extensions/ocds_organizationClassification_extension/master/extension.json"
    ],
    "version": "1.1",
    "uri": "https://standard.open-contracting.org/examples/release/ocds-213czf-IMS/1160",
    "releases": [
        {
            "ocid": "ocds-h6vhtk-016248",
            "id": "ocds-h6vhtk-016248-02-tender",
            "date": "2019-03-30T17:08:14+05:45",
            "initiationType": "tender",
            "tag": [
                "tender"
            ],
            "tender": {
                "id": "016248-Zg9B567X-001",
                "description": "Tender for the provision of borough reablement services, subsection frailty 65+.",
                "status": "complete",
                "mainProcurementCategory": "services",
                "procurementMethodDetails": "Open procedure",
                "title": "Reablement \u2014 Frailty 65+",
                "procurementMethod": "open"
            },
            "buyer": {
                "name": "London Borough of Haringey",
                "id": "GB-SRS-supplierregistration.cabinetoffice.gov.uk/Zg9B567X"
            },
            "parties": [
                {
                    "id": "GB-SRS-supplierregistration.cabinetoffice.gov.uk/Zg9B567X",
                    "name": "London Borough of Haringey",
                    "identifier": {
                        "legalName": "London Borough of Haringey",
                        "scheme": "GB-SRS",
                        "id": "supplierregistration.cabinetoffice.gov.uk/Zg9B567X"
                    },
                    "roles": [
                        "buyer"
                    ],
                    "details": {
                        "classifications": [
                            {
                                "description": "Regional or local authority",
                                "id": "REGIONAL_AUTHORITY",
                                "scheme": "TED_CA_TYPE"
                            },
                            {
                                "description": "General public services",
                                "id": "01",
                                "scheme": "COFOG"
                            }
                        ]
                    },
                    "address": {
                        "streetAddress": "Haringey Council Civic Centre, Level 6, 255 High Rd",
                        "locality": "Wood Green",
                        "region": "UKG13",
                        "postalCode": "N22 8LE",
                        "countryName": "United Kingdom"
                    },
                    "contactPoint": {
                        "url": "http://www.haringey.gov.uk"
                    }
                }
            ]
        }
    ]
}

Example 2.2 disclosing data using a local scheme

The second example below is set in the fictional city of Ciudad Ficticia in Colombia. The procurement team wishes to monitor the participation of women-owned businesses in procurement according to specific policy priorities. The first organization declared in the parties array is a women-owned business, so they add a classifications array to it with just one classification object. In this object, the local classification.scheme is 'COL-CF-MON' and the classification.id is 'NPDM'. Note that the classification.id contains the relevant classification code from the given scheme, rather than being an internal identifier in the classifications array.

In their publication policy, the procurement team documents all possible codes for COL-CF-MON with definitions of each code, including explaining that 'NPDM' is for businesses registered with the local Chamber of Commerce where ownership and control is at least 51% women.

{
    "publishedDate": "2020-02-01T17:10:14+05:45",
    "publisher": {
        "name": "Ciudad Ficticia"
    },
    "extensions": [
        "https://raw.githubusercontent.com/open-contracting-extensions/ocds_organizationClassification_extension/master/extension.json"
    ],
    "version": "1.1",
    "uri": "https://standard.open-contracting.org/examples/release/ocds-213czf-col-cf/1111",
    "license": "http://opendatacommons.org/licenses/pddl/1.0/",
    "publicationPolicy": "https://github.com/open-contracting/fictional_publication_policy_url",
    "releases": [
        {
            "ocid": "ocds-213czf-col-cf/1111",
            "id": "ocds-213czf-col-cf/1111-02-award",
            "language": "es",
            "date": "2020-01-04T13:18:31+05:45",
            "initiationType": "tender",
            "parties": [
                {
                    "id": "CF-CDC-A564321",
                    "name": "Empresa de mujeres uno",
                    "identifier": {
                        "scheme": "CF-CDC",
                        "id": "A564321"
                    },
                    "roles": [
                        "supplier"
                    ],
                    "details": {
                        "classifications": [
                            {
                                "description": "Negocio propiedad de mujeres",
                                "id": "NPDM",
                                "scheme": "COL-CF-MON"
                            }
                        ]
                    }
                }
            ],
            "awards": [
                {
                    "suppliers": [
                        {
                            "name": "Empresa de mujeres uno",
                            "id": "CF-CDC-A564321"
                        }
                    ],
                    "status": "active",
                    "date": "2019-01-01T00:00:00+05:45",
                    "id": "ocds-213czf-col-cf-awards/1",
                    "title": "Servicios de proyectos de datos abiertos de la ciudad"
                }
            ],
            "tag": [
                "award"
            ]
        }
    ]
}

Option 3: Local extensions

A third, discouraged, option is for publishers to use local extensions to disclose organization classification information. This option is discouraged because it is difficult for data users to compare organization classifications across multiple data sets that use many different approaches to disclosing similar information. However, in the absence of standardized options, where there is a specific use case for the data, this can be the most appropriate short-term option. Local extensions ought to document the structure and meaning of the additional fields they describe: please refer to the extensions documentation.

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.

{
    "publishedDate": "2019-04-01T17:08:14+05:45",
    "publisher": {
        "name": "Public Procurement Monitoring Office"
    },
    "extensions": [
        "https://raw.githubusercontent.com/publisher/ocds_femaleChaired_extension/v1.0/extension.json"
    ],
    "version": "1.1",
    "uri": "https://standard.open-contracting.org/examples/release/ocds-213czf-IMS/1160",
    "releases": [
        {
            "ocid": "ocds-213czf-IMS/1160",
            "date": "2019-01-04T13:18:31+05:45",
            "initiationType": "tender",
            "tag": [
                "award"
            ],
            "language": "ne",
            "id": "ocds-213czf-IMS/1160-002-award",
            "parties": [
                {
                    "name": "\u0915\u093e\u0932\u094d\u092a\u0928\u093f\u0915 \u092e\u0939\u093f\u0932\u093e \u0905\u0927\u094d\u092f\u0915\u094d\u0937\u0924\u093e \u0915\u092e\u094d\u092a\u0928\u0940",
                    "id": "NP-CRO-UC-1160",
                    "identifier": {
                        "id": "UC-1160",
                        "scheme": "NP-CRO"
                    },
                    "roles": [
                        "supplier"
                    ],
                    "details": {
                        "femaleChaired": true
                    },
                    "address": {
                        "streetAddress": "\u0927\u0928\u0917\u0922\u0940 \u0967\u0967",
                        "countryName": "Nepal"
                    }
                }
            ],
            "awards": [
                {
                    "suppliers": [
                        {
                            "name": "\u0915\u093e\u0932\u094d\u092a\u0928\u093f\u0915 \u092e\u0939\u093f\u0932\u093e \u0905\u0927\u094d\u092f\u0915\u094d\u0937\u0924\u093e \u0915\u092e\u094d\u092a\u0928\u0940",
                            "id": "NP-CRO-UC-1160"
                        }
                    ],
                    "status": "active",
                    "date": "2019-01-01T00:00:00+05:45",
                    "id": "IMS/1160-awards/1",
                    "title": "\u0927\u0928\u0917\u0922\u0940 \u0909\u0926\u093e\u0939\u0930\u0923 \u092a\u0941\u0930\u0938\u094d\u0915\u093e\u0930"
                }
            ]
        }
    ]
}