Canada Health Infoway Subsets API

APIs for terminology subsets

Operations 9

GET /subsets Retrieves a list of subsets #
GET /subsets/download Returns a downloadable list containing all subsets. #
GET /subset/{subsetid}/versions Returns metadata for all versions of a subset. #
GET /subset/{subsetid} Returns metadata for a single subset version. #
GET /subset/{subsetid}/download Downloads the data associated to a subset version. #
GET /subset/{subsetid}/delta Retrieves the delta between two subset versions. #
GET /subset/{subsetid}/delta/download Downloads the delta between two subset versions. #
GET /subset/{subsetid}/concepts Retrieves the list of concepts that are part of a subset version. #
GET /subset/{subsetid}/concepts/{conceptid} Retrieves the matching concept within the subset #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canada-health-infoway-subsets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canada-health-infoway-subsets-api-openapi.yml Raw ↑
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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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 <a href=''https://www.base64encode.org/'' target=''_blank''><b>Base64</b></a> 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'