API

Documentation:

The medcode API allows you to fetch data of target Diagnoses and Procedures. In this documentation the term resource stands for a specific procedure or diagnosis (e.g. PCS or CHOP)

Currently, our API implements the following three types of requests:
  • GET the catalog names of a target resource
  • GET a resource by its catalog and code
  • GET all resources in a certain catalog that match a given search-query.
The search query can either be a code prefix, a term or even a text that is associated with the corresponding resource. For further information please have a look at the specific API endpoint documentations.

Authentication

To use our API you need to be authenticated using a token. You can obtain an API token by sending an email to info@medcode.ch

Locale

Most requests respect a locale parameter that will determine the language of the parsed query and the language of the descriptions within the results. For example, you can set the language to italian using &locale=it. Supported locales are de, fr, it, en Unless specified, the default language is en (English).

Requests

Catalog

Find:

METHOD: GET
Description: Get all catalogs of a certain resource
INFO: This request can only be performed when passing your API token. However, when not providing a token, the requests are throttled.
URL: /api/v1/catalogs/:resource
PARAMS:
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/catalogs/icd/PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/catalogs/icd?client_access_token=TOKEN' Response: { "message":"OK", "data":[ "icd10-2010","icd-10-cm-2017","icd-10-cm-2016", "icd-10-cm-2015","icd-10-cm-2018","icd10-gm-2017", "icd10-2008","icd10-2016","icd10-gm-2014", "icd10-gm-2016","icd10-gm-2015","icd10-gm-2012", "icd10-gm-2011","icd10-gm-2013","icd10-gm-2010", "icd10-gm-2008" ] } Error Responses:
  • 401 Unauthorized
  • 404 MODEL with code CODE not found: In case there is no given record for the given model with the provided params.

ICD

Search:

METHOD: GET
Description: Get all ICDs that match a certain search criterion.
INFO: This request can only be performed when passing your API token.
URL: /api/v1/icds/:catalog
PARAMS:
  • search: a search term that should match the target resource
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: Search by code prefix "A00" CURL: curl -X GET 'https://medcode.ch/api/v1/icds/icd-10-cm-2018?search=A00&client_access_token=TOKEN' Response { "message":"OK", "data":"[ { "id":506672, "catalog":"ICD-10-CM-2018", "code":"A00", "text":"Cholera", "inclusions":[], "exclusions":[], "coding_hint":null, "note":null, "terminal":false, "synonyms":[], "subclasses":["A00.0","A00.1","A00.9"], "usage":null, "most_relevant_drgs":[] }, { "id":506674, "catalog":"ICD-10-CM-2018", "code":"A00.0", "text":"Cholera due to Vibrio cholerae 01, biovar cholerae", "inclusions":[], "exclusions":[], "coding_hint":null, "note":null, "terminal":true, "synonyms":["Classical cholera"], "subclasses":[], "usage":null, "most_relevant_drgs":[] }, { "id":506676, "catalog":"ICD-10-CM-2018", "code":"A00.1", "text":"Cholera due to Vibrio cholerae 01, biovar eltor", "inclusions":[], "exclusions":[], "coding_hint":null, "note":null, "terminal":true, "synonyms":["Cholera eltor"], "subclasses":[], "usage":null, "most_relevant_drgs":[] }, { "id":506677, "catalog":"ICD-10-CM-2018", "code":"A00.9", "text":"Cholera, unspecified", "inclusions":[], "exclusions":[], "coding_hint":null, "note":null, "terminal":true, "synonyms":[], "subclasses":[], "usage":null, "most_relevant_drgs":[] } ]" } Example: Search by the term "Unspecified injury of ovary" CURL: curl -X GET 'https://medcode.ch/api/v1/icds/icd-10-cm-2018?search=Unspecified injury of ovary&client_access_token=TOKEN' Response { "message":"OK", "data":"[ { "id":528259, "catalog":"ICD-10-CM-2018", "code":"H71.90", "text":"Unspecified cholesteatoma, unspecified ear" ... }, ..., { "id":576344, "catalog":"ICD-10-CM-2018", "code":"S73.003", "text":"Unspecified subluxation of unspecified hip", ... } ]" } Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 401 Unauthorized": In case no credentials were provided

Find:

METHOD: GET
Description: Get the data of a ICD that belong to a given catalog and code.
INFO: This request can only be performed when passing your API token. However, when not providing a token, the requests are throttled.
URL: /api/v1/icds/:catalog/:code
PARAMS:
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/icds/ICD-10-CM-2018/A00?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/icds/icd-10-cm-2018/A00?client_access_token=TOKEN' Response { "message":"OK", "data":"{ "id":506672, "catalog":"ICD-10-CM-2018", "code":"A00", "text":"Cholera", "inclusions":[], "exclusions":[], "coding_hint":null, "note":null, "terminal":false, "synonyms":[], "subclasses":["A00.0","A00.1","A00.9"], "usage":null, "most_relevant_drgs":[] }" } Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 404 MODEL with code CODE not found: In case there is no given record for the given model with the provided params.

PCS

Search:

METHOD: GET
Description: Get all PCS that match a certain search term.
INFO: This request can only be performed when passing your API token.
URL: /api/v1/pcs/:catalog
PARAMS:
  • search: a search term that should match the target resource
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources.
Example: Search by code prefix "XY0VX" CURL: curl -X GET 'https://medcode.ch/api/v1/pcs/ICD-10-PCS-2018?search=XY0VX&client_access_token=TOKEN' Response: { "message": "OK", "data":"[ { "id":380350, "catalog":"ICD-10-PCS-2018", "terminal":false, "code":"XY0VX", "text":"External", "axis":5, "subclasses":["XY0VX8"], "inclusions":[], "exclusions":[], "synonyms":["External"] }, { "id":380352, "catalog":"ICD-10-PCS-2018", "terminal":true, "code":"XY0VX83", "text":"Extracorporeal Introduction of Endothelial Damage Inhibitor to Vein Graft, New Technology Group 3", "axis":7, "subclasses":[], "inclusions":[], "exclusions":[], "synonyms":[] }, { "id":380351, "catalog":"ICD-10-PCS-2018", "terminal":false, "code":"XY0VX8", "text":"Endothelial Damage Inhibitor", "axis":6, "subclasses":["XY0VX83"], "inclusions":[], "exclusions":[], "synonyms":["Endothelial Damage Inhibitor","DuraGraft(R) Endothelial Damage Inhibitor"] } ]" } Example:Search by the term "Endothelial Damage" CURL: curl -X GET 'https://medcode.ch/api/v1/pcs/ICD-10-PCS-2018?search=Endothelial&nbspDamage&client_access_token=TOKEN' Response: { { "message":"OK", "data":"[ { "id":380351, "catalog":"ICD-10-PCS-2018", "terminal":false, "code":"XY0VX8", "text":"Endothelial Damage Inhibitor", "axis":6, "subclasses":["XY0VX83\"], "inclusions":[], "exclusions":[], "synonyms":["Endothelial Damage Inhibitor","DuraGraft(R) Endothelial Damage Inhibitor"] }, { "id\":380352, "catalog":"ICD-10-PCS-2018", "terminal":true, "code":"XY0VX83", "text":"Extracorporeal Introduction of Endothelial Damage Inhibitor to Vein Graft, New Technology Group 3", "axis":7, "subclasses":[], "inclusions":[], "exclusions":[], "synonyms":[] } ]" } Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 401 Unauthorized": In case no credentials were provided

Find:

METHOD: GET
Description: Get the data of a PCS that belong to a given catalog and code.
INFO: This request can only be performed when passing your API token. However, when not providing a token, the requests are throttled.
URL: /api/v1/pcs/:catalog/:code
PARAMS:
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/pcs/ICD-10-PCS-2018/XY0VX83?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/pcs/ICD-10-PCS-2018/XY0VX83?client_access_token=TOKEN' Response { "message":"OK", "data":"{ "id":380352, "catalog": "ICD-10-PCS-2018", "terminal":true, "code":"XY0VX83", "text":"Extracorporeal Introduction of Endothelial Damage Inhibitor to Vein Graft, New Technology Group 3", "axis":7, "subclasses":[], "inclusions":[], "exclusions":[], "synonyms":[] }" } Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 404 MODEL with code CODE not found: In case there is no given record for the given model with the provided params.

CHOP

Search:

METHOD: GET
Description: Get all CHOPs that match a certain search criterion.
INFO: This request can only be performed when passing your API token.
URL: /api/v1/chops/:catalog
PARAMS:
  • search: a search term that should match the target resource
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/chops/CHOP 2011?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/chops/chop&nbsp2011?search=99.B5.49&client_access_token=TOKEN' Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 401 Unauthorized": In case no credentials were provided

Find:

METHOD: GET
Description: Get the data of a CHOP that belong to a given catalog and code.
INFO: This request can only be performed when passing your API token. However, when not providing a token, the requests are throttled.
URL: /api/v1/chops/:catalog/:code
PARAMS:
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/chops/CHOP 2011/99.B5.49?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/chops/chop&nbsp2011/99·B5·/' Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 404 MODEL with code CODE not found: In case there is no given record for the given model with the provided params.

OPS

Search:

METHOD: GET
Description: Get all OPS that match a certain search criterion.
INFO: This request can only be performed when passing your API token.
URL: /api/v1/ops/:catalog
PARAMS:
  • search: a search term that should match the target resource
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/ops/OPS-2013?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/ops/OPS-2013?search=1-10&client_access_token=TOKEN' Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 401 Unauthorized": In case no credentials were provided

Find:

METHOD: GET
Description: Get the data of a OPS that belong to a given catalog and code.
INFO: This request can only be performed when passing your API token. However, when not providing a token, the requests are throttled.
URL: /api/v1/ops/:catalog/:code
PARAMS:
  • client_access_token: your credentials
Response
  • message: a string that contains the response status message
  • data: an array that contains the fetched resources
Example: api/v1/ops/OPS-2013/1-10?PARAMS CURL: curl -X GET 'https://medcode.ch/api/v1/ops/OPS-2013/1-10?client_access_token=TOKEN' Error Responses:
  • 400 Bad Request": In case no search param is provided
  • 404 MODEL with code CODE not found: In case there is no given record for the given model with the provided params.