openapi: 3.2.0 info: description: RESTful web services used to browse terminology data. version: 1.0.0 title: Terminology Maps API termsOfService: http://swagger.io/terms/ servers: - url: /rest/v1 tags: - name: maps description: APIs for accessing map data paths: /maps: get: tags: - maps summary: Retrieves a list of maps. description: Retrieves a list of maps matching the provided search criteria. operationId: getAllMaps 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: name description: returns only maps matching the given name. The name filter supports globbing. in: query schema: type: string - name: tags description: returns only maps that has the given tag(s). Can search multiple tags by comma separating. in: query schema: type: string - name: domain description: returns only maps matching the given domain(s). Can search multiple domains by comma separating. in: query schema: type: string - name: owner description: returns only maps owned by the the specified owner. in: query schema: type: string - name: sortby description: sorts the result set by the specified field. in: query schema: type: string enum: - id - name - 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/Maps' application/xml: schema: type: array items: $ref: '#/components/schemas/Maps' '400': description: Invalid parameters '403': description: Missing or invalid credentials /maps/download: get: tags: - maps summary: Returns a downloadable list containing all maps. description: Generates a full list containing all maps. The list is returned as an attachment to the HTTP response. This API doesn't apply any pagination to the result set. operationId: mapDownload 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 - 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 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 /map/{mapid}/versions: get: tags: - maps summary: Returns metadata for all versions of a map. description: Returns the metadata associated to all map version. operationId: mapVersions 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: mapid required: true description: map 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/MapVersion' application/xml: schema: type: array items: $ref: '#/components/schemas/MapVersion' '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}: get: tags: - maps summary: Returns metadata for a single map version. description: Returns the metadata associated to a single map version. Chooses the latest map version if versionid is not provided. operationId: getMapById 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: mapid required: true description: map identifier in: path schema: type: string - name: versionid description: map version identifer 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/Map' application/xml: schema: type: array items: $ref: '#/components/schemas/Map' '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}/download: get: tags: - maps summary: Downloads the data associated to a map version. description: Downloads the data associated to a map version. This includes all map elements that are part of this map. The data is returned as an attachement to the HTTP response. operationId: mapDownloadId 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: mapid required: true description: map identifier in: path schema: type: string - name: versionid description: map version identifer 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: string format: binary application/xml: schema: type: string format: binary '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}/delta: get: tags: - maps summary: Retrieves the delta between two map versions. description: Generates a list of differences between two map versiosn. The differences might include changes in the map metadata or their map elements list. The versions that are being compared don't necessarily have to be consecutive. operationId: mapDelta 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: mapid required: true description: map identifier in: path schema: type: string - name: fromversion description: from map version identifer in: query schema: type: string - name: toversion description: to map version identifer 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/MapDelta' application/xml: schema: type: array items: $ref: '#/components/schemas/MapDelta' '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}/delta/download: get: tags: - maps summary: Downloads the delta between two map versions. description: Downloads a list of differences between two map versions. The differences might include changes in the map metadata or their map elements list. The versions that are being compared don't necessarily have to be consecutive. operationId: mapDeltaDownload 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: mapid required: true description: map identifier in: path schema: type: string - name: fromversion description: from map version identifer in: query schema: type: string - name: toversion description: to map version identifer 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: string format: binary application/xml: schema: type: string format: binary '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}/targets: get: tags: - maps summary: Retrieves a list of map elements for the supplied map version. description: Retrieves a list of map elements from a supplied version of a map matching the provided search criteria. Gets latest map version if versionid is not supplied operationId: mapLatestVersionTarget 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: mapid required: true description: map identifier in: path schema: type: string - name: versionid description: map version identifier in: query schema: type: string - name: src description: concept codes, comma separate for multiple in: query schema: type: string - name: subset description: subset identifier in: query schema: type: string - name: subsetver description: subset version identifier in: query schema: type: string - name: reverse description: boolean to reverse map element's source and target concepts for reverse lookup in: query schema: type: boolean default: false - name: format required: false description: output format in: query schema: type: string enum: - json - xml default: json - 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' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/MapElements' application/xml: schema: type: array items: $ref: '#/components/schemas/MapElements' '400': description: Invalid parameters '403': description: Missing or invalid credentials /map/{mapid}/concepts: get: tags: - maps summary: Retrieves elements belonging to a map. description: Retrieves all map elements belonging to a map. operationId: getMapElements 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: mapid required: true description: map identifier in: path schema: type: string - name: versionid description: map version identifier in: query schema: type: string - name: sortby description: sorts the result set by the specified field. in: query schema: type: string enum: - id - name - name: sortdir description: sorting direction. 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 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/MapElements' '400': description: Invalid parameters '403': description: Missing or invalid credentials components: schemas: MapDelta: type: object properties: fromVersionId: type: string description: version identifier of map being compared from toVersionId: type: string description: version identifier of map being compared to type: type: string enum: - Map created - Map metadata updated - Map inactivated - Element added - Element updated - Element removed description: type of change between two map versions change: type: string description: type of change between two map versions effectiveDate: type: string description: effective date of the change fromVersion: $ref: '#/components/schemas/MapVersion' toVersion: $ref: '#/components/schemas/MapVersion' fromElement: $ref: '#/components/schemas/MapElement' toElement: $ref: '#/components/schemas/MapElement' updatedFields: type: array items: type: string description: updated properties between two map versions 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' Maps: type: object properties: subsets: type: array items: $ref: '#/components/schemas/Map' pagination: $ref: '#/components/schemas/Pagination' 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 MapElement: type: object properties: source: $ref: '#/components/schemas/Concept' target: $ref: '#/components/schemas/Concept' 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 MapVersion: type: object properties: id: type: string description: map id versionId: type: string description: version id of the map version date: type: string description: effective date of the map version default: '20170101' metadata: type: object description: type: string status: type: string enum: - active - curated - public - retired type: type: string elements: type: array items: $ref: '#/components/schemas/Concept' defaultElement: $ref: '#/components/schemas/Concept' Map: type: object properties: id: type: string description: map id name: type: string description: map name url: type: string description: url to map fhirUri: type: string description: FHIR URI of the map latestVersion: type: string description: id of the most recent map version owner: type: string description: organization owning the map metadata: type: object description: map of extra data viewer: type: string description: hint for the viewer to be used for rendering tags: type: array items: type: string properties: type: object domains: type: array items: type: string versions: type: array items: $ref: '#/components/schemas/MapVersion' MapElements: type: object properties: elements: type: array items: $ref: '#/components/schemas/MapElement' pagination: $ref: '#/components/schemas/Pagination'