openapi: 3.2.0
info:
description: RESTful web services used to browse terminology data.
version: 1.0.0
title: Terminology Subsets API
termsOfService: http://swagger.io/terms/
servers:
- url: /rest/v1
tags:
- name: subsets
description: APIs for terminology subsets
externalDocs:
description: Find out more
url: https://infocentral.infoway-inforoute.ca
paths:
/subsets:
get:
tags:
- subsets
summary: Retrieves a list of subsets
description: Retrieves a list of subsets matching the provided search criteria.
operationId: findSubsets
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: active
description: returns active or inactive subsets if specified, all subsets if this parameter is absent
in: query
schema:
type: boolean
- name: reflang
description: returns only subsets for the specified language. The language identifier must be provided in ISO639-1 format
in: query
schema:
type: string
enum:
- en
- name: startdate
description: returns only subsets that were active on or after the given start date. The date must be specified as yyyyMMdd
in: query
schema:
type: string
- name: enddate
description: returns only subsets that were active on or before the given end date. The date must be specified as yyyyMMdd
in: query
schema:
type: string
- name: name
description: returns only subsets matching the given name. The name filter can use a regular expression format
in: query
schema:
type: string
- name: sortby
description: sorts the result set by the specified field.
in: query
schema:
type: string
enum:
- id
- name
- active
- language
- name: sortdir
description: sorting direction. Only relevant if the sortby parameter is also specified.
in: query
schema:
type: string
enum:
- ascending
- descending
- name: page
description: page number used for pagination
in: query
schema:
type: integer
default: '1'
- name: size
description: page size used for pagination
in: query
schema:
type: integer
default: '1000'
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
- name: tags
description: describes a specific category of subsets that this subset belongs to
in: query
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Subsets'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Subsets'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subsets/download:
get:
tags:
- subsets
summary: Returns a downloadable list containing all subsets.
description: Generates a full list containing all subsets. The list is returned as an attachment to the HTTP response. This API doesn't apply any pagination to the result set.
operationId: downloadSubsets
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: sortby
description: sorts the result set by the specified field.
in: query
schema:
type: string
enum:
- id
- name
- active
- language
- name: sortdir
description: sorting direction. Only relevant if the sortby parameter is also specified.
in: query
schema:
type: string
enum:
- ascending
- descending
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
- name: tags
description: describes a specific category of subsets that this subset belongs to
in: query
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: string
format: binary
application/xml:
schema:
type: string
format: binary
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/versions:
get:
tags:
- subsets
summary: Returns metadata for all versions of a subset.
description: Returns the metadata associated to all subset version.
operationId: getSubsetVersions
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Subset'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Subset'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}:
get:
tags:
- subsets
summary: Returns metadata for a single subset version.
description: Returns the metadata associated to a single subset version.
operationId: getSubsetVersion
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: versionid
description: subset version, latest version if not provided
in: query
schema:
type: string
- name: reflang
description: returns the subset version for the specified language. The language identifier must be provided in ISO639-1 format
in: query
schema:
type: string
enum:
- en
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SubsetVersion'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/SubsetVersion'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/download:
get:
tags:
- subsets
summary: Downloads the data associated to a subset version.
description: Downloads the data associated to a subset version. This includes all concepts that are part of the subset. The data is returned as an attachment to the HTTP response.
operationId: downloadSubset
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: versionid
description: subset version, latest version if not provided
in: query
schema:
type: string
- name: sortby
description: sorts the result set by the specified field.
in: query
schema:
type: string
enum:
- id
- name
- active
- language
- name: sortdir
description: sorting direction. Only relevant if the sortby parameter is also specified.
in: query
schema:
type: string
enum:
- ascending
- descending
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
- excel
default: json
- name: lang
description: returns the output in the specified language. Only supported for excel outputs. The language identifier must be provided in ISO639-1 format
in: query
schema:
type: string
enum:
- en
- fr
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: string
format: binary
application/xml:
schema:
type: string
format: binary
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: string
format: binary
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/delta:
get:
tags:
- subsets
summary: Retrieves the delta between two subset versions.
description: Generates a list of differences between two subset versions. The differeces might include changes in the subset metadata or their concept list. The versions that are being compared don't necessarily have to be consecutive.
operationId: deltaSubsets
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: fromversion
description: id of the first subset version to be compared. The initial subset version will be used if this parameter isn't specified.
in: query
schema:
type: string
- name: toversion
description: id of the second subset version to be compared. The most recent subset version will be used if this parameter isn't specified.
in: query
schema:
type: string
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Delta'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Delta'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/delta/download:
get:
tags:
- subsets
summary: Downloads the delta between two subset versions.
description: Downloads a list of differences between two subset versions. The differences might include changes in the subset metadata or their concept list. The versions that are being compared don't necessarily have to be consecutive.
operationId: downloadDeltaSubset
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: fromversion
description: id of the first subset version to be compared. The initial subset version will be used if this parameter isn't specified.
in: query
schema:
type: string
- name: toversion
description: id of the second subset version to be compared. The most recent subset version will be used if this parameter isn't specified.
in: query
schema:
type: string
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
- excel
default: json
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: string
format: binary
application/excel:
schema:
type: string
format: binary
application/json:
schema:
type: string
format: binary
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/concepts:
get:
tags:
- subsets
summary: Retrieves the list of concepts that are part of a subset version.
description: Retrieves a full list of concepts that are part of a subset version.
operationId: getConcepts
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: versionid
description: subset version, latest version if not provided
in: query
schema:
type: string
- name: active
description: returns active or inactive concepts if specified, all concepts if this parameter is absent
in: query
schema:
type: boolean
- name: reflang
description: returns concepts for the specified language. The language identifier must be provided in ISO639-1 format
in: query
schema:
type: string
enum:
- en
- name: name
description: returns only concepts matching the given name. The name filter can use a regular expression format
in: query
schema:
type: string
- name: sortby
description: sorts the result set by the specified field.
in: query
schema:
type: string
enum:
- id
- name
- term
- effectivedate
- active
- name: sortdir
description: sorting direction. Only relevant if the sortby parameter is also specified.
in: query
schema:
type: string
enum:
- ascending
- descending
- name: page
description: page number used for pagination
in: query
schema:
type: integer
default: '1'
- name: size
description: page size used for pagination
in: query
schema:
type: integer
default: '1000'
- name: format
required: false
description: output format
in: query
schema:
type: string
enum:
- json
- xml
default: json
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Concepts'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Concepts'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
/subset/{subsetid}/concepts/{conceptid}:
get:
tags:
- subsets
summary: Retrieves the matching concept within the subset
description: Retrieves the concept details that matches the supplied concept identifier within the matching subset.
operationId: getConcept
parameters:
- name: auth
description: 'basic access authentication credentials, specified as username:password and encoded using Base64 encoding. These credentials can alternatively be passed in the ''Authorization: Basic'' HTTP header.'
in: query
schema:
type: string
- name: btoken
description: 'JSON web token. This token can alternatively be passed in the ''Authorization: Bearer'' HTTP header.'
in: query
schema:
type: string
- name: subsetid
required: true
description: subset identifier
in: path
schema:
type: string
- name: conceptid
required: true
description: concept identifier
in: path
schema:
type: string
- name: versionid
description: version identifier for the subset
in: query
schema:
type: string
- name: format
description: output format
in: query
schema:
type: string
enum:
- xml
- json
default: json
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Concept'
application/xml:
schema:
$ref: '#/components/schemas/Concept'
'400':
description: Invalid parameters
'403':
description: Missing or invalid credentials
components:
schemas:
SubsetVersionReference:
type: object
properties:
id:
type: string
description: subset id
name:
type: string
description: subset name
versionId:
type: string
description: subset version id
effectiveDate:
type: string
description: date when the subset was added, in yyyyMMdd format
default: '20170101'
active:
type: string
enum:
- 'true'
- 'false'
description: 'subset status: active or inactive'
CodeSystemVersion:
type: object
properties:
id:
type: string
description: codesystem id
name:
type: string
description: codesystem name
versionId:
type: string
description: codesystem version id
defaultLanguage:
type: string
enum:
- en
description: codesystem version language in ISO639-1 format
supportedLanguage:
type: string
description: codesystem version language in ISO639-1 format
propertyNames:
type: object
description: map of the property names to their abbreviated form
propertyCodes:
type: object
description: map of the abbreviated property names to their long form
Concept:
type: object
properties:
id:
type: string
description: concept id
name:
type: string
description: concept name
codeSystemId:
type: string
description: code system id
codeSystemName:
type: string
description: code system name
enDisplayName:
type: string
description: English display name
enDisplayNameSecondary:
type: string
description: secondary English display name
enAbbr:
type: string
description: English name abbreviation
frDisplayName:
type: string
description: French display name
frDisplayNameSecondary:
type: string
description: secondary French display name
frAbbr:
type: string
description: French name abbreviation
description:
type: string
description: full concept description
effectiveDate:
type: string
description: date when the concept was added to the concept or last modified in yyyyMMdd format
default: '20170101'
active:
type: string
enum:
- 'true'
- 'false'
description: 'concept status: active or inactive'
comment:
type: string
description: additional comment
subsets:
type: array
items:
$ref: '#/components/schemas/SubsetVersionReference'
properties:
type: object
description: additional properties
Concepts:
type: object
properties:
concepts:
type: array
items:
$ref: '#/components/schemas/Concept'
pagination:
$ref: '#/components/schemas/Pagination'
Delta:
type: object
properties:
fromVersionId:
type: string
description: previous version including data that has been modified
toVersionId:
type: string
description: version where the change has been introduced
type:
type: string
description: type of change
enum:
- SUBSET_ADDED
- SUBSET_INACTIVATED
- SUBSET_METADATA_UPDATED
- CONCEPT_ADDED
- CONCEPT_UPDATED
- CONCEPT_INACTIVATED
- CONCEPT_REMOVED
- RELATIONSHIP_ADDED
- RELATIONSHIP_REMOVED
- RELATIONSHIP_MOVED
- RELATIONSHIP_TYPE_CHANGED
change:
type: string
description: textual description of the change
effectiveDate:
type: string
description: date when the change has been introduced
subsetMetadata:
$ref: '#/components/schemas/SubsetVersion'
concept:
$ref: '#/components/schemas/Concept'
relationship:
$ref: '#/components/schemas/Relationship'
comments:
type: string
description: additional comments
Pagination:
type: object
properties:
currentPage:
type: integer
description: currently returned page
totalPages:
type: integer
description: total number of pages required to displayed the entire result set
pageSize:
type: integer
description: page size
totalRecords:
type: integer
description: total number of records in the result set
firstRecord:
type: integer
description: first record returned by the current page
lastRecord:
type: integer
description: last record returned by the current page
nextPage:
type: integer
description: next page in the result set or -1 if this is the last page
nextRecord:
type: integer
description: next record in the result set or -1 if there are no more records to be returned
Relationship:
type: object
properties:
fromConceptParent:
$ref: '#/components/schemas/Concept'
toConceptParent:
$ref: '#/components/schemas/Concept'
fromConcept:
$ref: '#/components/schemas/Concept'
toConcept:
$ref: '#/components/schemas/Concept'
fromAssociationGroup:
type: string
description: old value of concept's associationGroup
toAssociationGroup:
type: string
description: new value of concept's associationGroup
fromAssociationType:
type: string
description: old value of concept's associationType
toAssociationType:
type: string
description: new value of concept's associationType
Subsets:
type: object
properties:
subsets:
type: array
items:
$ref: '#/components/schemas/Subset'
pagination:
$ref: '#/components/schemas/Pagination'
CodeSystem:
type: object
properties:
id:
type: string
description: codesystem id
name:
type: string
description: code system name
businessName:
type: string
description: code system business name
url:
type: string
description: code system URL
version:
type: string
description: code system version
organization:
type: string
description: organization owning the code system
latestVersion:
type: string
description: id of the most recent codesystem version
versions:
type: array
items:
$ref: '#/components/schemas/CodeSystemVersion'
Subset:
type: object
properties:
id:
type: string
description: subset id
name:
type: string
description: subset name
url:
type: string
description: defining URL of the subset
fhirUri:
type: string
description: FHIR URI of the subset
latestVersion:
type: string
description: id of the most recent subset version
viewer:
type: string
description: hint for the viewer to be used for rendering
versions:
type: array
items:
$ref: '#/components/schemas/SubsetVersion'
SubsetVersion:
type: object
properties:
id:
type: string
description: subset id
url:
type: string
description: subset url
fhirUri:
type: string
description: FHIR URI of the subset
name:
type: string
description: subset name
versionId:
type: string
description: subset version id
effectiveDate:
type: string
description: version date in yyyyMMdd format
description:
type: string
description: subset version description
active:
type: string
enum:
- 'true'
- 'false'
description: 'subset version status: active or inactive'
status:
type: string
enum:
- FINAL
- DRAFT
description: subset version status on whether metadata is a draft or finalized
language:
type: string
enum:
- en
description: subset version language in ISO639-1 format
comment:
type: string
description: release comment associated to the subset version
codeSystems:
type: array
items:
$ref: '#/components/schemas/CodeSystem'