nhsconnect / gpconnect

GP Connect API specification
https://digital.nhs.uk/services/gp-connect/gp-connect-specifications-for-developers
Apache License 2.0
33 stars 26 forks source link

Clarify use of terms "API", "API Use Case", "Capability", "Capability Pack", "Use Case" #281

Open briandiggle opened 6 years ago

briandiggle commented 6 years ago

This question has raised on #135 but is raised here in its own right as there is general consensus that the spec lacks clarity and can be improved:

@james-answer wrote:

The terminology within the specification seems a bit confused generally.

The "Clinical Scenarios" are currently high level scenarios which cover each of the generic Use Cases (e.g. Book an Appointment, Find a Patient, etc). We have the Capbility Packs which don't contain details of individual capabilities, rather we have things called API Use Cases which does not seem correct as the API is the whole of the GP Connect specification and a use case is a set of steps or functions which are required to meet a goal, so an API Use Case should be a use case which uses a set of the GP Connect capbilities.

Would it not be clearer to change the naming of the sections of the specification and the terminology used:

API - The whole GP Connect specification (Everything - Foundations, App, Access Record, etc)

Capability Packs - A group of individual capbilities within the GP Connect API which have been brought together for simplicity within the specification.

Capability - What we currently have labled as "API Use Cases". Makes more sense as a capability within the pack of capabilities.

Clinical Scenario - No change to what we have not, a high level clinical scenario example for the application of a specific GP Connect Use Case.

Use Case - By removing API Use Case we can then use the term "Use Case" clearly as the generic set of steps required to perform a common action and achieve a specific goal. For example "Book an Appointment" is a use case where booking an appointment is the goal. The use case is made up of a set of steps which use the individual "Capabilities" of "Find a Patient", "Search for free slots", "Book an Appointment".

If we do this, we can add a set of Use Case pages in which we can outline the generic use cases and we can include the interaction diagram without loosing the differentiation between Use Cases and Clinical Scenarios.


@jackiebarnes replied:

Apologies, but I have a slightly altered terminology suggestion:

GP Connect API Set/Collection Capability - describes the business capability to be delivered - originally defined by NHSE - so as is now Breaks down into the main 'business' functions/goals, which may or may not be mapped one-to-one with an API Capability Packs - All the assets on Github required to deliver a particular Capability Clinical Scenarios - as now, - elaborated - the care settings where the Capability is required APIs - currently termed API Use Cases - agree with James, re not using 'API Use Case' here these reflect the spec 'Interactions' - ie solution components Use Cases - agree with James - the particular capability function and steps, according to the specification, describing how the consumer meets pre-requisites and uses the business rules and APIs to deliver the function

adamjlees commented 6 years ago

@briandiggle This looks like a good model for the terms to be used: https://confluence.digital.nhs.uk/pages/viewpage.action?spaceKey=GIF&title=Capability+product+description

[Appreciate only NHSD colleagues can access this and currently only on corporate LAN]

RiChallinor commented 6 years ago

To be applied to 0.5.1 and 1.2.0 also