Call Now ☎ 9999965857 !! Call Girls in Hauz Khas Escort Service Delhi N.C.R.
20230511 Automation of EMR Tasks using AutoHotkey in MS Windows_MKv1.1.pdf
1. Automation of
Electronic Medical Record(EMR) Tasks
using AutoHotkey in MS Windows
2023-05-11
Seoul National University Hospital
Department of Family Medicine
Min-Hyung Kim
2. Automation of EMR tasks using AutoHotkey
CONTENTS
• Motivation
• User Interface (UI) & User Experience (UX)
• 3 click rule & user navigation model
• Workflow process optimization
• Using Google Sheet in the workflow @ SNUH FM?
• AutoHotkey
• Window Spy (AutoHotkey Script itself!)
• Move to (x-axis, y-axis) & Click
• Send Ctrl+c, Ctrl+v
• Send Unicode Left Arrow ← (U+2190)
• Run Notepad.exe
• Define a hotkey @ AutoHotkey
• Define a function @ AutoHotkey
• Regular Expression @ AutoHotkey
• (Review) Tutorials for Regular Expression (정규표현식)
6. Using Google Sheet in the workflow @ SNUH FM?
Ideal
1. One-click, DONE!
Reality
1. Open Google Sheet
2. Copy (Ctrl+c) texts from EMR
3. Paste (Ctrl+v) texts into "Input Table"
4. Run calculation in Google Sheet
5. Move to "Output Table"
6. Copy (Ctrl+c) from "Output Table"
7. Paste (Ctrl+v) texts into EMR
30. tbl_input @ Google Sheets
Example input table @ SNUHFM HPDP
A B C D E
호흡기계 단순 흉부 촬영 (Chest X-Ray) Chest X-Ray 2022-06-03No significant interval change
since last study.
신체 측정 복부 지방 CT (Abdominal FAT CT) Abdominal FAT CT 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
근골격계 골밀도 검사 (Dexa Bone Densitometry) Bone Densitometry <T - score>
Spine L1 - L4 : - 0.6
Femur neck : - 2.2
Femur total : - 2.6
Osteoporosis
https://tinyurl.com/SNUHFMRegEx
31. 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
=regexextract(
query(tbl_input!$A:$E, "select E where C
contains 'Abdominal FAT CT'")
, "[0-9]{4}-[0-9]{2}-[0-9]{2}" )
2022-06-03
=query(tbl_input!$A:$E, "select E where C contains
'Abdominal FAT CT'")
Regular Expression @ Google Sheets
Extract dates
[0-9]{4}-[0-9]{2}-[0-9]{2}
32. 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
=regexreplace(
regexextract(
query(tbl_input!$A:$E, "select E where C
contains 'Abdominal FAT CT'")
, "[0-9]{4}-[0-9]{2}-[0-9]{2}" )
,"-" ,"." )
2022.06.08
=query(tbl_input!$A:$E, "select E where C contains
'Abdominal FAT CT'")
Regular Expression @ Google Sheets
Extract dates
[0-9]{4}-[0-9]{2}-[0-9]{2}
33. 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
=regexextract(
query(tbl_input!$A:$E, "select E where C
contains 'Abdominal FAT CT'")
, "= *[0-9]+.?[0-9]*/" )
= 7051.11/
=query(tbl_input!$A:$E, "select E where C contains
'Abdominal FAT CT'")
Regular Expression @ Google Sheets
Extract visceral adipose tissue (VAT)
= *[0-9]+.?[0-9]*/
34. 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
=regexreplace(
regexreplace(
regexextract(
query(tbl_input!$A:$E, "select E where
C contains 'Abdominal FAT CT'")
, "= *[0-9]+.?[0-9]*/" )
,"= *" ,"" )
,"/" ,"" )
7051.11
=query(tbl_input!$A:$E, "select E where C contains
'Abdominal FAT CT'")
Regular Expression @ Google Sheets
Extract visceral adipose tissue (VAT)
= *[0-9]+.?[0-9]*/
35. 2022-06-03Fat amount ratio
= Visceral fat/Subcutaneous fat
= 7051.11/7723.56
= 0.91
=round(value(
regexreplace(
regexreplace(
regexextract(
query(tbl_input!$A:$E, "select E where
C contains 'Abdominal FAT CT'")
, "= *[0-9]+.?[0-9]*/" )
,"= *" ,"" )
,"/" ,"" )
)) / 100 &" cm²"
70.51 cm²
=query(tbl_input!$A:$E, "select E where C contains
'Abdominal FAT CT'")
Regular Expression @ Google Sheets
Extract visceral adipose tissue (VAT)
= *[0-9]+.?[0-9]*/
36. <T - score>
Spine L1 - L4 : - 0.6
Femur neck : - 2.2
Femur total : - 2.6
Osteoporosis
=regexextract(query(tbl_input!$A:$E, "select E
where C contains 'Bone
Densitometry'"),"[Oo]steop[a-z]+")
Osteoporosis
=query(tbl_input!$A:$E, "select E where C contains
'Bone Densitometry'")
Regular Expression @ Google Sheets
Extract Dual Energy X-ray Absorptiometry (DEXA) results
[Oo]steop[a-z]+
37. <T - score>
Spine L1 - L4 : - 0.6
Femur neck : - 2.2
Femur total : - 2.6
Osteoporosis
=regexextract(query(tbl_input!$A:$E, "select E where C
contains 'Bone Densitometry'"),"[Oo]steop[a-z]+")
&"("®exextract(query(tbl_input!$A:$E, "select E where C
contains 'Bone Densitometry'"),"[Ll][1-4] *- *[Ll][1-4]
*: *- [0-9]+.?[0-9]*")
&", "®exextract(query(tbl_input!$A:$E, "select E where
C contains 'Bone Densitometry'"),"[Ff]emur [Nn]eck *: *-
[0-9]+.?[0-9]*")
&", "®exextract(query(tbl_input!$A:$E, "select E where
C contains 'Bone Densitometry'"),"[Ff]emur [Tt]otal *:
*- [0-9]+.?[0-9]*")&")"
Osteoporosis(L1 - L4 : - 0.6, Femur neck :
- 2.2, Femur total : - 2.6)
=query(tbl_input!$A:$E, "select E where C contains
'Bone Densitometry'")
Regular Expression @ Google Sheets
Extract Dual Energy X-ray Absorptiometry (DEXA) results
[Oo]steop[a-z]+