MDR REST Interface
Specific requests must include the access token in the Authorization Header
Namespaces¶
Namespaces list¶
GET/namespaces
Get a list of all namespaces defined in the MDR.
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"name": "mdr",
"writeable": true,
"designations": [
{
"definition": "Der Default Namespace",
"designation": "MDR",
"lang": "de"
},
{
"definition": "The default namespace",
"designation": "MDR",
"lang": "en"
}
]
}
]
Schema
{to be added}
Root members of a namespace¶
GET/namespaces/{namespace}/members
Get the root member items of a requested resource.
- namespace
string
(required) Example: dktkThe name of the requested namespace
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"totalcount": 57,
"results": [
{
"id": "urn:mdr:dataelement:8132:1",
"type": "DATAELEMENT",
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
]
}
]
}
Schema
{to be added}
Search inside a namespace¶
GET/namespaces/{namespace}/search{?query}
Search inside a namespace.
- namespace
string
(required) Example: dktkThe name of the requested namespace
- query
string
(required) Example: sexThe search term
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"totalcount": 57,
"results": [
{
"id": "urn:mdr:dataelement:8132:1",
"type": "DATAELEMENT",
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
]
}
]
}
Schema
{to be added}
Data elements¶
Get a data element¶
GET/dataelements/{urn}
Get a specific data element identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
],
"validation": {
"value_domain_type": "described",
"description": "Weight of a patient in kilogram",
"datatype": "INTEGER",
"format": "0<=x<=150",
"maximum_character_quantity": "3",
"unit_of_measure": "kg",
"validation_type": "INTEGERRANGE",
"validation_data": "0<=x<=150",
"meanings": [
{
"definition": "an integer used for quantification by additionally specifying a unit of measure",
"designation": "a number",
"lang": "en"
}
],
"errorMessages": [
{
"definition": "the entered value has to be between 0 and 200",
"designation": "invalid value",
"lang": "en"
}
]
},
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"urn": "urn:mdr:dataelement:4711:1"
}
}
Schema
{to be added}
Get the labels of a data element¶
GET/dataelements/{urn}/labels
Get the labels of a specific data element identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
]
Schema
{to be added}
Get the validation information of a data element¶
GET/dataelements/{urn}/validations
Get the validation information of a specific data element identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"value_domain_type": "described",
"description": "Weight of a patient in kilogram",
"datatype": "INTEGER",
"format": "0<=x<=150",
"maximum_character_quantity": "3",
"unit_of_measure": "kg",
"validation_type": "INTEGERRANGE",
"validation_data": "0<=x<=150",
"meanings": [
{
"definition": "an integer used for quantification by additionally specifying a unit of measure",
"designation": "a number",
"lang": "en"
}
],
"errorMessages": [
{
"definition": "the entered value has to be between 0 and 200",
"designation": "invalid value",
"lang": "en"
}
]
}
Schema
{to be added}
Get the labels and the validation information of a data element¶
GET/dataelements/{urn}/uimodel
Get the labels and validation information of a specific data element identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
],
"validation": {
"value_domain_type": "described",
"description": "Weight of a patient in kilogram",
"datatype": "INTEGER",
"format": "0<=x<=150",
"maximum_character_quantity": "3",
"unit_of_measure": "kg",
"validation_type": "INTEGERRANGE",
"validation_data": "0<=x<=150",
"meanings": [
{
"definition": "an integer used for quantification by additionally specifying a unit of measure",
"designation": "a number",
"lang": "en"
}
],
"errorMessages": [
{
"definition": "the entered value has to be between 0 and 200",
"designation": "invalid value",
"lang": "en"
}
]
}
}
Schema
{to be added}
Get the slots of a data element¶
GET/dataelements/{urn}/slots
Get the slots of a specific data element identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
]
Schema
{to be added}
Data element groups¶
Get the labels of a data element group¶
GET/dataelementgroups/{urn}/labels
Get the labels of a specific data element group identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"definition": "Information about the classification of the tumour",
"designation": "Tumour classification",
"lang": "en"
}
]
Schema
{to be added}
Get the members of a data element group¶
GET/dataelementgroups/{urn}/members
Get the members (subgroups, dataelements, records) of a specific data element group identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"totalcount": 5,
"results": [
{
"id": "urn:mdr:dataelementgroup:4713:1",
"type": "DATAELEMENTGROUP",
"designations": [
{
"definition": "Information about the classification of the tumour",
"designation": "Tumour classification",
"lang": "en"
}
]
}
]
}
Schema
{to be added}
Records¶
Get the labels of a record¶
GET/records/{urn}/labels
Get the labels of a specific record identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"definition": "Numeric identifier to specify the position within a storage rack or box in which a cell product is located",
"designation": "Cell Product Storage Position Location Identifier",
"lang": "en"
}
]
Schema
{to be added}
Get the members of a record¶
GET/records/{urn}/members
Get the members of a specific record identified by its URN.
- urn
string
(required) Example: urn:dktk:dataelement:123:1The URN of a data element
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"id": "urn:mdr:dataelement:87:1",
"type": "DATAELEMENT",
"order": 1,
"designations": [
{
"definition": "Numeric identifier to specify the position within a storage rack or box in which a cell product is located",
"designation": "Cell Product Storage Position Location Identifier",
"lang": "en"
}
]
}
]
Schema
{to be added}
Catalogs¶
Get the catalog with its labels and slots¶
GET/catalogs/{urn}
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Der Entitätenkatalog im DKTK",
"designation": "Entitätenkatalog im DKTK",
"lang": "de"
}
],
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"urn": "urn:dktk:catalog:1:1"
}
}
Schema
{to be added}
Get the labels¶
GET/catalogs/{urn}/labels
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"definition": "Der Entitätenkatalog im DKTK",
"designation": "Entitätenkatalog im DKTK",
"lang": "de"
}
]
Schema
{to be added}
Get the slots¶
GET/catalogs/{urn}/slots
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
]
Schema
{to be added}
Get the codes¶
GET/catalogs/{urn}/codes
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"root": {
"subCodes": [
"C40",
"C41",
"C43"
],
"identification": {
"urn": "urn:dktk:catalog:1:1"
},
"designations": [
{
"definition": "Der Entitätenkatalog im DKTK",
"designation": "Entitätenkatalog im DKTK",
"lang": "de"
}
]
},
"codes": [
{
"code": "C40",
"isValid": false,
"subCodes": [
"C40.1",
"C40.2",
"C40.3",
"C40.4"
],
"identification": {
"urn": "urn:dktk:code:34:1"
},
"designations": [
{
"definition": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"designation": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"lang": "de"
}
]
}
]
}
Schema
{to be added}
Get a code with slots and labels¶
GET/catalogs/{urn}/codes/{urn_code}
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
- urn_code
string
(required) Example: urn:dktk:code:43:1The URN of the code
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
{
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"code": "C40",
"isValid": false,
"subCodes": [
"C40.1",
"C40.2",
"C40.3",
"C40.4"
],
"identification": {
"urn": "urn:dktk:code:34:1"
},
"designations": [
{
"definition": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"designation": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"lang": "de"
}
]
}
Schema
{to be added}
Get the labels of a code¶
GET/catalogs/{urn}/codes/{urn_code}/labels
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
- urn_code
string
(required) Example: urn:dktk:code:43:1The URN of the code
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"definition": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"designation": "C40, Bösartige Neubildung des Knochens und des Gelenkknorpels der Extremitäten",
"lang": "de"
}
]
Schema
{to be added}
Get the slots of a code¶
GET/catalogs/{urn}/codes/{urn_code}/slots
- urn
string
(required) Example: urn:dktk:catalog:1:1The URN of the catalog
- urn_code
string
(required) Example: urn:dktk:code:43:1The URN of the code
Headers
Content-Type: application/json
Accept: application/json
200
Headers
Content-Type: application/json
Body
[
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
]
Schema
{to be added}
Reporting of new items¶
Report an item/attribute as a new data element or update it if it already exists¶
POST/{namespace}/dataelements/stage
Transmit a minimum amout of information and create a new data element based on that.
- namespace
string
(required) Example: somenamespaceThe name of the namespace
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
],
"validation": {
"value_domain_type": "described",
"description": null,
"datatype": null,
"format": null,
"maximum_character_quantity": null,
"unit_of_measure": null,
"validation_type": null,
"validation_data": null
},
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"localidentifier": "someID"
}
}
Schema
{to be added}
301
Headers
Location: https://mdr.example.com/somenamespace/dataelements/urn:somenamespace:dataelement:someID:1
POST/{namespace}/dataelements/stage
Transmit a minimum amout of information and create a new data element based on that.
- namespace
string
(required) Example: somenamespaceThe name of the namespace
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
],
"validation": {
"value_domain_type": "enumerated",
"description": null,
"datatype": null,
"format": null,
"maximum_character_quantity": null,
"unit_of_measure": null,
"permissible_values": [
{
"value": "m",
"meanings": [
{
"definition": "Male",
"designation": "Male",
"language": "en"
}
]
},
{
"value": "f",
"meanings": [
{
"definition": "Female",
"designation": "Female",
"language": "en"
}
]
}
]
},
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"localidentifier": "someID"
}
}
Schema
{to be added}
301
Headers
Location: https://mdr.example.com/somenamespace/dataelements/urn:somenamespace:dataelement:someID:1
PUT/{namespace}/dataelements/stage
Transmit the changed amout of information and update the already created data element based on that.
- namespace
string
(required) Example: somenamespaceThe name of the namespace
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Sex of a patient",
"designation": "Sex",
"lang": "en"
}
],
"validation": {
"value_domain_type": "described",
"description": null,
"datatype": null,
"format": null,
"maximum_character_quantity": null,
"unit_of_measure": null,
"validation_type": null,
"validation_data": null
},
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"localidentifier": "someID"
}
}
Schema
{to be added}
301
Headers
Location: https://mdr.example.com/somenamespace/dataelements/urn:somenamespace:dataelement:someID:1
Report a dataelementgroup with already existing dataelements as members¶
POST/dataelementgroups/stage
Transmit the new dataelementgroup with all members:
-
Parameters:
- namespace: somenamespace (string) - The name of the namespace
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Information about the classification of the tumour",
"designation": "Tumour classification",
"lang": "en"
}
],
"members": [
"urn:somenamespace:dataelement:1:4",
"urn:somenamespace:dataelement:BG_2:2",
"urn:somenamespace:dataelement:A4:1",
"urn:somenamespace:dataelement:67:1",
"urn:somenamespace:dataelement:3b:1"
],
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"localidentifier": "someID"
}
}
Schema
{to be added}
301
Headers
Location: https://mdr.example.com/somenamespace/dataelementgroups/urn:somenamespace:dataelementgroup:someID:1
PUT/dataelementgroups/stage
Transmit the updated dataelementgroup with all members:
-
Parameters:
- namespace: somenamespace (string) - The name of the namespace
Headers
Content-Type: application/json
Body
{
"designations": [
{
"definition": "Information about the classification of the tumour",
"designation": "Tumour classification",
"lang": "en"
}
],
"members": [
"urn:somenamespace:dataelement:1:4",
"urn:somenamespace:dataelement:BG_2:2",
"urn:somenamespace:dataelement:A4:1",
"urn:somenamespace:dataelement:67:1",
"urn:somenamespace:dataelement:3b:1"
],
"slots": [
{
"slot_name": "STUDYCONTEXT",
"slot_value": "NCI4711"
}
],
"identification": {
"localidentifier": "someID"
}
}
Schema
{to be added}
301
Headers
Location: https://mdr.example.com/somenamespace/dataelementgroups/urn:somenamespace:dataelementgroup:someID:1