Introduction

This document describes the Change Management Plan of the openEHR Specification Program.

Status

This document is currently in pre-version 1.0 development.

Change Log

Version

Change description

Who

Completed

0.6

Changes due to review by Koray Atalag, NZ: added content to 'New Specifications' section, including 'localisation'.

T Beale

28 Apr 2012

0.5

Initial development

T Beale

01 Apr 2012

Acknowledgements

This document has benefited from review by the following people.

Specification Lifecycle

All specification artefacts, both documentary and computable follow a lifecycle, from inception (or accession, in the case of donated works) to stability to obsolescence. The following formal lifecycle states are recognised: Development, Trial, Stable, Obsolete and Superseded. For specifications developed from scratch within openEHR (i.e. not donated), the management is as follows:

The intention is to be lightweight when needed, and to manage specifications carefully if and when they gain widespread use.

Specifications created based on existing software, widespread existing practices etc can enter the lifecycle at the Trial or Stable states if they meet the criteria.

The following table describes the lifecycle states in detail:

Lifecycle State

Period

Publication Format

Versioning*
 

Change documentation

Change Manager

Issue Reporting

Formal Expression

Implementation Technology Specification(s)

Implementations

Conformance

Development

18 months max

Wiki; PG writable

0.y.z

Change Requests optional; otherwise informal

CMG or external development group

Informal

One formal tool-based expression must exist, in a widely recognised format, prior to promotion to trial state.

At least one ITS must exist prior to promotion to trial state.

one open source reference implementation must exist prior to promotion to Trial state.

n/a

Trial

2 years max

Wiki??; PG writable

x.y.z

Change Requests

CMG

Problem Reports

Tool-based expression maintained.

Ideally two ITSs should exist prior to promotion to stable state (where multiple technologies are in routine use).

Prior to promotion, at least 2 independent interoperating implementations, preferably in different major technologies at end of period. These may be commercial or open source.

Conformance levels & criteria developed, tested and published.

Stable

unbounded

Durable high
quality format,
e.g. PDF;
published on
standards web
page / portal

x.y.z

Change Requests

CMG

Problem Reports

Tool-based expression maintained.

 

Reference implementation maintained.

Industry implementations recognised via conformance testing.

Obsolete

unbounded

Replaced by
version marked
as 'Obsolete'
and relevant
meta-data

frozen

n/a

EC

n/a

 

 

Reference implementation still available but not maintained.

 

Superseded

unbounded

Replaced by
version marked
as 'Superseded'
and relevant meta-data

frozen

n/a

EC

n/a

 

 

Reference implementation still available but not maintained.

 

* Versioning obeys rules of semver.org; note that version 0.x.y versions do not follow any strict rules.

TBD: Possible variants:

Problem Reports (PRs) can be raised by anyone, and are designed to capture reports of problems and issues, including new requirements. Change Requests (CRs) can be created only by the Specifications group, and are used to document changes undertaken to the specifications. No change can be made to the specifications without a CR.

For reference, other lifecycle management specifications:

Promotion of Specifications

Specifications are promoted to the next lifecycle state when the appropriate time-limit is reached for the current state. A review is held by the EC 3 months prior to the putative promotion date to determine if the criteria documented above are satisfied. If so, a CR is raised to document the promotion of the artefact(s) on the relevant date, including all changes to documentation, publishing format and actual publication.

If the criteria are not met, the owning CMG is asked to ensure that the specification is worked on to ensure that it will meet the promotion criteria. This may require them communicating with teams in the Software Program or elsewhere in order to ensure adequate implementation has been achieved.

If on the due date of promotion, the promotion criteria are still not met, the owning CMG is asked to provide a report indicating if it is likely that the conditions can be met in 3 months or less, and outlining what steps will be taken to achieve them. The EC may accept this and provide a 3 month extension. Alternatively it may reject it, and the specification is then demoted to 'obsolete' state.

After one extension period, the EC again reviews the specfication, and either accepts it for promotion or rejects it, leading to demotion to 'obsolete' state.

Change Management

Seen as a whole, the specification library will normally have a number of Problem Reports (PRs) and Change Requests (CRs) outstanding against it.The processing of PRs and the creation, acceptance and final approval or rejection of CRs is performed by the Program Editorial Committee (EC), formed of representatives from all CMGs.

Problem Reports

PRs raised on the public SPEC tracker are reviewed on a regular basis, and where appropriate, CRs raised. PR review is carried out online by the Editorial Committee either when a new PR is raised, or at least every 3 months.

PR review can lead to a number of possibilities. The PR may be rejected, in which case it is resolved as such and closed. For PRs that are accepted, one or more CRs may be created, or the PR may be linked to an existing PR.

PRs that create CRs are referenced by the relevant CRs. When the latter are completed, the relevant PRs are resolved according to the resolutions of the related CRs.

CRs are not created for specifications still in development phase; instead, changes are added to the CR used at creation of the specification.

Change Requests

CRs are generally raised in response to PRs. However, CRs may also be raised separately by the Editorial Committee, based on a consensus discussion or a 2/3 vote.

CRs need to be a) prioritised in importance and b) allocated to releases. A pre-requisite therefore is to define one or more future releases, each with an identifier and expected date of delivery.

Creation

New CRs are created by the EC on the SPEC CR tracker . The following information is initially required:

TBD: we don't actually do this now; currently, more than one component can be affected by one CR. This is actually better CM practice...

Acceptance

Every CR has to initially be accepted or rejected by the EC. This primarily means determining if:

For every CR accepted, the following information is added:

The Change Owner is now responsible for obtaining the following information from the CMG:

The EC reviews the CR again. If the impact is deemed acceptable, the CR is allocated to a release.

Performing the work

For minor changes, the work usually involves no more than making a small change to one or more documents, and generating other publication formats where relevant. The changes should be committed to a branch or review version of the specification or artefact.

For major changes, the relevant changes should be made in a branch of the specification repository. Additionally, a dedicated wiki page should be created, describing the work, current status, who is performing it, with links to the relevant CR and also the branch version of the work.

Approval

The initially completed work of a CR is approved as follows:

Creation of New Specifications

Process

New specifications can be proposed by any member of the openEHR community. Formally this is done via either a PR on the SPEC PR tracker, or if the proposer is a Program member, a CR on the SPEC project tracker . If the initial need is described in a PR, it will be reviewed by the EC which may decide to create a CR for it. If this happens, the CR will cover the initial period of establishment of the specification, including its identification and setting of scope.

New specifications need to be compatible with the existing structure and roadmap of the specification library. For a new specification to be added, it has to have an identifier, be located within the existing structure (a new category of specification may require a new location to be defined), and have a scope defined that is consistent with existing specifications. These are issued by the Editorial Committee prior to the creation of the initial CR for the specification. The new specification could potentially replace one or more existing specifications, in which case the structure and roadmap may be modified; the CR will also document these changes.

Internationalisation and localisation aspects should also be described.

A successful application to add a new specification results in the following being decided by the Editorial Committee:

New specifications can be created in two ways.

  1. There may already be a well-developed document or computable artefact that is being offered to the Specification Program. In this case, the EC would assess the specification for maturity according to the lifecycle described below, and publish it in an appropriate way. A specification meeting the 'Trial' or even 'Stable' state criteria may be commenced in that state if the EC agrees.
  2. Alternatively, the need for a completely new specification might be identified, and a fresh development commenced within the EC.

Specification Pro-forma

All openEHR specifications should include the following standard sections:

In addition, the following sections or information should be included where appropriate:

Changes to Existing Trial and Stable Specifications

Minor changes to specification documents are normally executed by a CMG member making an agreed small change. Validation is performed by internal review, as described above under CR Lifecycle.

Major changes, typically leading to a new major release of a specification, may be performed by a team, although they can just as easily be performed by a single person. Validation is performed via community-wide open review with a published time limit. Review feedback is posted as comments on the CR. See the Acceptance section above under CR lifecycle.

Frequently Asked Questions

Who can report a problem or propose a change to a specification?

Anyone. This is done by creating a Problem Report (PR) on the SPEC PR public issue tracker . The Specification Program Editorial Committee reviews these on a regular basis and may decide to create a Change Request on the specification library based on the PR.

Who decides if a change will be performed or rejected?

A change to the specifications proposed on the SPEC PR public tracker will be reviewed by the Editorial Committee, and may cause a CR to be created. CRs are performed by Specification Program members, and will result in change(s) to the specifications. Sometimes CRs may be rejected during processing, in which case no change will be made.

Who prioritises the changes?

The Specification Program Editorial Committee in concert with the openEHR Operational Group.

Who decides which changes are in the next release of openEHR?

The Specification Program Editorial Committee in concert with the openEHR Operational Group.