【问题标题】:Extracting specific patient IDs from email subject line从电子邮件主题行中提取特定患者 ID
【发布时间】:2017-02-21 01:11:13
【问题描述】:

我希望从电子邮件主题行中提取患者 ID。我正在使用两个数据框:一个具有来自 SQL 数据库的输出(包含电子邮件主题行),另一个具有患者信息(医院名称和患者 ID)。

我想使用患者 ID 并从第一个数据框中删除主题行,然后返回与所述患者关联的医院。不幸的是,我无法提供对数据的访问。

## Example Data

Data frame 1 example row:

Column 1 (from_Email): xxxxx@hospital.com 

Column 2 (Time_IN): 1/11/2000 12:00:00

Column 3 (from_Subject): Patient H2445JFLD presented into ER with .... symptoms

Data frame 2 example row:

Column 1 (Hospital Name): Hospital ABC

Column 2 (Patient ID): H2445JFLD 

【问题讨论】:

  • “很遗憾,我无法提供对数据的访问权限。”不可以,但您可以提供几行 example 数据,这些数据真实地反映了您将收到的数据类型,而实际上并未成为数据集的一部分。例如,如果数据用于跟踪大学生的成绩(这也是受法律保护的),您可以提供描述 John Q. Taxpayer 和 Jane Doe 学术记录的记录。您还可以提供 minimal reproducible example 说明您已经尝试过的内容,以及为什么这不起作用。

标签: r textmatching data-scrubbing


【解决方案1】:

由于您只共享了一行数据,我不确定电子邮件主题行 from_Subject 的模式。如果它是一个自动电子邮件系统,那么电子邮件主题行from_Subject 的固定模式。我为您提供了 3 种从 from_Subject 中提取 Patient_ID 的方法。

library(dplyr)

df1 <- data_frame(from_Email = "xxxxx@hospital.com",
                  Time_IN = "1/11/2000 12:00:00",
                  from_Subject = "Patient H2445JFLD presented into ER with .... symptoms")

df2 <- data_frame(Hospital_Name = "Hospital ABC",
                  Patient_ID = "H2445JFLD")

# Extract 2nd word from the subject line
df1 <- df1 %>% mutate(Patient_ID = stringr::word(from_Subject, 2))
# Extract the word after "Patient" from the subject line
df1 <- df1 %>% mutate(Patient_ID = str_extract(df1$from_Subject, '(?<=Patient\\s)\\w+'))
# Extract a word of length 9 that has characters A-Z and 0-9 from the subject line
df1 <- df1 %>% mutate(Patient_ID = str_extract(df1$from_Subject, '\\b[A-Z0-9]{9}\\b'))

一旦你提取了Patient_ID,那么你需要做一个简单的左连接。

left_join(df1, df2, on="Patient_ID")
#Joining, by = "Patient_ID"
# A tibble: 1 × 5
#  from_Email            Time_IN         from_Subject                                            Patient_ID Hospital_Name
#  <chr>                 <chr>            <chr>                                                  <chr>       <chr>
#1 xxxxx@hospital.com 1/11/2000 12:00:00 Patient H2445JFLD presented into ER with .... symptoms  H2445JFLD  Hospital ABC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多