changedInput schema / properties / molecule_chembl_id / description
Previous value: -"ChEMBL molecule ID (from chembl_search_molecules), e.g. \"CHEMBL939\" for gefitinib."New value: +"ChEMBL molecule ID (from chembl_search_molecules), e.g. \"CHEMBL939\" for gefitinib, or the molecule's standard InChIKey, e.g. \"XGALLCVXEZPNRQ-UHFFFAOYSA-N\". A salt or other alternate form answers with its parent's family, the same as the parent."
changedOutput schema / anyOf
Previous value: -[
- {
- "not": {
- "required": [
- "error"
- ]
- },
- "required": [
- "molecule_chembl_id",
- "pref_name",
- "max_phase",
- "first_approval",
- "mechanisms",
- "mechanisms_total_count",
- "mechanisms_status",
- "indications",
- "indications_total_count",
- "indications_status"
- ]
- },
- {
- "required": [
- "error"
- ]
- }
-]New value: +[
+ {
+ "not": {
+ "required": [
+ "error"
+ ]
+ },
+ "required": [
+ "molecule_chembl_id",
+ "parent_molecule_chembl_id",
+ "pref_name",
+ "max_phase",
+ "first_approval",
+ "mechanisms",
+ "mechanisms_total_count",
+ "mechanisms_status",
+ "mechanisms_failure",
+ "indications",
+ "indications_total_count",
+ "indications_rows_fetched",
+ "indications_status",
+ "indications_failure"
+ ]
+ },
+ {
+ "required": [
+ "error"
+ ]
+ }
+]
changedOutput schema / properties / indications / description
Previous value: -"Clinical indications. Empty is authoritative only when indications_status is \"complete\"."New value: +"Clinical indications. Empty is authoritative only when indications_status is \"complete\". When \"truncated\", each indication's max_phase_for_ind and forms are lower bounds: rows past the page cap can raise a phase or add a form."
changedOutput schema / properties / indications / items / description
Previous value: -"One clinical indication with the phase reached for it."New value: +"One clinical indication, listed once per MeSH/EFO pair across the drug and its alternate forms, with the highest phase reached for it and the phase each form reached."
addedOutput schema / properties / indications / items / properties / efo_id
Added value: +{
+ "description": "EFO ontology ID, e.g. \"EFO:0003060\". Null when absent.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / indications / items / properties / forms
Added value: +{
+ "description": "The forms of the drug the indication is recorded on, each with its own highest phase for it. Empty when ChEMBL names none.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One form the indication is recorded on, at its own phase.",
+ "properties": {
+ "max_phase_for_ind": {
+ "description": "Max clinical phase THIS form reached for the indication — a deuterated analog can sit lower than its parent. Null when unknown.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "molecule_chembl_id": {
+ "description": "A form of the drug the indication is recorded on — the parent, or one of its salts or other alternate forms.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "molecule_chembl_id",
+ "max_phase_for_ind"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / properties / indications / items / properties / max_phase_for_ind / description
Previous value: -"Max clinical phase reached for THIS indication (1–4). Null when unknown."New value: +"Max clinical phase reached for THIS indication (1–4), the highest across the forms it is recorded on. Null when unknown."
addedOutput schema / properties / indications / items / properties / mesh_id
Added value: +{
+ "description": "MeSH descriptor ID, e.g. \"D002289\". Null when absent.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
changedOutput schema / properties / indications / items / required
Previous value: -[
- "mesh_heading",
- "efo_term",
- "max_phase_for_ind"
-]New value: +[
+ "mesh_id",
+ "mesh_heading",
+ "efo_id",
+ "efo_term",
+ "max_phase_for_ind",
+ "forms"
+]
addedOutput schema / properties / indications_failure
Added value: +{
+ "anyOf": [
+ {
+ "enum": [
+ "timeout",
+ "upstream_error"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Why the indication list failed, when indications_status is \"failed\": \"timeout\" = the request ran out of time before ChEMBL returned the list; \"upstream_error\" = ChEMBL answered with an error (a rate limit, a server error, a rejected request) or could not be reached. Null when the list did not fail."
+}
addedOutput schema / properties / indications_rows_fetched
Added value: +{
+ "description": "Indication rows fetched from ChEMBL for the molecule and its alternate forms, before rows recorded on several forms merge. When the status is \"truncated\", each row not fetched (indications_total_count minus this) can add at most one indication, so that difference bounds the indications missing. Null when the fetch failed.",
+ "type": [
+ "number",
+ "null"
+ ]
+}
changedOutput schema / properties / indications_status / description
Previous value: -"Retrieval state of the indication list. \"complete\" = every row ChEMBL records is present, so an empty array is a fact about the molecule. \"truncated\" = the single-request page cap bounded the list, so the array is a prefix of indications_total_count rows. \"failed\" = the upstream request was rejected, so the empty array is unknown data, NOT evidence that none exist — re-call chembl_get_drug_info to retry."New value: +"Retrieval state of the indication list. \"complete\" = every row ChEMBL records for the molecule and its alternate forms is present, so an empty array is a fact about the molecule. \"truncated\" = the single-request page cap bounded the list, so the array holds the indications of the rows fetched (indications_rows_fetched, fewer than indications_total_count). \"failed\" = the list was not retrieved (the request ran out of time or ChEMBL answered with an error, as indications_failure says), so the empty array is unknown data, NOT evidence that none exist — re-call chembl_get_drug_info to retry."
changedOutput schema / properties / indications_total_count / description
Previous value: -"Total indication rows ChEMBL holds for this molecule (upstream page_meta.total_count). Exceeds the returned array length exactly when the status is \"truncated\". Null when the fetch failed — the count is unknown, never 0."New value: +"When the status is \"complete\", the number of distinct indications — the returned array length, rows recorded on several forms counted once. When \"truncated\", the indication rows ChEMBL holds for the molecule and its alternate forms, an upper bound on the distinct indications. Null when the fetch failed — the count is unknown, never 0."
addedOutput schema / properties / mechanisms / items / properties / molecule_chembl_id
Added value: +{
+ "description": "The form of the drug the mechanism is recorded on — the parent, or one of its salts or other alternate forms. Null when ChEMBL names none.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
changedOutput schema / properties / mechanisms / items / required
Previous value: -[
- "target_chembl_id",
- "mechanism_of_action",
- "action_type"
-]New value: +[
+ "target_chembl_id",
+ "mechanism_of_action",
+ "action_type",
+ "molecule_chembl_id"
+]
addedOutput schema / properties / mechanisms_failure
Added value: +{
+ "anyOf": [
+ {
+ "enum": [
+ "timeout",
+ "upstream_error"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Why the mechanism list failed, when mechanisms_status is \"failed\": \"timeout\" = the request ran out of time before ChEMBL returned the list; \"upstream_error\" = ChEMBL answered with an error (a rate limit, a server error, a rejected request) or could not be reached. Null when the list did not fail."
+}
changedOutput schema / properties / mechanisms_status / description
Previous value: -"Retrieval state of the mechanism list. \"complete\" = every row ChEMBL records is present, so an empty array is a fact about the molecule. \"truncated\" = the single-request page cap bounded the list, so the array is a prefix of mechanisms_total_count rows. \"failed\" = the upstream request was rejected, so the empty array is unknown data, NOT evidence that none exist — re-call chembl_get_drug_info to retry."New value: +"Retrieval state of the mechanism list. \"complete\" = every row ChEMBL records for the molecule and its alternate forms is present, so an empty array is a fact about the molecule. \"truncated\" = the single-request page cap bounded the list, so the array is a prefix of mechanisms_total_count rows. \"failed\" = the list was not retrieved (the request ran out of time or ChEMBL answered with an error, as mechanisms_failure says), so the empty array is unknown data, NOT evidence that none exist — re-call chembl_get_drug_info to retry."
changedOutput schema / properties / mechanisms_total_count / description
Previous value: -"Total mechanism rows ChEMBL holds for this molecule (upstream page_meta.total_count). Exceeds the returned array length exactly when the status is \"truncated\". Null when the fetch failed — the count is unknown, never 0."New value: +"Total mechanism rows ChEMBL holds for the molecule and its alternate forms. Exceeds the returned array length exactly when the status is \"truncated\". Null when the fetch failed — the count is unknown, never 0."
changedOutput schema / properties / molecule_chembl_id / description
Previous value: -"The ChEMBL molecule ID queried."New value: +"The ChEMBL molecule ID queried, as the molecule's own record writes it."
changedOutput schema / properties / notice / description
Previous value: -"Disclosure of anything the two lists do not say for themselves: a list whose upstream fetch failed (so its emptiness means nothing), a list the page cap bounded, or — only when both lists came back complete and empty — that the molecule may be a research compound rather than a drug."New value: +"Disclosure of anything the two lists do not say for themselves: a list whose upstream fetch timed out or failed (so its emptiness means nothing), a list the page cap bounded, or — only when both lists came back complete and empty — that the molecule may be a research compound rather than a drug."
addedOutput schema / properties / parent_molecule_chembl_id
Added value: +{
+ "description": "The parent of the queried molecule's family — the molecule itself when it is the parent or ChEMBL records no hierarchy for it. Both lists cover this parent and every alternate form ChEMBL files under it (salts, isotope-labelled and deuterated analogs).",
+ "type": "string"
+}