Switch to side-by-side view

--- a
+++ b/test-resources/entlink-features.json
@@ -0,0 +1,600 @@
+{
+    "text": "John was diagnosed with kidney failure. He has lung cancer too.",
+    "sentences": [
+        {
+            "text": "John was diagnosed with kidney failure.",
+            "tokens": [
+                {
+                    "shape": 10887629174180191697,
+                    "idx": 0,
+                    "ent": 380,
+                    "dep_": "nsubjpass",
+                    "lexspan": {
+                        "begin": 0,
+                        "end": 4
+                    },
+                    "is_stop": false,
+                    "tag_": "NNP",
+                    "i": 0,
+                    "lemma_": "John",
+                    "ent_": "PERSON",
+                    "is_punctuation": false,
+                    "shape_": "Xxxx",
+                    "ent_iob": 3,
+                    "is_contraction": false,
+                    "i_sent": 0,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "John",
+                    "tag": 15794550382381185553,
+                    "dep": 430,
+                    "pos_": "PROPN",
+                    "norm_len": 4,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "B",
+                    "is_wh": false,
+                    "is_ent": true,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 4088098365541558500,
+                    "idx": 5,
+                    "ent": 0,
+                    "dep_": "auxpass",
+                    "lexspan": {
+                        "begin": 5,
+                        "end": 8
+                    },
+                    "is_stop": true,
+                    "tag_": "VBD",
+                    "i": 1,
+                    "lemma_": "be",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 1,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "was",
+                    "tag": 17109001835818727656,
+                    "dep": 406,
+                    "pos_": "AUX",
+                    "norm_len": 3,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 9,
+                    "ent": 0,
+                    "dep_": "ROOT",
+                    "lexspan": {
+                        "begin": 9,
+                        "end": 18
+                    },
+                    "is_stop": false,
+                    "tag_": "VBN",
+                    "i": 2,
+                    "lemma_": "diagnose",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 2,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "diagnosed",
+                    "tag": 3822385049556375858,
+                    "dep": 8206900633647566924,
+                    "pos_": "VERB",
+                    "norm_len": 9,
+                    "children": [
+                        0,
+                        1,
+                        3,
+                        6
+                    ],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 19,
+                    "ent": 0,
+                    "dep_": "prep",
+                    "lexspan": {
+                        "begin": 19,
+                        "end": 23
+                    },
+                    "is_stop": true,
+                    "tag_": "IN",
+                    "i": 3,
+                    "lemma_": "with",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 3,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "with",
+                    "tag": 1292078113972184607,
+                    "dep": 443,
+                    "pos_": "ADP",
+                    "norm_len": 4,
+                    "children": [
+                        5
+                    ],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 24,
+                    "ent": 0,
+                    "dep_": "compound",
+                    "lexspan": {
+                        "begin": 24,
+                        "end": 30
+                    },
+                    "is_stop": false,
+                    "tag_": "NN",
+                    "i": 4,
+                    "lemma_": "kidney",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 4,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "kidney",
+                    "tag": 15308085513773655218,
+                    "dep": 7037928807040764755,
+                    "pos_": "NOUN",
+                    "norm_len": 6,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "T047",
+                    "tuis": [
+                        "T047"
+                    ],
+                    "tui_descs_": "Disease or Syndrome",
+                    "is_concept": true,
+                    "detected_name_": "kidney~failure",
+                    "cui": 35078,
+                    "definition_": "-<N>-",
+                    "sub_names": [
+                        "kidney~failure",
+                        "renal~failure"
+                    ],
+                    "pref_name_": "Kidney Failure",
+                    "cui_": "C0035078"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 31,
+                    "ent": 0,
+                    "dep_": "pobj",
+                    "lexspan": {
+                        "begin": 31,
+                        "end": 38
+                    },
+                    "is_stop": false,
+                    "tag_": "NN",
+                    "i": 5,
+                    "lemma_": "failure",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 5,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": "failure",
+                    "tag": 15308085513773655218,
+                    "dep": 439,
+                    "pos_": "NOUN",
+                    "norm_len": 7,
+                    "children": [
+                        4
+                    ],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "T047",
+                    "tuis": [
+                        "T047"
+                    ],
+                    "tui_descs_": "Disease or Syndrome",
+                    "is_concept": true,
+                    "detected_name_": "kidney~failure",
+                    "cui": 35078,
+                    "definition_": "-<N>-",
+                    "sub_names": [
+                        "kidney~failure",
+                        "renal~failure"
+                    ],
+                    "pref_name_": "Kidney Failure",
+                    "cui_": "C0035078"
+                },
+                {
+                    "shape": 12646065887601541794,
+                    "idx": 38,
+                    "ent": 0,
+                    "dep_": "punct",
+                    "lexspan": {
+                        "begin": 38,
+                        "end": 39
+                    },
+                    "is_stop": false,
+                    "tag_": ".",
+                    "i": 6,
+                    "lemma_": ".",
+                    "ent_": "-<N>-",
+                    "is_punctuation": true,
+                    "shape_": ".",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 6,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 0,
+                    "norm": ".",
+                    "tag": 12646065887601541794,
+                    "dep": 445,
+                    "pos_": "PUNCT",
+                    "norm_len": 1,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                }
+            ]
+        },
+        {
+            "text": "He has lung cancer too.",
+            "tokens": [
+                {
+                    "shape": 12204527652707022206,
+                    "idx": 40,
+                    "ent": 0,
+                    "dep_": "nsubj",
+                    "lexspan": {
+                        "begin": 40,
+                        "end": 42
+                    },
+                    "is_stop": true,
+                    "tag_": "PRP",
+                    "i": 7,
+                    "lemma_": "he",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "Xx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 0,
+                    "is_pronoun": true,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": "He",
+                    "tag": 13656873538139661788,
+                    "dep": 429,
+                    "pos_": "PRON",
+                    "norm_len": 2,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 4088098365541558500,
+                    "idx": 43,
+                    "ent": 0,
+                    "dep_": "ROOT",
+                    "lexspan": {
+                        "begin": 43,
+                        "end": 46
+                    },
+                    "is_stop": true,
+                    "tag_": "VBZ",
+                    "i": 8,
+                    "lemma_": "have",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 1,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": "has",
+                    "tag": 13927759927860985106,
+                    "dep": 8206900633647566924,
+                    "pos_": "VERB",
+                    "norm_len": 3,
+                    "children": [
+                        7,
+                        10,
+                        11,
+                        12
+                    ],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 47,
+                    "ent": 0,
+                    "dep_": "compound",
+                    "lexspan": {
+                        "begin": 47,
+                        "end": 51
+                    },
+                    "is_stop": false,
+                    "tag_": "NN",
+                    "i": 9,
+                    "lemma_": "lung",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 2,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": "lung",
+                    "tag": 15308085513773655218,
+                    "dep": 7037928807040764755,
+                    "pos_": "NOUN",
+                    "norm_len": 4,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 13110060611322374290,
+                    "idx": 52,
+                    "ent": 0,
+                    "dep_": "dobj",
+                    "lexspan": {
+                        "begin": 52,
+                        "end": 58
+                    },
+                    "is_stop": false,
+                    "tag_": "NN",
+                    "i": 10,
+                    "lemma_": "cancer",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 3,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": "cancer",
+                    "tag": 15308085513773655218,
+                    "dep": 416,
+                    "pos_": "NOUN",
+                    "norm_len": 6,
+                    "children": [
+                        9
+                    ],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 4088098365541558500,
+                    "idx": 59,
+                    "ent": 0,
+                    "dep_": "advmod",
+                    "lexspan": {
+                        "begin": 59,
+                        "end": 62
+                    },
+                    "is_stop": true,
+                    "tag_": "RB",
+                    "i": 11,
+                    "lemma_": "too",
+                    "ent_": "-<N>-",
+                    "is_punctuation": false,
+                    "shape_": "xxx",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 4,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": "too",
+                    "tag": 164681854541413346,
+                    "dep": 400,
+                    "pos_": "ADV",
+                    "norm_len": 3,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                },
+                {
+                    "shape": 12646065887601541794,
+                    "idx": 62,
+                    "ent": 0,
+                    "dep_": "punct",
+                    "lexspan": {
+                        "begin": 62,
+                        "end": 63
+                    },
+                    "is_stop": false,
+                    "tag_": ".",
+                    "i": 12,
+                    "lemma_": ".",
+                    "ent_": "-<N>-",
+                    "is_punctuation": true,
+                    "shape_": ".",
+                    "ent_iob": 0,
+                    "is_contraction": false,
+                    "i_sent": 5,
+                    "is_pronoun": false,
+                    "is_space": false,
+                    "sent_i": 1,
+                    "norm": ".",
+                    "tag": 12646065887601541794,
+                    "dep": 445,
+                    "pos_": "PUNCT",
+                    "norm_len": 1,
+                    "children": [],
+                    "is_superlative": false,
+                    "ent_iob_": "O",
+                    "is_wh": false,
+                    "is_ent": false,
+                    "tuis_": "",
+                    "tuis": "frozenset()",
+                    "tui_descs_": "",
+                    "is_concept": false,
+                    "detected_name_": "-<N>-",
+                    "cui": -1,
+                    "definition_": "-<N>-",
+                    "sub_names": [],
+                    "pref_name_": "-<N>-",
+                    "cui_": "-<N>-"
+                }
+            ]
+        }
+    ]
+}