Literature DB >> 35672420

A large-scale multi-label 12-lead electrocardiogram database with standardized diagnostic statements.

Hui Liu1, Dan Chen1,2, Da Chen1, Xiyu Zhang2, Huijie Li2, Lipan Bian1, Minglei Shu3, Yinglong Wang4.   

Abstract

Deep learning approaches have exhibited a great ability on automatic interpretation of the electrocardiogram (ECG). However, large-scale public 12-lead ECG data are still limited, and the diagnostic labels are not uniform, which increases the semantic gap between clinical practice. In this study, we present a large-scale multi-label 12-lead ECG database with standardized diagnostic statements. The dataset contains 25770 ECG records from 24666 patients, which were acquired from Shandong Provincial Hospital (SPH) between 2019/08 and 2020/08. The record length is between 10 and 60 seconds. The diagnostic statements of all ECG records are in full compliance with the AHA/ACC/HRS recommendations, which aims for the standardization and interpretation of the electrocardiogram, and consist of 44 primary statements and 15 modifiers as per the standard. 46.04% records in the dataset contain ECG abnormalities, and 14.45% records have multiple diagnostic statements. The dataset also contains additional patient demographics.
© 2022. The Author(s).

Entities:  

Mesh:

Year:  2022        PMID: 35672420      PMCID: PMC9174207          DOI: 10.1038/s41597-022-01403-5

Source DB:  PubMed          Journal:  Sci Data        ISSN: 2052-4463            Impact factor:   8.501


Background & Summary

Electrocardiogram (ECG) is an important tool for diagnosing heart diseases and early screening[1,2]. In recent years, as the rapid growth in leveraging wearable devices (e.g. smartwatch[3] and smart vest[4]) for ECG monitoring, the automatic classification of ECG has become a hot topic. It is known that the ECG classification problems can be efficiently addressed by deep learning based approaches, providing that large-scale ECG data with labels of high quality are available. Successful cases include the cardiologist-level arrhythmia detection[5] and the screening for cardiac contractile dysfunction[2], where tens of thousands ECGs with restricted access were used in these studies. Many ECG datasets have been published in past decades[6], e.g., the MIT-BIH arrhythmia database[7], the INCART database[8], and the QT database[9], but there are mostly dozens of ECG recordings in them, where the recordings usually have only one or two leads. In fact, such databases were mostly employed for developing models for the classification of heartbeats rather than whole ECG records. Recently, several large 12-lead ECG datasets have been made public (Table 1), e.g. the PTB-XL dataset[10,11] and the Shaoxing People’s Hospital dataset[12,13] respectively containing 21837 and 10646 records. Especially, the PTB-XL database, the CPSC database[14,15], the INCART database[8], and the Georgia database[15], which are summarized in Table 1, have been exploited in the PhysioNet/CinC 2020 challenge[15], leading to significant progress on real-world evaluation of the ECG classification methods. However, the existing sources of ECG are still limited for assessing the generalization ability. More importantly, ECG diagnostic statements, i.e. the label, used in the literature and competitions are not uniform. Specifically, the PTB-XL dataset adopts SCP-ECG (i.e. standard communications protocol for computer assisted electrocardiography) statements[16] and the PhysioNet/CinC challenge uses SNOMED-CT codes[17], and many ECG statements used by the two standards do not exactly match. In addition, more approaches just use non-standardized statements, e.g. a collection of common rhythms[5,12]. Such divergence hinders real-world application of large-scale ECG data, and may result in unfair or misleading comparison.
Table 1

Overview of large public 12-lead ECG datasets.

Name# ECGLength (seconds)Standard# Classes# PatientSingle-source
CPSC database[14,15]103306∼602310330N
INCART database[8]7418001032Y
PTB-XL dataset[10,11]2183710SCP-ECG[16]7118885Y
Georgia database[15]1034410SNOMED-CT[17]2410344N
Shaoxing People’s Hospital dataset[12,13]10646101110646Y
SPH dataset (this work)[18]2577010∼60AHA[19]4424666Y
Overview of large public 12-lead ECG datasets. In this study, we present a large 12-lead ECG dataset[18] with standardized diagnostic statements conforming to the AHA/ACC/HRS (i.e., the American Heart Association, the American College of Cardiology, and the Heart Rhythm Society) recommendations (hereinafter referred to as “AHA standard”)[19]. Our dataset contains 25770 12-lead clinical ECG records from 24666 patients (55.36% male and 44.64% female) and, to our best knowledge, this is the largest accessible single-source ECG dataset. The data were collected from Shandong Provincial Hospital from 2019/08 to 2020/08. The sampling frequency is 500 Hz and the length of records ranges from 10 to 60 seconds. Patient demographics such as age and sex are also included. 46.04% records in the dataset contain ECG abnormalities, which are described in Chinese. The original Chinese diagnostic statements were checked by cardiologists and then converted to standardized diagnostic statements as per the AHA standard, including primary statements, modifiers and pairing rules. The AHA standard aims for the standardization and interpretation of the ECG. It has been widely adopted in clinical scenario across the world. Compared with SNOMED-CT or SCP-ECG, which are mainly designed for medical information interchange and hence involve redundant or uncertain terms, the AHA recommendation mainly presents clinically useful statements and excludes unnecessary overlapping or vague terminology[19]. As supervised learning depends on accurate ECG labels to distinguish different ECG classes, a clearly organized and non-overlapping system of statements helps the deep learning models to efficiently learn the intrinsic ECG characteristics. Using the AHA terminology uniformly also enables valid model comparison and real-world clinical assessment. The Shandong Provincial Hospital (SPH) database covers a wide range of ECG abnormalities and includes 44 primary statements and 15 modifiers as per the AHA standard. Especially, the separation of statements and modifiers as well as the pairing rules between them can characterize ECG more thoroughly, which is of great value to explore precise ECG analysis. 14.45% records in the database and 31.39% abnormal records have multiple diagnostic statements, providing the opportunity to develop and evaluate multi-label classification methods.

Methods

Data acquisition

This study was approved by the Institutional review board of Shandong Provincial Hospital. Requirement for individual patient consent was waived and the database is allowed to be shared publicly after the data were de-identified. Original ECG records were generated at Shandong Provincial Hospital, Jinan, China during 2019/08∼2020/08. The ECG signal was recorded by the MedEx MECG-200 machine, where the A/D converter has 24-bit resolution and the unit is mV. The ECG signal has 16-bit precision and the sampling frequency is 500 Hz. Noises caused by the power line interference, baseline wander, and muscle contraction have been removed by the machine. Next, the filtered ECG signal was presented to a responsible cardiologist belonging to the department of electrocardiogram for clinical diagnosis. All cardiologists have at least three-year clinical experience before they are qualified to conduct ECG diagnosis. The ECG analysis system can automatically calculate nine ECG features for reference, which include heart rate, P wave duration, P-R interval, QRS duration, QT interval, corrected QT (QTc) interval, QRS axis, the amplitude of the R wave in lead V5 (RV5), and the amplitude of the S wave in lead V1 (SV1). The features might be inaccurate, especially when the ECG signal is abnormal. The responsible cardiologist made the final diagnosis in consideration of the patient health record. Under the limitations that the record length should be between 10 and 60 seconds and the patient age should be larger than 18, the filtered signal and the diagnostic statements made by the doctor were then exported from the MedEx MECG-200 ECG analysis system together with the following related information from the health record database of the hospital: unique ID of the patient age and sex of the patient acquisition date

Data processing

Since ECG signals have been filtered by the ECG machine and were mostly of good quality, we did not make additional processing to the signals. The ID of ECG records and patients were generated randomly, where ECG records from the same patient were still associated with the same patient ID. In order to protect the privacy of patients, the acquisition date of ECG records were shifted by a random offset for each patient[10]. When there are multiple records for the same patient, the chronological order was kept unchanged during date randomization. ECG records with missing age or sex information were excluded. The original diagnostic statements, which were written in Chinese, mainly follow the proprietary statement set of ECG machine vendor, and also contain many inconsistent use of idioms and punctuation due to manual input. The AHA standard has 117 primary diagnostic statements under 14 categories. Each primary statement can be paired with one or more secondary statements or modifiers, which cannot be used alone. The steps to convert the original diagnostic statements to standardized AHA terminology are as follows. An experienced cardiologist re-checked all original diagnostic statements and made corrections (also in Chinese). ECG records of poor quality were excluded by visual inspection at the same time. We eliminated inconsistent use of idioms and punctuation as much as possible by manually converting them to uniform terminology. We developed a series of translation rules mapping Chinese statements to standardized statements conforming to the AHA standard, where each original statement may correspond to multiple AHA diagnostic statements. The rules do not cover all cases since there still exists vague or clinically useless statements. The rules were revised by the cardiologist and are described in the Supplemental File 1. We applied the rules to all records with original diagnostic statements. Any ECG record with untranslatable statements was excluded. Finally, there were 25770 12-lead ECG records with standardized diagnostic statements after all steps.

Data Records

The SPH database includes ECG signal data, associated metadata and diagnostic statement dictionary (see Fig. 1), which are all available online at figshare[18]. Each unique ECG record was saved as a 12 × L array in HDF5 format with 16-bit precision, and the file was named by the associated ID (e.g. A00001.h5). The sampling frequency is 500 Hz. L is the number of samples and 12 is the number of leads. The order of leads is I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6. There are 25770 ECG data files in total.
Fig. 1

Files in the SPH database.

Files in the SPH database. The diagnostic statement dictionary file (code.csv) describes the AHA statements and codes used in the SPH dataset. As shown in Table 2, there are 44 primary statements spanning across 11 categories (see Table 3). The distribution of primary statements shown in the table is highly unbalanced and should not be viewed as the actual reflection of the population since many records were excluded for various reasons (see Methods Section). There are also 15 modifiers in Table 2, which are used to refine the meaning of core statements and cannot be used alone[19]. There are more than 40 modifiers according to the AHA standard. Some modifiers (e.g. 308 and 310) can be used with a wide range of core statements, and some modifiers can only be used with a specific category, e.g. 330–334 should be paired with statements in category M.
Table 2

Overview of primary statements and modifiers in the dataset.

CategoryCodePrimary Statement (+ Modifier)Count
A1Normal ECG13905
C21Sinus tachycardia725
C22Sinus bradycardia2711
C23Sinus arrhythmia1553
D30Atrial premature complex(es)539
308+ Occasional153
310+ Frequent125
340+ Couplets11
341+ In a bigeminal pattern31
349+ With aberrancy16
D31Atrial premature complexes, nonconducted4
D36Junctional premature complex(es)64
D37Junctional escape complex(es)20
E50Atrial fibrillation675
346+ With a rapid ventricular response210
347+ With a slow ventricular response6
E51Atrial flutter99
E54Junctional tachycardia13
F60Ventricular premature complex(es)1067
308+ Occasional271
310+ Frequent277
340+ Couplets3
341+ In a bigeminal pattern70
342+ In a bigeminal pattern38
350+ Polymorphic3
H80Short PR interval11
H81AV conduction ratio N:D3
H82Prolonged PR interval238
H83Second-degree AV block, Mobitz type I (Wenckebach)9
H84Second-degree AV block, Mobitz type II3
H852:1 AV block35
H86AV block, varying conduction47
H87AV block, advanced (high-grade)3
H88AV block, complete (third-degree)22
I101Left anterior fascicular block154
I102Left posterior fascicular block6
I104Left bundle-branch block84
I105Incomplete right bundle-branch block1259
I106Right bundle-branch block710
I108Ventricular preexcitation27
J120Right-axis deviation161
J121Left-axis deviation138
J125Low voltage322
K140Left atrial enlargement19
K142Left ventricular hypertrophy209
K143Right ventricular hypertrophy6
L145ST deviation1829
362+ Depression1024
363+ Elevation37
L146ST deviation with T-wave change1063
L147T-wave abnormality2218
367+ Inversion176
L148Prolonged QT interval24
L152TU fusion9
L153ST-T change due to ventricular hypertrophy88
L155Early repolarization32
M160Anterior MI52
330+ Acute1
332+ Old47
M161Inferior MI120
330+ Acute2
331+ Recent3
332+ Old114
M165Anteroseptal MI91
330+ Acute4
331+ Recent9
332+ Old75
M166Extensive anterior MI7
332+ Old7
Table 3

Overview of ECG categories in the dataset.

CodeCategoryCount
AOverall interpretation13905
BTechnical conditions0
CSinus node rhythms and arrhythmias4643
DSupraventricular arrhythmias622
ESupraventricular tachyarrhythmias787
FVentricular arrhythmias1067
GVentricular tachyarrhythmias0
HAtrioventricular conduction370
IIntraventricular and intra-atrial conduction2195
JAxis and voltage612
KChamber hypertrophy or enlargement229
LST segment, T wave, and U wave5125
MMyocardial infarction260
NPacemaker0
Overview of primary statements and modifiers in the dataset. Overview of ECG categories in the dataset. In the metadata file, each line represents a unique ECG record and contains the ECG ID, the patient ID, the AHA code, the age and sex, the record length, and the acquisition date, as described in Table 4. Since an ECG record can have multiple diagnostic statements, we used the semicolon as the separator between them. Besides, each diagnostic statement consists of one primary statement and additional modifiers, and the plus sign is used to joint them. Figure 2 describes the encoded representation of multiple statements, where the order of statements and modifiers is arbitrary. The proportions of male and female in the dataset are 55.36% and 44.64%. Tables 5 and 6 show the overview of patient age and the record length respectively. Most ECG records are between 10 and 15 seconds.
Table 4

Metadata describing the ECG record.

FieldTypeDescription
ECG_IDStringUnique identifier for ECG
AHA_CodeStringEncoded representation (see Fig. 2) of the AHA standard
Patient_IDStringUnique identifier for patient
AgeIntegerAge (18∼100)
SexStringSex (’M’: male,’F’: female)
NIntegerThe number of sampling point
DateStringAcquisition date
Fig. 2

Encoded representation of AHA diagnostic statements.

Table 5

Overview of patient age.

Age[10, 20)[20, 30)[30, 40)[40, 50)[50, 60)[60, 70)[70, 80)[80, 90)[90, 100]
#Records8622295145511057234441216182253
Table 6

Overview of ECG record length.

Seconds[10, 15)[15, 20)[20, 25)[25, 30)[30, 35)[35, 40)[40, 45)[45, 50)[50, 55)[55, 60]
#Records24242114125771261511331
Metadata describing the ECG record. Encoded representation of AHA diagnostic statements. Overview of patient age. Overview of ECG record length. According to Table 2, there are 13905 normal ECG records, i.e., the remaining 11865 records, 46.04% of the SPH dataset, contain ECG abnormalities. Table 7 shows the overview of the number of statements per ECG record. 14.45% records in the dataset and 31.39% abnormal records have multiple diagnostic statements. Table 8 presents the overview of the number of ECG records per patient, and 4.32% patients have more than one ECG record.
Table 7

Overview of number of statements per ECG record.

#Statements123456
#Records220462936665109122
Table 8

Overview of number of ECG records per patient.

#Records12345
#Patients2360010332931
Overview of number of statements per ECG record. Overview of number of ECG records per patient.

Technical Validation

To validate the quality of ECG records, after all the steps described in Methods Section, we conducted signal quality assessment for original ECG records using two signal quality indices[20], basSQI and pSQI representing the relative power in the baseline and the QRS complex respectively. For each record, the index was first calculated for 12 leads separately and then averaged. Next, we checked ECG records with low SQI values to make sure their quality is still acceptable. Figures 3 and 4 visualize the distributions of basSQI and pSQI of ECG records in the database, which have a minimum of 0.418 and 0.370 respectively. Specifically, ECG records whose SQI values are close to the minimum were reviewed and no significant quality defect was found. Figure 5 shows four records with lowest basSQI values. It is worth pointing out that ECG records containing one or two noisy leads or short corrupted segments, as shown in Fig. 5, were not rejected as long as reliable diagnosis can be made.
Fig. 3

Distribution of basSQI of all ECG records.

Fig. 4

Distribution of pSQI of all ECG records.

Fig. 5

ECG signals with lowest basSQI values. The length is 10 seconds.

Distribution of basSQI of all ECG records. Distribution of pSQI of all ECG records. ECG signals with lowest basSQI values. The length is 10 seconds. Since an ECG record may have multiple diagnostic statements, we computed the co-occurrence matrix for primary statements to show the co-occurrence relationship (see Fig. 6). For a specific primary statement, the diagonal element represents the number of records labeled only by the specified statement, and other element in the same row means the number of records labeled by both statements. If two statements are not likely to happen at the same time in clinical practice, e.g. atrial fibrillation and other sinus rhythms, the matrix can indicate whether such records exist in the database intuitively. Since co-existing statements may describe different ECG intervals, the cardiologist revised the suspicious records to make sure the statements are correct. In addition, normal ECG records should not have statements indicating abnormalities, which is verified by the first column, thus the matrix was also used for quality control purposes.
Fig. 6

Co-occurrence matrix of primary statements. The diagonal element represents the number of records labeled only by the specified statement.

Co-occurrence matrix of primary statements. The diagonal element represents the number of records labeled only by the specified statement. AHA standard includes various pairing rules. As this dataset contains 44 primary statements as well as 15 modifiers, we make sure that each modifier is pairing correctly with the primary statement by checking all 25 combinations (see Table 2).

Usage Notes

The ECG data are stored in HDF5 format, a platform-independent format designed for data storage and widely supported by scientific software and programming languages. Python code for loading the ECG data and processing diagnostic codes as well as the metadata is provided at figshare[18]. The hierarchy of ECG terminology presented by the AHA standard is well-organized. 117 primary statements belong to core statements, and most ECG classification in the literature focus on this level only. Considering all kinds of AHA statements and various real-world use cases, we suggest four tasks from coarse to fine levels for the usage of SPH dataset (see Fig. 7).
Fig. 7

ECG classification tasks from coarse level to fine level.

ECG classification tasks from coarse level to fine level. The first task is the classification of normal ECG and abnormal ECG, which account for 53.96% and 46.04% in the dataset respectively. The detection of ECG abnormalities is useful in daily ECG monitoring. The remaining three tasks are at the levels of ECG category, primary statement, and full statement respectively, corresponding to the AHA standard, and all of them are multi-label classification. In addition, to avoid incorrect dataset partition (e.g. records from the same patient included in both training and testing sets) and improve comparability of models trained on the dataset, we provide the Python code at figshare[18] for dataset splitting. Supplemental File 1
Measurement(s)12-lead electrocardiogram
Technology Type(s)EKG or ECG Monitor Device
  12 in total

Review 1.  Recommendations for the standardization and interpretation of the electrocardiogram: part II: Electrocardiography diagnostic statement list: a scientific statement from the American Heart Association Electrocardiography and Arrhythmias Committee, Council on Clinical Cardiology; the American College of Cardiology Foundation; and the Heart Rhythm Society: endorsed by the International Society for Computerized Electrocardiology.

Authors:  Jay W Mason; E William Hancock; Leonard S Gettes; James J Bailey; Rory Childers; Barbara J Deal; Mark Josephson; Paul Kligfield; Jan A Kors; Peter Macfarlane; Olle Pahlm; David M Mirvis; Peter Okin; Pentti Rautaharju; Borys Surawicz; Gerard van Herpen; Galen S Wagner; Hein Wellens
Journal:  Circulation       Date:  2007-02-23       Impact factor: 29.690

2.  A machine learning approach to multi-level ECG signal quality classification.

Authors:  Qiao Li; Cadathur Rajagopalan; Gari D Clifford
Journal:  Comput Methods Programs Biomed       Date:  2014-09-18       Impact factor: 5.428

Review 3.  Screening for Atrial Fibrillation: A Report of the AF-SCREEN International Collaboration.

Authors:  Ben Freedman; John Camm; Hugh Calkins; Jeffrey S Healey; Mårten Rosenqvist; Jiguang Wang; Christine M Albert; Craig S Anderson; Sotiris Antoniou; Emelia J Benjamin; Giuseppe Boriani; Johannes Brachmann; Axel Brandes; Tze-Fan Chao; David Conen; Johan Engdahl; Laurent Fauchier; David A Fitzmaurice; Leif Friberg; Bernard J Gersh; David J Gladstone; Taya V Glotzer; Kylie Gwynne; Graeme J Hankey; Joseph Harbison; Graham S Hillis; Mellanie T Hills; Hooman Kamel; Paulus Kirchhof; Peter R Kowey; Derk Krieger; Vivian W Y Lee; Lars-Åke Levin; Gregory Y H Lip; Trudie Lobban; Nicole Lowres; Georges H Mairesse; Carlos Martinez; Lis Neubeck; Jessica Orchard; Jonathan P Piccini; Katrina Poppe; Tatjana S Potpara; Helmut Puererfellner; Michiel Rienstra; Roopinder K Sandhu; Renate B Schnabel; Chung-Wah Siu; Steven Steinhubl; Jesper H Svendsen; Emma Svennberg; Sakis Themistoclakis; Robert G Tieleman; Mintu P Turakhia; Arnljot Tveit; Steven B Uittenbogaart; Isabelle C Van Gelder; Atul Verma; Rolf Wachter; Bryan P Yan
Journal:  Circulation       Date:  2017-05-09       Impact factor: 29.690

4.  A large-scale multi-label 12-lead electrocardiogram database with standardized diagnostic statements.

Authors:  Hui Liu; Dan Chen; Da Chen; Xiyu Zhang; Huijie Li; Lipan Bian; Minglei Shu; Yinglong Wang
Journal:  Sci Data       Date:  2022-06-07       Impact factor: 8.501

5.  Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms using a deep neural network.

Authors:  Awni Y Hannun; Pranav Rajpurkar; Masoumeh Haghpanahi; Geoffrey H Tison; Codie Bourn; Mintu P Turakhia; Andrew Y Ng
Journal:  Nat Med       Date:  2019-01-07       Impact factor: 53.440

6.  Screening for cardiac contractile dysfunction using an artificial intelligence-enabled electrocardiogram.

Authors:  Zachi I Attia; Suraj Kapa; Francisco Lopez-Jimenez; Paul M McKie; Dorothy J Ladewig; Gaurav Satam; Patricia A Pellikka; Maurice Enriquez-Sarano; Peter A Noseworthy; Thomas M Munger; Samuel J Asirvatham; Christopher G Scott; Rickey E Carter; Paul A Friedman
Journal:  Nat Med       Date:  2019-01-07       Impact factor: 53.440

7.  Large-Scale Assessment of a Smartwatch to Identify Atrial Fibrillation.

Authors:  Marco V Perez; Kenneth W Mahaffey; Haley Hedlin; John S Rumsfeld; Ariadna Garcia; Todd Ferris; Vidhya Balasubramanian; Andrea M Russo; Amol Rajmane; Lauren Cheung; Grace Hung; Justin Lee; Peter Kowey; Nisha Talati; Divya Nag; Santosh E Gummidipundi; Alexis Beatty; Mellanie True Hills; Sumbul Desai; Christopher B Granger; Manisha Desai; Mintu P Turakhia
Journal:  N Engl J Med       Date:  2019-11-14       Impact factor: 176.079

8.  PTB-XL, a large publicly available electrocardiography dataset.

Authors:  Patrick Wagner; Nils Strodthoff; Ralf-Dieter Bousseljot; Dieter Kreiseler; Fatima I Lunze; Wojciech Samek; Tobias Schaeffter
Journal:  Sci Data       Date:  2020-05-25       Impact factor: 6.444

9.  A 12-lead electrocardiogram database for arrhythmia research covering more than 10,000 patients.

Authors:  Jianwei Zheng; Jianming Zhang; Sidy Danioko; Hai Yao; Hangyuan Guo; Cyril Rakovski
Journal:  Sci Data       Date:  2020-02-12       Impact factor: 6.444

10.  Classification of 12-lead ECGs: the PhysioNet/Computing in Cardiology Challenge 2020.

Authors:  Erick A Perez Alday; Annie Gu; Amit J Shah; Chad Robichaux; An-Kwok Ian Wong; Chengyu Liu; Feifei Liu; Ali Bahrami Rad; Andoni Elola; Salman Seyedi; Qiao Li; Ashish Sharma; Gari D Clifford; Matthew A Reyna
Journal:  Physiol Meas       Date:  2021-01-01       Impact factor: 2.833

View more
  2 in total

1.  A large-scale multi-label 12-lead electrocardiogram database with standardized diagnostic statements.

Authors:  Hui Liu; Dan Chen; Da Chen; Xiyu Zhang; Huijie Li; Lipan Bian; Minglei Shu; Yinglong Wang
Journal:  Sci Data       Date:  2022-06-07       Impact factor: 8.501

2.  Conversion of Automated 12-Lead Electrocardiogram Interpretations to OMOP CDM Vocabulary.

Authors:  Sunho Choi; Hyung Joon Joo; Yoojoong Kim; Jong-Ho Kim; Junhee Seok
Journal:  Appl Clin Inform       Date:  2022-09-21       Impact factor: 2.762

  2 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.