The quantity of electronic medical records (EMRs) has an explosion since the hospital information systems have been widely adopted a decade ago. EMRs are the main carrier for recording various medical activities on patients in hospital, such as diagnoses, medicine treatments, and laboratory tests. Medical activities and temporal relations in EMRs are fundamental concepts for clinical informatics applications such as auxiliary diagnosis , therapeutic effectiveness analysis  and mortality risk prediction .
However, most of EMRs are stored in relational databases, which are not well designed for clinical research: 1) The relational data model lacks of an explicit and accurate semantic definition for medical activities. 2) Many clinical tasks involve various medical activities distributed among multiple tables, and it is inefficient for query executions where frequent queries of multi-table join are involved. 3) The temporal relations between medical activities are important in EMRs, and can be employed to track the health status of the patient to find the cause of the disease and analyze the effectiveness and side effects of the treatment. But the relational data model cannnot express temporal relations explicitly.
Compared to the existing relational data model, graph representation for EMRs is a better choice. Graph representation has essential advantages of intuitively representing massive relations between heterogeneous things. It is closer to human cognition, making it convenient to construct and efficient to execute complex queries. Moreover, graph representation has a flexible extension to support various domain ontology. Therefore, a graph representation composed of medical activities and temporal relations is urgently desired for clinical informatics applications. Recently, event-centric graph representation, which has benefits in representing event and temporal information, attaches importance to many fields, such as social network recommendation , news event extraction , and scientific event research . Furthermore, Hage et al.  created an ontology to model events in various subject domains. Gottschalk and Demidova  built a multilingual event knowledge graph from Wikidata , DBpedia , and YAGO . Inspired by their success, we attempt to apply event-centric graph representation for EMRs. Concretely, we propose a patient data representation based on event graph model, and respectively define five types of medical entities, five types of medical events, as well as five types of temporal relations for EMRs on this representation.
Medical entities derived from EMRs are isolated and their values are none normalized. Synonymies, hyponymies and abbreviations frequently occur in medical entities. Query construction becomes complex since a synset instead of a word should be used in the query. Furthermore, a typical query in clinical research may query on a sort of diseases or medicines, such as, “western medicine” or “ACEI medicine”. In both cases, a terminology graph and linkage with the graph are required. In recent years, many linked open biomedical knowledge graphs are published using Resource Description Framework (RDF)  format. Godoy et al.  provide the largest network of Linked Data for the Life Sciences. We have released a Chinese biomedical knowledge graph (CBioMedKG) in our prior work . Also we extracted 26,821 symptoms, 292 departments, 32,956 diseases, 67,712 medicines, and 7704 assays as well as more than 20 categories of relations between symptoms and the above related entities from mainstream healthcare websites and Chinese encyclopedia sites. For medical entities in EMRs, it is necessary to link them with CBioMedKG in order to utilize many synonyms, hyponymies and abbreviations of entities.
In this paper, we propose a patient event graph (PatientEG) representation upon Simple Event Model (SEM)  to model medical activities and temporal information for EMRs. Based on the proposed model, a dataset is constructed from EMRs to facilitate clinical research. In addition, we link entities in the dataset with CBioMedKG to normalize entity values and provide more medical information. The contributions of this paper are as follows:
We propose a PatientEG model which can be leveraged on EMRs to carry out clinical research conveniently.
We construct a PatientEG dataset from EMRs based on the proposed model, and link entities with CBioMedKG to construct queries on patients with domain knowledge.
We publish PatientEG dataset as linked data on Web and provide an online access via SPARQL endpoint. We also list several illustrative SPARQL queries on our website.
2 Patient Event Graph Representation
To capture the characteristics of EMRs, a new representation is proposed to model medical activities and temporal relations between activities. In this section, we first give the definition of our PatientEG model, then we introduce medical entities, medical events, temporal relations between events, and a constraint of temporal relations in details.
The schema we design for PatientEG is based on Simple Event Model (SEM), a domain-independent event model which provides a flexible framework for building generic event-centric datasets. SEM uses several core classes, types and constrains to describe events. The class sem:Event111sem is the prefix within SEM namespace, https://semanticweb.cs.vu.nl/2009/11/sem/ indicates what happened, the class sem:Actor represents who or what participated, and the class sem:Time represents when an event took place. To cover the information of medical activities and temporal relations from EMRs, we further add several necessary properties, classes, and relations. The schema of PatientEG is shown as Fig. 1
Medical entities in EMRs mainly include patients, diseases, drugs, assays and surgeries. In SEM, the class sem:Actor holds entities that take part in an event, and the class sem:Object represents passive and inanimate sem:Actor. In our PatientEG model, peg-o:Patient222peg-o is the prefix of ontology vocabulary identifier within PatientEG namespace, http://peg.ecustnlplab.com/ontology# representing patient entities, is defined as the subclass of sem:Actor. peg-o:Disease, peg-o:Drug, peg-o:Assay, and peg-o:Surgery are defined as the subclasses of sem:Object to indicate the entities of diseases, drugs, assays and surgeries. All patient entities are uniquely identified as resources within the namespace peg-r333peg-r is the prefix of resource identifier within PatientEG namespace, http://peg.ecustnlplab.com/resource/. The properties of patient entities contain gender and birthday. We respectively use peg-o:gender and peg-o:birthday to indicate gender and birthday properties.
EMRs contain a large number of medical activities that arerecorded in various tables of relational databases. These activities are the basis for our establishment of medical events. A real-world example of diagnosis activities implicitly appearing in EMRs is shown as Fig. 2, which involved two records, i.e. patient record (PR) and diagnosis record (DR).
SEM provides a skeleton for modeling event. sem:Event representing things that happen, and is the central class of SEM. We define five subclasses of sem:Event, i.e. peg-o:HospitalizationEvent, peg-o:DiagnosisEvent, peg-o:DrugEvent, peg-o:AssayEvent, and peg-o:SurgeryEvent to denote various medical events. As in Fig. 3, the diagnosis event peg-r:213 is an instance of peg-o:DiagnosisEvent and we use rdf:type to denote this relation. Two actors are involved in the diagnosis event, peg-r:859 denotes a male patient numbered 859 and peg-r:878 is a disease entity named “heart failure”. The type of the former entity is peg-o:Patient, and the latter is peg-o:Disease. SEM employs sem:hasActor to establish connection between sem:Event and sem:Actor. Thus, we can obtain two triples,
peg-o:DiagnosisEvent, sem:hasActor, peg-o:Patient
peg-o:DiagnosisEvent, sem:hasActor, peg-o:Disease,
as part of the ontology of PatientEG.
All medical events in EMRs have accurate timestamps, we no longer use the class sem:Time to represent occurrence time of events, but add properties to sem:Event directly. We use sem:hasBeginTimeStamp to indicate start time of events, and sem:hasEndTimeStamp to indicate end time of events, as shown in Fig. 1. In addition, medical events contain other properties. For example, diagnosis events include the conditions of illness at the time of diagnosis, assay events include assay results and prompts. In PatientEG, we use peg-o:situation to indicate the conditions of illness, peg-o:assayResult to indicate assay results, and peg-o:assayPrompt to indicate assay prompts. Fig. 3 illustrates a graph of a diagnosis event.
Temporal relations between medical events:
The fields in various records, such as “Date”, “StartDate” and “EndDate”, represent the occurrence time of medical activities, also implicitly indicate the temporal information between different activities . An example of underlying temporal information in EMRs is shown as Fig. 4, which involves three records: patient record (PR), diagnosis record (DR), and medication record (MR).
This example is composed of two medical events, 1) A diagnosis event where a patient numbered 859 was diagnosed with heart failure on January 01, 2012. 2) A drug event where the patient took captopril for treatment from January 02, 2012 to January 07, 2012. The diagnosis event occurred before the drug event. Conversely, the drug event occurred after the diagnosis event. We employ peg-o:Before and peg-o:After to denote the relations of Before and After. In addition to above two temporal relations, there are three meaningful temporal relations:
Concurrent relation means that two medical events occur at the same time. For example, it occurs in EMRs that “a patient numbered 583 was injected ’Adrenaline’ and examined ’Blood pressure’ on October 10, 2012.” The occurrence time of the drug event where the patient was injected ’Adrenaline’ is equal to the assay event where the patient examined ’Blood pressure’.
During relation means that the medical event eventA occurs during the ongoing medical event eventB, and the end occurrence time of eventA is earlier than the end occurrence time of eventB.
Overlap relation is similar to the During relation except that the end occurrence time of eventA is later than the end occurrence time of eventB.
We adopt additional temporal relations peg-o:Concurrent, peg-o:During, and peg-o:Overlap within the namespace of PatientEG. Fig. 5 shows a graph of temporal relations between medical events.
Constraint of temporal relations:
There is a constraint with temporal relations that only the medical events occurring on the same patient are time-comparable. In our PatientEG, temporal relations between medical events are established with the same patient.
3 PatientEG Construction
In this section, we describe a workflow of constructing PatientEG dataset. As shown in Fig. 6, the workflow consists of four steps, namely data preprocessing, event triples generation, temporal relation establishment, and instance matching. Data preprocessing step aims to address messy data such as null values and inconsistency of units. Event triples generation step offers a normative process mapping relational data to RDF tripes. Temporal relation establishment step builds five types of temporal relations among medical events. We bridge entities in PatientEG dataset and CBioMedKG in instance matching step. Next, We will elaborate on the four steps in following subsections.
3.1 Data preprocessing
Due to the defects of data management in hospital, several data quality issues, such as missing values, non-uniform units, and non-standard values, exist in EMRs. For example, assay result includes two qualitative values, positive and negative. However, there are many different expressions, such as “negative (-)”, “positive (+)”, “(+)”, and “(-)”, which require converting to standard values. In addition, the unit of the same assay result values may be inconsistent. For instance, the “hemoglobin” result values use the units of g/dL and g/L. We need standardize them to a same unit, and the result values should also be converted according to conversion relations between their units. Another example occurs in diagnosis records: If a patient was diagnosed with multiple diseases, the names of diseases are recorded in a same cell split by commas, spaces, and semicolons. We need disassemble them such that each line in records stores only one disease. In this paper, Google Refine444http://openrefine.org/ assists us to process EMRs with a variety of ways, such as converts, splits and merges.
3.2 Event triples generation
To achieve availability and reusability, we use the RDF standard to generate patient and event triples from EMRs. The vast majority of EMRs are stored in relational databases. Foreign keys in relational databases establish references from rows in a table to exactly rows in another table. An excerpt of EMRs in a relational database is shown as Fig. 7, which includes a patient record (PR), a hospitalization record (HR), a diagnosis record (DR), a medication record (MR), an assay record (AR), and a surgery record (SR).
To convert relational data into RDF triples, we empoly the W3C recommended RDB2RDF mapping standard  to directly map relational data to RDF triples. The direct mapping standard defines an RDF graph representation of the data in a relational database, which takes as input a relational database (data and schema), and generates an RDF graph that is called direct graph. The direct mapping is described as follows:
Each logical table is mapped to RDF using a triples map.
Triples map is a rule that maps each row in the logical table to a number of RDF triples. Each triples map includes a subject map and multiple predicate-object maps.
The subject map generates the subject of all RDF triples that will be generated from a logical table row. And the subjects are IRIs that are generated from the primary key column of the table.
The multiple predicate-object maps that in turn consist of predicate maps and object maps (or referencing object maps).
Triples are produced by combining the subject map with a predicate map and object map, and applying these three to each logical table row.
We provide five triples maps corresponding to PRs, HRs, DRs, ERs, and SRs to generate event triples on our website.
3.3 Construction of temporal relations
In section 2, we have defined five temporal relations, namely Before, After, Concurrent, During, and Overlap. We present the process of building temporal relations in detail in this subsection.
The occurrence time of all medical events can be divided into two types: time point and time period. For example, a diagnosis event occurs at a certain time, the type of occurrence time is time point. While a drug event lasts for a period of time and the type of occurrence time is time period. Considering the complication of constructing five temporal relations together, we process them step by step:
First, we build the temporal relations of Before, After, and Concurrent between events whose occurrence time type is time point.
Second, we build Before, After, and Concurrent relations between events whose occurrence time type is time period.
Then, we construct the relations of Before, After, and During between events whose occurrence time type is time point and events whose occurrence time type is time period.
Finally, we build the relations of During and overlap between events whose occurrence time type is time period.
Due to the fact that it is redundant to construct all the relations among medical events, we only construct some of them, and the others can be inferred. An example of the inference rule is shown as follows. Given three medical events named eventA, eventB, and eventC. According to occurrence time, if timeA timeB timeC, we only need to build Before and After relations between eventA and eventB, as well as eventB and eventC. The relations of Before and After between eventA and eventC can be inferred through eventB, and we no longer build direct relations.
3.4 Instance matching
Let be the entity in PatientEG dataset, be the entity in CBioMedKG, the matchability between them is computed as:
where , and denote the Levenshtein Similarity, Jaccard Similarity and Longest Common Subsequence Similarity, respectively. For each entity in PatientEG dataset, we select the entity with the same type as in CBioMedKG which has the highest matchability as the candidate aligned term. The matchability scores of each type of entities are shown in Fig. 8.
The candidate aligned terms obtained may be incorrect, so a threshold for each type of entities is required. Only the entity pairs with matchability above the threshold are linked. Each threshold is determined on a small-scale verification set based on the uniform sampling of matchability scores. The sampling ratio is 10%, and the candidate aligned term is marked by 6 experts. We use AUC555Area under the Curve of ROC to measure the effect of the different thresholds, as shown in Fig. 9. We apply the optimal thresholds to all entities, and the final link results are shown in Table. 1.
|Entity type||Threshold||AUC||Link rate|
4 PatientEG dataset characteristics
We use part of EMRs in Shanghai Shuguang Hospital, which include 304 patient records, 1,433 hospitalization records, 7,319 diagnosis records, 125,757 assay records, 11 surgery records, and 56,774 drug records. A total of 1,144,754 triples were extracted from EMRs, which include 7,319 diagnosis events, 125,757 assay events, 56,774 drug events, and 11 surgery events. We bulid 142,480 Before relations, 142,480 After relations, 180,517 Concurrent relations, 69,236 During relations, and 10,841 Overlap relations. For entities in PatientEG dataset, 5,866 diseases, 100,456 assays, and 36,477 drugs are linked to the CBioMedKG.
We released PatientEG ontology and dataset under a Creative Commons Attribution 4.0 license and they can be downloaded from our website. We also provide a helpful instruction about PatientEG. Online query and several illustrative queries are available through a SPARQL endpoint on our website.
The reusability of PatientEG can be seen from two perspectives. First, the ontology of PatientEG is built upon a general event model, which provides a flexible expansion for other biomedical knowledge. For example, we can easily complement the causal relationship between diseases and drugs. Second, PatientEG dataset follows best practices in data publishing and adopts a popular open standard, which makes it simple to fuse other knowledge bases.
5 Example applications on PatientEG dataset
To intuitively present the practical applications of our PatientEG dataset, we collect a series of scenarios in clinical applications from doctors. According to the complexity of the queries, we divide these queries into three categories: single event (SE), multiple events (ME) and constrained multiple events (CME). SE means that a scenarios only contains a simple event. ME means that a scenarios composed of several events, but dose not contain temporal relations. CME means that a scenarios not only includes various events but also contains complex temporal relations.
|SE||List patients diagnosed with coronary heart disease.|
|ME||Which female patients were diagnosed cancer of the stomach and were treated with ftorafur and uramustine tablets?|
|CME||How many male patients were diagnosed with coronary heart disease during hospitalization and then took captopril for treatment, during the medical treatment, their globulin returned normal?|
6 Related work
Due to the practical significance, presentation of medical information has attracted considerable research effort, and a great number of solutions have been proposed in the literature. Kringelum et al.  built a dataset of chemical-protein-disease resources. Kuhn et al.  created a database of drugs and adverse drug reactions (ADRs). Schriml et al. 
presented a clinical coding system that classifies diseases according to certain characteristics of diseases and rules. Wang et al. linked disease and drug entities in MIMIC- III (Medical Information Mart for Intensive Care III)  to ICD-9  ontology and DrugBank  to explore relations between entities such as drug-drug interactions. However, lacking of association with EMRs or omitting temporal information is far from adequate to fully unveil significance of EMRs. In general filed, Gottschalk and Demidova  built a multilingual event knowledge graph from Wikidata , DBpedia , and YAGO . To our best knowledge, none of the existing researches concentrate on applying event graph representation with temporal relations to EMRs in clinical field.
7 Conclusion and Future Work
In this paper, we presented the PatientEG model: a patient event graph representation to explicitly define medical entities, medical events and temporal relations for clinical research. Based on the proposed model, we describe a workflow of constructing a dataset from relational databases in hospital information systems. In order to normalize entity values and utilize synonymies, hyponymies and abbreviations of entities, we link them with a Chinese biomedical knowledge graph. Finally, we described the characteristics and example applications of PatientEG dataset.
Future work will focus on improving the coverage of instance matching via machine learning. Moreover, our intent is to populate our PatientEG model with more medical information in EMRs and expand our dataset so that clinical applications perform better on it. Finally, we attempt to construct a natural language question answering system based on PatientEG dataset to address the gap between SPARQL query and natural language.
This work was supported by the National Key R&D Program of China for “Precision Medical Research” (No. 2018YFC0910500) and the National Natural Science Foundation of China (No. 61772201), and National Major Scientific and Technological Special Project for “Significant New Drugs Development” (No. 2018ZX09201008).
-  Arenas, M., Bertails, A., Prud’hommeaux, E., Sequeda, J.: A direct mapping of relational data to rdf. W3C recommendation 27 (2012)
-  Ben-Assuli, O., Sagi, D., Leshno, M., Ironi, A., Ziv, A.: Improving diagnostic accuracy using ehr in emergency departments: A simulation-based study. Journal of Biomedical Informatics 55, 31–40 (2015)
-  Consortium, W.W.W., et al.: Rdf 1.1 concepts and abstract syntax (2014)
-  Erxleben, F., Günther, M., Krötzsch, M., Mendez, J., Vrandečić, D.: Introducing wikidata to the linked data web. In: International Semantic Web Conference. pp. 50–65. Springer (2014)
-  Fathalla, S., Lange, C.: Eventskg: a knowledge graph representation for top-prestigious computer science events metadata. In: International Conference on Computational Collective Intelligence. pp. 53–63. Springer (2018)
-  García Godoy, M.J., López-Camacho, E., Navas-Delgado, I., Aldana-Montes, J.F.: Sharing and executing linked data queries in a collaborative environment. Bioinformatics 29(13), 1663–1670 (2013)
-  Ghassemi, M., Naumann, T., Doshi-Velez, F., Brimmer, N., Joshi, R., Rumshisky, A., Szolovits, P.: Unfolding physiological state: Mortality modelling in intensive care units. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 75–84. ACM (2014)
-  Gottschalk, S., Demidova, E.: Eventkg: A multilingual event-centric temporal knowledge graph. In: European Semantic Web Conference. pp. 272–287. Springer (2018)
-  Johnson, A.E., Pollard, T.J., Shen, L., Li-wei, H.L., Feng, M., Ghassemi, M., Moody, B., Szolovits, P., Celi, L.A., Mark, R.G.: Mimic-iii, a freely accessible critical care database. Scientific Data 3, 160035 (2016)
-  Kringelum, J., Kjaerulff, S.K., Brunak, S., Lund, O., Oprea, T.I., Taboureau, O.: Chemprot-3.0: a global chemical biology diseases mapping. Database 2016 (2016)
-  Kuhn, M., Letunic, I., Jensen, L.J., Bork, P.: The sider database of drugs and side effects. Nucleic Acids Research 44(D1), D1075–D1079 (2015)
-  Lehmann, J., Isele, R., Jakob, M., Jentzsch, A., Kontokostas, D., Mendes, P.N., Hellmann, S., Morsey, M., Van Kleef, P., Auer, S., et al.: Dbpedia–a large-scale, multilingual knowledge base extracted from wikipedia. Semantic Web 6(2), 167–195 (2015)
-  Loughlin, A.M., Qiao, Q., Nunes, A.P., Ezzy, S.M., Yochum, L., Clifford, C.R., Gately, R.V., Dore, D.D., Seeger, J.D.: Effectiveness and tolerability of therapy with once-weekly exenatide versus basal insulin among injectable-naive patients with type 2 diabetes in a real-world setting in the united states. Diabetes Spectrum p. ds160081 (2018)
-  Mahdisoltani, F., Biega, J., Suchanek, F.M.: Yago3: A knowledge base from multilingual wikipedias. In: CIDR (2013)
-  Pham, T.A.N., Li, X., Cong, G., Zhang, Z.: A general graph-based model for recommendation in event-based social networks. In: Data Engineering (ICDE), 2015 IEEE 31st International Conference on. pp. 567–578. IEEE (2015)
-  Rospocher, M., van Erp, M., Vossen, P., Fokkens, A., Aldabe, I., Rigau, G., Soroa, A., Ploeger, T., Bogaard, T.: Building event-centric knowledge graphs from news. Web Semantics: Science, Services and Agents on the World Wide Web 37, 132–151 (2016)
-  Ruan, T., Wang, M., Sun, J., Wang, T., Zeng, L., Yin, Y., Gao, J.: An automatic approach for constructing a knowledge base of symptoms in chinese. Journal of Biomedical Semantics 8(1), 33 (2017)
-  Schriml, L.M., Arze, C., Nadendla, S., Chang, Y.W.W., Mazaitis, M., Felix, V., Feng, G., Kibbe, W.A.: Disease ontology: a backbone for disease semantic integration. Nucleic Acids Research 40(D1), D940–D946 (2011)
-  Van Hage, W.R., Malaisé, V., Segers, R., Hollink, L., Schreiber, G.: Design and use of the simple event model (sem). Web Semantics: Science, Services and Agents on the World Wide Web 9(2), 128–136 (2011)
-  Wang, M., Zhang, J., Liu, J., Hu, W., Wang, S., Li, X., Liu, W.: Pdd graph: Bridging electronic medical records and biomedical knowledge graphs via entity linking. In: International Semantic Web Conference. pp. 219–227. Springer (2017)
-  Wishart, D.S., Feunang, Y.D., Guo, A.C., Lo, E.J., Marcu, A., Grant, J.R., Sajed, T., Johnson, D., Li, C., Sayeeda, Z., et al.: Drugbank 5.0: a major update to the drugbank database for 2018. Nucleic Acids Research 46(D1), D1074–D1082 (2017)