Core standard

This page documents a mapping from the "core" CoST IDS elements to OC4IDS fields and codes. The organization of the mapping tables reflects the structure of the CoST IDS.

The CoST IDS sets out a number of disclosure requirements under the heading of "information for disclosure upon request," also known as "reactive disclosure." You can disclose these elements proactively using OC4IDS. Separate tables are provided for project-level and process-level reactive disclosures.

Project level

Identification

CoST IDS element

CoST IDS draft definition

Mapping to OC4IDS

Project owner

Name of the sponsoring Government department

Project Level: Add an Organization object to parties with 'publicAuthority' included in its .roles. Set publicAuthority.name and publicAuthority.id to the .name and .id of the object.

Sector

Develop a list of sectors relevant to country e.g. housing, transport, energy, water etc.

Project Level: Map to the projectSector codelist and publish one or more values in sector. Publish any additional sector classifications from local or other global codelists in additionalClassifications.

Subsector

Develop a subset for each sector e.g. Transport could be subdivided into national highway, local road, railway, port, airport etc.

Project Level: Publish in additionalClassifications

Project name

Specify the project name

Project Level: Publish in title

Project Location

Briefly specify location of the project

Project Level: Publish using the locations fields as an address, geometry (point/line/polygon) or gazetteer entry

Purpose

Specify the socio-economic purpose of the project

Project Level: Publish in purpose; if classified against a codelist, also publish in additionalClassifications.

Project description

Concise description and details of the project

Project Level: Publish in description

Preparation

CoST IDS element

CoST IDS draft definition

Mapping to OC4IDS

Project Scope (main output)

Main outputs from the project that are being taken forward into construction (type, quantity, unit)

Project Level: Publish in documents, with .documentType set to 'projectScope' and include a short description and/or a link to a document providing details

Environmental impact

Briefly describe the environmental impacts and mitigation measures for this project e.g. impacts on flora, fauna & woodlands, areas of natural beauty, carbon emissions etc. and mitigation measures e.g. pollution control, low carbon solutions, sustainable timber etc.

Project Level: Publish in documents, with .documentType set to 'environmentalImpact' and include a short description and/or a link to a document providing details.

Land and settlement impact

State the amount of land and property that was acquired for the project e.g. 25km2 land, and related impacts e.g. archaeological issues (moved Saxon burial site), local/indigenous settlements (relocated 5 indigenous villages of 500 villagers each), impacts on local businesses e.g. (30 business properties purchased).

Project Level: Publish in documents, with .documentType set to 'landAndSettlementImpact' and include a short description and/or a link to a document providing details.

Contact details

Postal and electronic address of the Project Owner

Project Level: Publish in the .address and .contactPoint of the party with 'publicAuthority' included in its .roles

Funding sources

Name the funding organization(s)/sources of funding

Project Level: If a funding organization is the project owner, add 'funder' to the .roles of the existing entry in parties. Otherwise, add a new entry to parties for each funding organization with 'funder' included in its .roles. When information on the amount provided by each funder is available, use budget.budgetBreakdown to provide details

Project Budget

Specify the projected costs/allocated budget for the project (currency and amount). The budget includes land / property acquisition, environmental mitigation measures, H&S provisions, client, consultant & contractor costs, VAT etc.

Project Level: Publish in budget.amount

Project budget approval date

Date project budget was authorized

Project Level: Publish in budget.approvalDate and include additional document with .documentType of 'budgetApproval' if required

Project completion

CoST IDS element

CoST IDS draft definition

Mapping to OC4IDS

Project status (current)

The current stage of the project. Select from identification, preparation, construction, completion, completed or cancelled.

Project Level: Publish in status

Project completion cost

State projected or actual completion cost (currency and amount)

Project Level: Publish in completion.finalValue

Completion date

State projected or actual completion date

Project Level: Publish in completion.endDate

Project Scope at completion (projected)

Indicate projected or actual scope of project. Aim is to show if the completed project scope differs from the original project scope. Specify main outputs (type, quantity, unit)

Project Level: Publish free text as completion.finalScope and/or include document with .documentType of projectScope and dates and descriptions that show this is final scope at completion

Reasons for project changes

Summary of primary reasons for any changes in scope, time and cost

Project Level: Publish using completion.endDateDetails, completion.finalValueDetails and completion.finalScopeDetails

Reference to audit and evaluation reports

Reference to publicly available technical and financial audits

Project Level: Publish in documents, with .documentType set to 'financialAuditReport' or 'technicalAuditReport' and include a short description and/or a link to a document providing details

Reactive disclosures

Identification and preparation

CoST IDS element

Description

Mapping to OC4IDS

Multi-year programme & Budget

A detailed breakdown of the budget by period and/or participating funders.

For each year, add a BudgetBreakdown object to the budget.BudgetBreakdown array and set its fields as follows:

  • Set its id to the year, e.g. ‘2020’

  • Set its .amount.amount to the amount of the budget allocated to the year and set .amount.currency to the currency of the budget

  • Set its .period.startDate to the first day of the year, e.g. ‘2020-01-01T00:00:00Z’

  • Set its .period.endDate to the last day of the year, e.g ‘2020-12-31T23:59:59Z

Project brief or Feasibility study

Documentation of feasibility studies carried out for this contracting process or project, providing information on net benefits or costs of the proposed goods, works or services.

Add a project document and set .documentType to 'feasibilityStudy'.

Environmental and social impact assessment

Environmental impact assessment Documentation of assessments of the environmental impacts (e.g. impacts on flora, fauna & woodlands, areas of natural beauty, carbon emissions etc.) and mitigation measures (e.g. pollution control, low carbon solutions, sustainable timber etc.) for this contracting process or project.

Social impact assessment Documentation of assessments of the intended and unintended social consequences of this project, and documentation of mitigation measures for those social consequences. Social impacts are changes that affect people, directly or indirectly (e.g. changes to people’s way of life, culture, community, health and well-being etc.).

Environmental impact assessment: Add a project document and set .documentType to ‘environmentalImpact’.

Social impact assessment: Add a project document and set .documentType to ‘environmentalImpact’ or ‘socialImpact’.

If a single document covers both the environmental and social impact assessment, add two documents to documents and set the first document’s .documentType to ‘environmentalImpact’ and the second document’s .documentType to ‘socialImpact’.

Resettlement and compensation plan

Documentation of the procedures and actions to mitigate adverse effects, compensate losses, and provide development benefits to people and communities affected by the contracting process or project.

Add a project document and set .documentType to ‘resettlementPlan’.

Project officials and roles

Name and position of the highest authority in the procuring entity where the budget for this project is allocated (project owner)

From the parties array, get the Organization object whose role is ‘publicAuthority’. If none exists yet:

  • Add a party

  • Set its .name to the name of the procuring entity

  • Set its .role to ‘procuringEntity’

Add a Person object to the organization’s .people array and:

  • Set its .id incrementally

  • Set its .name to the project official’s name

  • Set its .jobTitle to the project official’s job title

Financial agreement

Loan or donation agreement with financing conditions.

Add a project document and set .documentType to ‘financialAgreement’.

Procurement plan

Documentation that sets out the basis for this particular contracting process.

Add a project document and set .documentType to ‘procurementPlan’.

Project approval decision

Additional details about the approval of the budget.

Add a project document and set .documentType to ‘budgetApproval’.

Completion

CoST IDS element

Description

Mapping to OC4IDS

Implementation progress reports

Planned and actual physical and financial progress over time.

Documents

Physical progress reports: Add a project document and set .documentType to 'physicalProgressReport'.

Financial progress reports: Add a project document and set .documentType to 'financialProgressReport'.

Data

See implementation progress reports

Budget amendment decision

Document accrediting the approval of budget expansion or extension for this project.

Add a project document and set .documentType to 'budgetAmendmentApproval'.

Project completion report

A completion certificate issued by a relevant authority providing evidence that works were completed to a certain level of quality. Completion certificates might only be relevant for particular kinds of contracting processes or projects.

Add a project document and set .documentType to 'projectCompletionReport'.

Project evaluation report

Generally published at the conclusion of a project, providing a technical and financial summary of delivery

Add a project document and set .documentType to 'projectEvaluation'.

Technical audit reports

Documentation of checks that construction work has been undertaken as specified.

Add a project document and set .documentType to 'technicalAuditReport'.

Financial audit reports

Documentation of checks that a project's financial statements are correct and complete.

Add a project document and set .documentType to 'financialAuditReport'.

Implementation progress reports

In addition to the documents listed in the mapping table, you can use OC4IDS to publish structured data on planned and actual physical and financial progress.

Choose from the following options, depending on the data you collect and the data needed by your use cases.

Actual progress over time
  • Add a Metric object to the metrics array and:

    • For financial progress, set its id to 'financialProgress' and set its title to 'Financial progress', or the equivalent in the language of your publication.

    • For physical progress, set its id to 'physicalProgress' and set its title to 'Physical progress', or the equivalent in the language of your publication.

  • For each progress update, add an Observation object to the Metric object's .observations array and:

    • Set its .id incrementally

    • Set its .measure to the financial progress of the project. For example, for a project that is 75% complete, set .measure to 75

    • Set its .unit.name to 'percent', set its unit.id to 'P1' and set its unit.scheme to 'UNCEFACT'

    • Set its period.startDate and period.endDate to the date on which the financial progress was measured

Example:

{
  "metrics": [
    {
      "id": "physicalProgress",
      "title": "Physical progress",
      "observations": [
        {
          "id": "1",
          "measure": "4.04",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-03-31T23:59:59Z",
            "endDate": "2017-03-31T23:59:59Z"
          }
        },
        {
          "id": "2",
          "measure": "7.98",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-04-30T23:59:59Z",
            "endDate": "2017-04-30T23:59:59Z"
          }
        },
        {
          "id": "3",
          "measure": "8.38",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-05-31T23:59:59Z",
            "endDate": "2017-05-31T23:59:59Z"
          }
        }
      ]
    }
  ]
}
A single progress figure

If your implementation does not store a change history, you can publish a single Observation object for each Metric and update the Observation object's .measure each time there is a progress update.

Example:

{
  "metrics": [
    {
      "id": "financialProgress",
      "title": "Financial progress",
      "observations": [
        {
          "id": "1",
          "measure": "4.04",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-03-31T23:59:59Z",
            "endDate": "2017-03-31T23:59:59Z"
          }
        }
      ]
    }
  ]
}
Planned progress over time

You can use the forecasts array to publish progress forecasts for different points in time.

  • Add a Metric object to the forecasts array and:

    • For financial progress, set its id to 'financialProgress' and set its title to 'Financial progress', or the equivalent in the language of your publication.

    • For physical progress, set its id to 'physicalProgress' and set its title to 'Physical progress', or the equivalent in the language of your publication.

  • For each forecast, add an Observation object to the Metric object's .observations array and:

    • Set its .id incrementally

    • Set its .measure to the forecast progress of the project. For example, to forecast when the project is expected to be complete, set .measure to 100.

    • Set its .unit.name to 'percent', set its unit.id to 'P1' and set its unit.scheme to 'UNCEFACT'

    • Set its period.startDate and period.endDate to the date on which you expect the progress to be achieved

Example:

{
  "forecasts": [
    {
      "id": "physicalProgress",
      "title": "Physical progress",
      "observations": [
        {
          "id": "1",
          "measure": "4.04",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-03-31T23:59:59Z",
            "endDate": "2017-03-31T23:59:59Z"
          }
        },
        {
          "id": "2",
          "measure": "7.98",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-04-30T23:59:59Z",
            "endDate": "2017-04-30T23:59:59Z"
          }
        },
        {
          "id": "3",
          "measure": "8.38",
          "unit": {
            "name": "percent",
            "id": "P1",
            "scheme": "UNCEFACT"
          },
          "period": {
            "startDate": "2017-05-31T23:59:59Z",
            "endDate": "2017-05-31T23:59:59Z"
          }
        }
      ]
    }
  ]
}

Process level

The mappings in this section relate to the contractingProcesses section of the OC4IDS schema, unless otherwise specified.

Procurement

CoST IDS element

CoST IDS draft definition

Mapping to OC4IDS

Procuring entity

Enter name of the organization carrying out the procurement

Project Level: Add an entry to parties with 'procuringEntity' included in its .roles | Contracting process: Record the name and identifier in .summary.tender.procuringEntity

Procuring entity contact details

Postal and Electronic address

Project Level: Publish the postal address in parties.address and the electronic address in parties.contactPoint

Contract administrative entity

Enter name of the organization carrying out the contract administrative entity if different from the Procuring Entity

Project Level: Add an entry to parties with 'administrativeEntity' included in its .roles | Contracting process: Record the name and identifier in .summary.tender.administrativeEntity

Contract status

Select from pre-award, active or closed

Contracting process: Publish in .summary.status using the contractingProcessStatus codelist

Procurement process

Develop a list such as International Competitive Bidding, National Competitive Bidding, Donor Procurement Rules, Framework, Direct Award

Contracting process: Publish in .summary.tender.procurementMethodDetails and map to .summary.tender.procurementMethod

Contract type

Develop a list such as Design, Supervision, Design & Supervision, Design & Build, Construction

Contracting process: Add one or more values to the .summary.nature array. (e.g. ["design", "build"] for a design and build contract)

Number of firms tendering

Number of firms who submit a tender

Contracting process: Publish in .summary.tender.numberOfTenderers

Cost estimate

Currency and amount of the original pre-tender estimate of the contract

Contracting process: Publish in .summary.tender.costEstimate

Contract title

The formal name of the contract

Contracting process: Publish in .summary.title

Contract firm(s)

Legal name of supplier

Project Level: Add an entries to parties with 'supplier' included in their .roles | Contracting process: Add the names and identifiers to the .summary.suppliers array

Contract price

Currency and price at contract award

Contracting process: Publish in .summary.contractValue

Contract scope of work

Main outputs from the contract e.g. detailed design, supervision, project management and or type, quantity, unit for construction

Contracting process: Publish in .summary.description. Additionally detailed documentation may be provided as documents within linked releases

Contract start date and contract period (duration)

Enter dates and Number of weeks from contract start date to (anticipated) completion date

Contracting process: Publish in .summary.contractPeriod

Implementation

CoST IDS element

CoST IDS draft definition

Mapping to OC4IDS

Variation to contract price

Difference between the price at contract award and the current projected price

Contracting process: For each variation, publish an entry with a .date and .description in .summary.modifications with .type of 'value'. Provide the contract value before the variation in .oldContractValue and the contract value after the variation in .newContractValue

Escalation of contract price

Escalation to date of the price of materials, labour, equipment etc. due to fluctuations in inflation, currency etc.

Contracting process: For each escalation, publish an entry with a .date and .description in .summary.modifications with .type of 'value'. Provide the contract value before the escalation in .oldContractValue and the contract value after the escalation in .newContractValue

Variation to contract duration

Difference between original duration at contract award and the current projected duration in weeks.

Contracting process: For each variation, publish an entry with a .date and .description in .summary.modifications with .type of 'duration'. Provide the contract period before the variation in .oldContractPeriod and the contract period after the variation in .newContractPeriod

Variation to contract scope

Any changes between original scope at contract award and the current scope

Contracting process: For each variation, publish an entry with a .date and .description in .summary.modifications with .type of 'scope'

Reasons for price changes

Summary of reasons for primary changes (e.g. variations) that then lead to changes in contract price, major price fluctuations and accumulative increase or decrease in price.

Contracting process: For each variation, provide a .rationale in .summary.modifications.

Reasons for scope and duration changes

Summary of reasons for primary changes (e.g. variations) that then lead to changes in the scope and duration.

Contracting process: For each variation, provide a .rationale in .summary.modifications.

Reactive disclosures

Procurement

CoST IDS element

Description

Mapping to OC4IDS

Contract officials and roles

Name and position of the public official in charge of administration of the contract(s).

From the parties array, get the Organization object whose role is 'administrativeEntity'. If none exists yet:

  • Add an Organization object to the parties array

  • Set its .name to the name of the administrative entity

  • Set its .role to 'administrativeEntity'

Add a Person object to the organization's .people array and:

  • Set its .id incrementally

  • Set its .name to the contract official's name

  • Set its .jobTitle to the contract official's job title

Procurement method

Specify tendering method using the method codelist (open, selective, limited, direct).

Set .summary.tender.procurementMethod to a value from the Method codelist.

Tender documents

Documentation for potential suppliers, describing the goals of the contract (e.g. goods and services to be procured), and the bidding process.

Add a contracting process document and set .documentType to 'biddingDocuments'.

Tender evaluation results

Documentation on the evaluation of the bids and the application of the evaluation criteria, including the justification for the award.

Add a contracting process document and set .documentType to 'evaluationReports'.

Project design report

A record of the justification for the design approach adopted in the project, typically issued before the works start, by the consultant or firm that will supervise the works.

Add a contracting process document and set .documentType to 'projectDesignReport'.

Contract

CoST IDS element

Description

Mapping to OC4IDS

Contract agreement and conditions

A copy of the signed contract. Consider providing both machine-readable (e.g. original PDF, Word or Open Document format files), and a separate document entry for scanned-signed pages where this is required.

Add a contracting process document and set .documentType to 'contractSigned'.

Registration and ownership of firms

A document issued by the relevant government registry as confirmation of the due incorporation and valid existence of the organization.

Document:

Add a contracting process document and set .documentType to 'incorporationCertificate'.

Data:

Add an Organization object to the parties array and:

  • Set its .role to 'supplier'

  • Set its .identifier.id to the registration number

  • Set its .identifier.scheme to the code from org-id.guide for the register the identifier is drawn from

  • Set its .id

Specifications and drawings

Detailed technical information about goods or services to be provided.

Add a contracting process document and set .documentType to 'technicalSpecifications'.

Implementation

CoST IDS element

Description

Mapping to OC4IDS

List of variations, changes, amendments

Details of changes to the duration, price, scope or other significant features of the contracting process

For each variation, change or amendment, publish an entry with a .date and .description in .summary.modifications.

Set .type based on the type of change and provide the relevant before/after values in .oldContractPeriod, .oldContractValue, ``.newContractPeriod and .newContractValue.

List of escalation approvals

Documentation of one or more approved escalations of the contract price during the project life-cycle.

Add a contracting process document and set .documentType to 'escalationApprovals'.

Quality assurance reports

Documentation identifying deficiencies in designs, specifications, standards, methods, procedures and practices, and identifying best practices.

Add a contracting process document and set .documentType to 'qualityAssuranceReport'.

Disbursement records or payment certificates

A list of the spending transactions made against this contract and/or a document certifying that the work specified on a supplier's estimate or invoice is complete and that payment to the supplier is approved

Data:

For each disbursement, add a Transaction to .summary.transactions and set its fields according to the schema definitions.

Documents:

Add a contracting process document and set .documentType to 'paymentCertificate'.

Contract amendments

A legal document that changes or adds to the terms of an existing contract.

Add a contracting process document and set .documentType to 'contractAmendment'.