This document discusses using machine learning for clinical data tasks like medical concept representation and clinical event prediction. It summarizes a survey on deep learning techniques for electronic health records. It then discusses using word embeddings to represent medical concepts from clinical text and using recurrent neural networks for tasks like predicting medical codes from clinical notes.
Unified Medical Language System & MetaMapOsama Jomaa
UMLS is a metathesaurus that facilitates the development of computer systems that behave as if they "understand"
the meaning of the language of biomedicine
and health. It comprises a controlled vocabulary, semantic network and specialist lexicon and lexical tools. MetaMap is a tool for recognizing UMLS concepts in text
1
Week 5: Quantitative Analysis Assignment
Instructions: Quantitative Analysis Assignment
For the Week 5 quantitative analysis assignment, you will need to conduct basic
descriptive analyses about the frequency of patient safety incidents during one month
on two medical units in a major urban teaching hospital. To complete this assignment,
you will need the following three documents: (a) Excel Spreadsheet: Quantitative
Patient Safety Data, (b) Codebook: Quantitative Patient Safety Data, and (c) Summary
Data Analysis Form. Below is a description of each of these documents:
(a) Excel Spreadsheet: Quantitative Patient Safety Data: The quantitative data for this
assignment has been entered into an Excel spreadsheet which can be accessed using
the Excel software that is part of the Microsoft Office suite of applications. This type of
spreadsheet is called a rectangular file because it is arranged in columns and rows.
Each column is a different variable in the data set. For example, Column A (ID) is the
identification number variable for patients, and Column B (AGE) is the variable on
patient age in years. Each row has data (or information) for each individual patient for
each of the variables in the columns.
To clarify this, look at the date set for this assignment. You will see that the patient in
row 2 has an ID number 001 (Column A) and is 22 years old (Column B). The patient in
row 44 has an ID number 43 is 75 years old.
(b) Codebook: Quantitative Patient Safety Data: A codebook is used in quantitative
research to define the variables (or columns) in a data set and the response categories
for each of these variable. Looking at the codebook for this assignment, you will see
that the second column in the codebook is the name of variables in the data set.
Usually the variable names are abbreviated (e.g., DX stands for primary diagnosis upon
admission). Next to each variable name is its description and its response categories.
As an example, look at the variable called FALLS. Next to this variable is its description
which is defined as whether or not a patient had an accidental fall during the
hospitalization. The response categories for the variable FALLS is either “0” which
means the patient did not fall or “1” which means the patient did fall.
To further clarify this, take a look at Column G on your Excel spreadsheet which is
labelled as FALLS. The term “falls” can mean many different things, such as a person
accidentally falling at home or a waterfall (e.g., Snoqualmie Falls). The codebook for a
quantitative data set gives the specific definition of a variable. In this assignment, the
variable FALLS means a patient fall that is reported during a hospitalization. Now look
at the numbers in the column underneath FALLS. You will only see the numbers “0” or
2
“1”. In the codebook, these are the response categories for the variable ...
1
Week 5: Quantitative Analysis Assignment
Instructions: Quantitative Analysis Assignment
For the Week 5 quantitative analysis assignment, you will need to conduct basic
descriptive analyses about the frequency of patient safety incidents during one month
on two medical units in a major urban teaching hospital. To complete this assignment,
you will need the following three documents: (a) Excel Spreadsheet: Quantitative
Patient Safety Data, (b) Codebook: Quantitative Patient Safety Data, and (c) Summary
Data Analysis Form. Below is a description of each of these documents:
(a) Excel Spreadsheet: Quantitative Patient Safety Data: The quantitative data for this
assignment has been entered into an Excel spreadsheet which can be accessed using
the Excel software that is part of the Microsoft Office suite of applications. This type of
spreadsheet is called a rectangular file because it is arranged in columns and rows.
Each column is a different variable in the data set. For example, Column A (ID) is the
identification number variable for patients, and Column B (AGE) is the variable on
patient age in years. Each row has data (or information) for each individual patient for
each of the variables in the columns.
To clarify this, look at the date set for this assignment. You will see that the patient in
row 2 has an ID number 001 (Column A) and is 22 years old (Column B). The patient in
row 44 has an ID number 43 is 75 years old.
(b) Codebook: Quantitative Patient Safety Data: A codebook is used in quantitative
research to define the variables (or columns) in a data set and the response categories
for each of these variable. Looking at the codebook for this assignment, you will see
that the second column in the codebook is the name of variables in the data set.
Usually the variable names are abbreviated (e.g., DX stands for primary diagnosis upon
admission). Next to each variable name is its description and its response categories.
As an example, look at the variable called FALLS. Next to this variable is its description
which is defined as whether or not a patient had an accidental fall during the
hospitalization. The response categories for the variable FALLS is either “0” which
means the patient did not fall or “1” which means the patient did fall.
To further clarify this, take a look at Column G on your Excel spreadsheet which is
labelled as FALLS. The term “falls” can mean many different things, such as a person
accidentally falling at home or a waterfall (e.g., Snoqualmie Falls). The codebook for a
quantitative data set gives the specific definition of a variable. In this assignment, the
variable FALLS means a patient fall that is reported during a hospitalization. Now look
at the numbers in the column underneath FALLS. You will only see the numbers “0” or
2
“1”. In the codebook, these are the response categories for the variable .
Elsevier Medical Graph – mit Machine Learning zu Precision MedicineRising Media Ltd.
Elsevier Health Analytics entwickelt den Medical Knowledge Graph, welcher Korrelationen zwischen Krankheiten und zwischen Krankheiten und Behandlungen darstellt. Auf einem Gesamtdatensatz von sechs Millionen anonymisierten Patienten, beobachtbar über sechs Jahre, haben wir über 2000 Modelle erstellt, welche die Entwicklung von Krankheiten prognostizieren. Jedes Modell ist adjustiert für mehr als 3000 Kovariablen. Dazu kam ein Boosting Algorithmus mit Variablenselektion zum Einsatz. Die Betas der selektierten Variablen wurden extrahiert, getestet hinsichtlich Kausalität und Signifikanz, und daraus wurde die erste Version des Medical Graphen mit über 2000 Krankheitsknoten und 25.000 Effekt-Kanten gebaut. Der Graph wird aktuell in der Praxis getestet, mit dem Ziel, dem Arzt eine patienten-individuelle Entscheidungsunterstützung für die Behandlung zu geben.
Talk at Wearable 2016 Symposium in Lausanne.
This presentation talks about use of wearables and other sensors for quantifying lifestyle and relating it to build model of personal health.
Unified Medical Language System & MetaMapOsama Jomaa
UMLS is a metathesaurus that facilitates the development of computer systems that behave as if they "understand"
the meaning of the language of biomedicine
and health. It comprises a controlled vocabulary, semantic network and specialist lexicon and lexical tools. MetaMap is a tool for recognizing UMLS concepts in text
1
Week 5: Quantitative Analysis Assignment
Instructions: Quantitative Analysis Assignment
For the Week 5 quantitative analysis assignment, you will need to conduct basic
descriptive analyses about the frequency of patient safety incidents during one month
on two medical units in a major urban teaching hospital. To complete this assignment,
you will need the following three documents: (a) Excel Spreadsheet: Quantitative
Patient Safety Data, (b) Codebook: Quantitative Patient Safety Data, and (c) Summary
Data Analysis Form. Below is a description of each of these documents:
(a) Excel Spreadsheet: Quantitative Patient Safety Data: The quantitative data for this
assignment has been entered into an Excel spreadsheet which can be accessed using
the Excel software that is part of the Microsoft Office suite of applications. This type of
spreadsheet is called a rectangular file because it is arranged in columns and rows.
Each column is a different variable in the data set. For example, Column A (ID) is the
identification number variable for patients, and Column B (AGE) is the variable on
patient age in years. Each row has data (or information) for each individual patient for
each of the variables in the columns.
To clarify this, look at the date set for this assignment. You will see that the patient in
row 2 has an ID number 001 (Column A) and is 22 years old (Column B). The patient in
row 44 has an ID number 43 is 75 years old.
(b) Codebook: Quantitative Patient Safety Data: A codebook is used in quantitative
research to define the variables (or columns) in a data set and the response categories
for each of these variable. Looking at the codebook for this assignment, you will see
that the second column in the codebook is the name of variables in the data set.
Usually the variable names are abbreviated (e.g., DX stands for primary diagnosis upon
admission). Next to each variable name is its description and its response categories.
As an example, look at the variable called FALLS. Next to this variable is its description
which is defined as whether or not a patient had an accidental fall during the
hospitalization. The response categories for the variable FALLS is either “0” which
means the patient did not fall or “1” which means the patient did fall.
To further clarify this, take a look at Column G on your Excel spreadsheet which is
labelled as FALLS. The term “falls” can mean many different things, such as a person
accidentally falling at home or a waterfall (e.g., Snoqualmie Falls). The codebook for a
quantitative data set gives the specific definition of a variable. In this assignment, the
variable FALLS means a patient fall that is reported during a hospitalization. Now look
at the numbers in the column underneath FALLS. You will only see the numbers “0” or
2
“1”. In the codebook, these are the response categories for the variable ...
1
Week 5: Quantitative Analysis Assignment
Instructions: Quantitative Analysis Assignment
For the Week 5 quantitative analysis assignment, you will need to conduct basic
descriptive analyses about the frequency of patient safety incidents during one month
on two medical units in a major urban teaching hospital. To complete this assignment,
you will need the following three documents: (a) Excel Spreadsheet: Quantitative
Patient Safety Data, (b) Codebook: Quantitative Patient Safety Data, and (c) Summary
Data Analysis Form. Below is a description of each of these documents:
(a) Excel Spreadsheet: Quantitative Patient Safety Data: The quantitative data for this
assignment has been entered into an Excel spreadsheet which can be accessed using
the Excel software that is part of the Microsoft Office suite of applications. This type of
spreadsheet is called a rectangular file because it is arranged in columns and rows.
Each column is a different variable in the data set. For example, Column A (ID) is the
identification number variable for patients, and Column B (AGE) is the variable on
patient age in years. Each row has data (or information) for each individual patient for
each of the variables in the columns.
To clarify this, look at the date set for this assignment. You will see that the patient in
row 2 has an ID number 001 (Column A) and is 22 years old (Column B). The patient in
row 44 has an ID number 43 is 75 years old.
(b) Codebook: Quantitative Patient Safety Data: A codebook is used in quantitative
research to define the variables (or columns) in a data set and the response categories
for each of these variable. Looking at the codebook for this assignment, you will see
that the second column in the codebook is the name of variables in the data set.
Usually the variable names are abbreviated (e.g., DX stands for primary diagnosis upon
admission). Next to each variable name is its description and its response categories.
As an example, look at the variable called FALLS. Next to this variable is its description
which is defined as whether or not a patient had an accidental fall during the
hospitalization. The response categories for the variable FALLS is either “0” which
means the patient did not fall or “1” which means the patient did fall.
To further clarify this, take a look at Column G on your Excel spreadsheet which is
labelled as FALLS. The term “falls” can mean many different things, such as a person
accidentally falling at home or a waterfall (e.g., Snoqualmie Falls). The codebook for a
quantitative data set gives the specific definition of a variable. In this assignment, the
variable FALLS means a patient fall that is reported during a hospitalization. Now look
at the numbers in the column underneath FALLS. You will only see the numbers “0” or
2
“1”. In the codebook, these are the response categories for the variable .
Elsevier Medical Graph – mit Machine Learning zu Precision MedicineRising Media Ltd.
Elsevier Health Analytics entwickelt den Medical Knowledge Graph, welcher Korrelationen zwischen Krankheiten und zwischen Krankheiten und Behandlungen darstellt. Auf einem Gesamtdatensatz von sechs Millionen anonymisierten Patienten, beobachtbar über sechs Jahre, haben wir über 2000 Modelle erstellt, welche die Entwicklung von Krankheiten prognostizieren. Jedes Modell ist adjustiert für mehr als 3000 Kovariablen. Dazu kam ein Boosting Algorithmus mit Variablenselektion zum Einsatz. Die Betas der selektierten Variablen wurden extrahiert, getestet hinsichtlich Kausalität und Signifikanz, und daraus wurde die erste Version des Medical Graphen mit über 2000 Krankheitsknoten und 25.000 Effekt-Kanten gebaut. Der Graph wird aktuell in der Praxis getestet, mit dem Ziel, dem Arzt eine patienten-individuelle Entscheidungsunterstützung für die Behandlung zu geben.
Talk at Wearable 2016 Symposium in Lausanne.
This presentation talks about use of wearables and other sensors for quantifying lifestyle and relating it to build model of personal health.
How to manage your Experimental Protocol with Basic StatisticsYoann Pageaud
Abstract:
The construction of an experimental protocol is the first step in any study to validate or invalidate a hypothesis
that we want to verify. Therefore, it is important to know how it will work in advance : how many subjects
do you want to include in the study, what budget is planned for the study, how to have significant results to
validate or invalidate you hypothesis. . . This document is an introduction to basic statistics to answer some
of these questions before starting your experimental protocol throught theoretical examples.
Workflow composition is a crucial part of day-to-day automation, where
many different parameters and facts need to be taken into account. In
order to reach a given goal, a planner calculates the sequence of
actions that need to be taken in the current context. Semantic
technologies such as RDF annotation and reasoning can help improve this
process by enabling more generic implementations, connect to more
knowledge, an introduce more flexibility. However, it is currently
difficult to express change in first order logic, semantic reasoning,
and the proofs they produce. What if a change in the context invalidates
the current plan?
In this talk, I will introduce smart workflow composition method based
on Weighted Transition Logic and implemented in Notation3 logic—a
superset of RDF. Actions are described as changes to the RDF state,
resulting in a more adaptive and change aware workflow composition
process. After a basic introduction of the general concepts, I will
discuss several applications in the healthcare, public services or
transport domain.
Enhancing Reproducibility and Transparency in Clinical Research through Seman...Mark Wilkinson
We were interested in whether we could model well-established clinical risk guidelines in OWL, and use these to automatically classify patient data v.v. "risk" (e.g. using the Framingham risk categories). What we ended-up doing, however, was wandering down a very interesting path of attempting to model clinical intuition! This reports the first phase of the experiment. A subsequent SlideShare will give part II of this investigation.
This is the work of Soroush Samadian, Ph.D. Candidate at the University of British Columbia Bioinformatics Graduate Programme.
Life sciences in general such as genetics and biology have traditionally benefited from Perl with excellent projects leading the way such as BioPerl. Unfortunately, in medical research and epidemiology, the picture is different. Researchers are struggling with the ever increasing size and complexity of datasets. This presentation will briefly describe the situation I faced when I first joined a research team working on coronary heart disease, what I did to make things better and how I achieved one small victory for Perl.
1 SDEV 460 – Homework 4 Input Validation and BusineAbbyWhyte974
1
SDEV 460 – Homework 4
Input Validation and Business Logic Security Controls
Overview:
This homework will demonstrate your knowledge of testing security controls aligned with Input
validation and business logic. You will also use the recommended OWASP testing guide reporting format
to report your test findings.
Assignment: Total 100 points
Using the readings from weeks 7 and 8 as a baseline provide the following test and analysis descriptions
or discussion:
1. Testing for Reflected Cross site scripting (OTG-INPVAL-001)
The OWASP site list multiple approaches and examples for blackbox testing reflected XSS
vulnerabilities. In your own words, describe Reflected Cross Site scripting. Then, List and
describe 4 different examples that could be used for testing. Be sure to conduct additional
research for each example to provide your own unique test example. This most likely means you
will need to conduct some research on Javascript to make sure your syntax is correct.
2. Testing for Stored Cross site scripting (OTG-INPVAL-002)
The OWASP site list multiple approaches and examples for blackbox testing Stored XSS
vulnerabilities. In your own words, describe Stored Cross Site scripting. Then, List and describe 2
different examples that could be used for testing. Be sure to conduct additional research for
each example to provide your own unique test example. This most likely means you will need to
conduct some research on Javascript to make sure your syntax is correct.
3. Testing for SQL Injection (OTG-INPVAL-005)
SQL Injection remains a problem in applications yet could easily fixed. The following SQL
statement is in an HTML form as code with the $ variables directly input from the user.
SELECT * FROM Students WHERE EMPLID='$EMPLID' AND EMAIL='$email'
Would a form or application that includes this code be susceptible to SQL Injection? Why?
What specific tests would you perform to determine if the applications was vulnerable?
How would you fix this problem? Be specific be providing the exact code in a Language of your choice.
(e.g. Java, PHP, Python …)
4. Test business logic data validation (OTG-BUSLOGIC-001)
While reviewing some Java code, an analysis provided the following code snippets that contain
logic errors. For each example, describe the issue and provide code that would fix the logical
error:
a.
2
int x;
x = x + 1;
System.out.println("X = " + x);
b.
for (i=1; i<=5; i++) ; {
System.out.println("Number is " + i);
}
c.
if ( z > d) ; {
System.out.println("Z is bigger");
}
d.
String m1="one";
String m2="two";
if(m1 == m2) {
System.out.println(“M1 is equal to M2”);
}
e. The formula for the area of a trapezoid is:
A = (b1+b2)/2 * h
The following Java code is the implementation. Fix the logical error
double area;
double base1 = 2.3;
double base2 = 4.8;
double height = 12.5;
area = base1 + base2/2.0 * ...
1
SDEV 460 – Homework 4
Input Validation and Business Logic Security Controls
Overview:
This homework will demonstrate your knowledge of testing security controls aligned with Input
validation and business logic. You will also use the recommended OWASP testing guide reporting format
to report your test findings.
Assignment: Total 100 points
Using the readings from weeks 7 and 8 as a baseline provide the following test and analysis descriptions
or discussion:
1. Testing for Reflected Cross site scripting (OTG-INPVAL-001)
The OWASP site list multiple approaches and examples for blackbox testing reflected XSS
vulnerabilities. In your own words, describe Reflected Cross Site scripting. Then, List and
describe 4 different examples that could be used for testing. Be sure to conduct additional
research for each example to provide your own unique test example. This most likely means you
will need to conduct some research on Javascript to make sure your syntax is correct.
2. Testing for Stored Cross site scripting (OTG-INPVAL-002)
The OWASP site list multiple approaches and examples for blackbox testing Stored XSS
vulnerabilities. In your own words, describe Stored Cross Site scripting. Then, List and describe 2
different examples that could be used for testing. Be sure to conduct additional research for
each example to provide your own unique test example. This most likely means you will need to
conduct some research on Javascript to make sure your syntax is correct.
3. Testing for SQL Injection (OTG-INPVAL-005)
SQL Injection remains a problem in applications yet could easily fixed. The following SQL
statement is in an HTML form as code with the $ variables directly input from the user.
SELECT * FROM Students WHERE EMPLID='$EMPLID' AND EMAIL='$email'
Would a form or application that includes this code be susceptible to SQL Injection? Why?
What specific tests would you perform to determine if the applications was vulnerable?
How would you fix this problem? Be specific be providing the exact code in a Language of your choice.
(e.g. Java, PHP, Python …)
4. Test business logic data validation (OTG-BUSLOGIC-001)
While reviewing some Java code, an analysis provided the following code snippets that contain
logic errors. For each example, describe the issue and provide code that would fix the logical
error:
a.
2
int x;
x = x + 1;
System.out.println("X = " + x);
b.
for (i=1; i<=5; i++) ; {
System.out.println("Number is " + i);
}
c.
if ( z > d) ; {
System.out.println("Z is bigger");
}
d.
String m1="one";
String m2="two";
if(m1 == m2) {
System.out.println(“M1 is equal to M2”);
}
e. The formula for the area of a trapezoid is:
A = (b1+b2)/2 * h
The following Java code is the implementation. Fix the logical error
double area;
double base1 = 2.3;
double base2 = 4.8;
double height = 12.5;
area = base1 + base2/2.0 * ...
Enhancing Health Risk Assessment:The Individual Exposure Health Risk Profile ...Richard Hartman, Ph.D.
Introducing a new tool in the healthcare toolbox that aims to develop an individual’s comprehensive health profile by combining their genetics, personal exposure, clinical disposition and ultimately integrating the data into the Electronic Health Record called the Individual Exposure Health Risk Profile (IEHRP).
The Importance of Community Nursing Care.pdfAD Healthcare
NDIS and Community 24/7 Nursing Care is a specific type of support that may be provided under the NDIS for individuals with complex medical needs who require ongoing nursing care in a community setting, such as their home or a supported accommodation facility.
Explore our infographic on 'Essential Metrics for Palliative Care Management' which highlights key performance indicators crucial for enhancing the quality and efficiency of palliative care services.
This visual guide breaks down important metrics across four categories: Patient-Centered Metrics, Care Efficiency Metrics, Quality of Life Metrics, and Staff Metrics. Each section is designed to help healthcare professionals monitor and improve care delivery for patients facing serious illnesses. Understand how to implement these metrics in your palliative care practices for better outcomes and higher satisfaction levels.
How to manage your Experimental Protocol with Basic StatisticsYoann Pageaud
Abstract:
The construction of an experimental protocol is the first step in any study to validate or invalidate a hypothesis
that we want to verify. Therefore, it is important to know how it will work in advance : how many subjects
do you want to include in the study, what budget is planned for the study, how to have significant results to
validate or invalidate you hypothesis. . . This document is an introduction to basic statistics to answer some
of these questions before starting your experimental protocol throught theoretical examples.
Workflow composition is a crucial part of day-to-day automation, where
many different parameters and facts need to be taken into account. In
order to reach a given goal, a planner calculates the sequence of
actions that need to be taken in the current context. Semantic
technologies such as RDF annotation and reasoning can help improve this
process by enabling more generic implementations, connect to more
knowledge, an introduce more flexibility. However, it is currently
difficult to express change in first order logic, semantic reasoning,
and the proofs they produce. What if a change in the context invalidates
the current plan?
In this talk, I will introduce smart workflow composition method based
on Weighted Transition Logic and implemented in Notation3 logic—a
superset of RDF. Actions are described as changes to the RDF state,
resulting in a more adaptive and change aware workflow composition
process. After a basic introduction of the general concepts, I will
discuss several applications in the healthcare, public services or
transport domain.
Enhancing Reproducibility and Transparency in Clinical Research through Seman...Mark Wilkinson
We were interested in whether we could model well-established clinical risk guidelines in OWL, and use these to automatically classify patient data v.v. "risk" (e.g. using the Framingham risk categories). What we ended-up doing, however, was wandering down a very interesting path of attempting to model clinical intuition! This reports the first phase of the experiment. A subsequent SlideShare will give part II of this investigation.
This is the work of Soroush Samadian, Ph.D. Candidate at the University of British Columbia Bioinformatics Graduate Programme.
Life sciences in general such as genetics and biology have traditionally benefited from Perl with excellent projects leading the way such as BioPerl. Unfortunately, in medical research and epidemiology, the picture is different. Researchers are struggling with the ever increasing size and complexity of datasets. This presentation will briefly describe the situation I faced when I first joined a research team working on coronary heart disease, what I did to make things better and how I achieved one small victory for Perl.
1 SDEV 460 – Homework 4 Input Validation and BusineAbbyWhyte974
1
SDEV 460 – Homework 4
Input Validation and Business Logic Security Controls
Overview:
This homework will demonstrate your knowledge of testing security controls aligned with Input
validation and business logic. You will also use the recommended OWASP testing guide reporting format
to report your test findings.
Assignment: Total 100 points
Using the readings from weeks 7 and 8 as a baseline provide the following test and analysis descriptions
or discussion:
1. Testing for Reflected Cross site scripting (OTG-INPVAL-001)
The OWASP site list multiple approaches and examples for blackbox testing reflected XSS
vulnerabilities. In your own words, describe Reflected Cross Site scripting. Then, List and
describe 4 different examples that could be used for testing. Be sure to conduct additional
research for each example to provide your own unique test example. This most likely means you
will need to conduct some research on Javascript to make sure your syntax is correct.
2. Testing for Stored Cross site scripting (OTG-INPVAL-002)
The OWASP site list multiple approaches and examples for blackbox testing Stored XSS
vulnerabilities. In your own words, describe Stored Cross Site scripting. Then, List and describe 2
different examples that could be used for testing. Be sure to conduct additional research for
each example to provide your own unique test example. This most likely means you will need to
conduct some research on Javascript to make sure your syntax is correct.
3. Testing for SQL Injection (OTG-INPVAL-005)
SQL Injection remains a problem in applications yet could easily fixed. The following SQL
statement is in an HTML form as code with the $ variables directly input from the user.
SELECT * FROM Students WHERE EMPLID='$EMPLID' AND EMAIL='$email'
Would a form or application that includes this code be susceptible to SQL Injection? Why?
What specific tests would you perform to determine if the applications was vulnerable?
How would you fix this problem? Be specific be providing the exact code in a Language of your choice.
(e.g. Java, PHP, Python …)
4. Test business logic data validation (OTG-BUSLOGIC-001)
While reviewing some Java code, an analysis provided the following code snippets that contain
logic errors. For each example, describe the issue and provide code that would fix the logical
error:
a.
2
int x;
x = x + 1;
System.out.println("X = " + x);
b.
for (i=1; i<=5; i++) ; {
System.out.println("Number is " + i);
}
c.
if ( z > d) ; {
System.out.println("Z is bigger");
}
d.
String m1="one";
String m2="two";
if(m1 == m2) {
System.out.println(“M1 is equal to M2”);
}
e. The formula for the area of a trapezoid is:
A = (b1+b2)/2 * h
The following Java code is the implementation. Fix the logical error
double area;
double base1 = 2.3;
double base2 = 4.8;
double height = 12.5;
area = base1 + base2/2.0 * ...
1
SDEV 460 – Homework 4
Input Validation and Business Logic Security Controls
Overview:
This homework will demonstrate your knowledge of testing security controls aligned with Input
validation and business logic. You will also use the recommended OWASP testing guide reporting format
to report your test findings.
Assignment: Total 100 points
Using the readings from weeks 7 and 8 as a baseline provide the following test and analysis descriptions
or discussion:
1. Testing for Reflected Cross site scripting (OTG-INPVAL-001)
The OWASP site list multiple approaches and examples for blackbox testing reflected XSS
vulnerabilities. In your own words, describe Reflected Cross Site scripting. Then, List and
describe 4 different examples that could be used for testing. Be sure to conduct additional
research for each example to provide your own unique test example. This most likely means you
will need to conduct some research on Javascript to make sure your syntax is correct.
2. Testing for Stored Cross site scripting (OTG-INPVAL-002)
The OWASP site list multiple approaches and examples for blackbox testing Stored XSS
vulnerabilities. In your own words, describe Stored Cross Site scripting. Then, List and describe 2
different examples that could be used for testing. Be sure to conduct additional research for
each example to provide your own unique test example. This most likely means you will need to
conduct some research on Javascript to make sure your syntax is correct.
3. Testing for SQL Injection (OTG-INPVAL-005)
SQL Injection remains a problem in applications yet could easily fixed. The following SQL
statement is in an HTML form as code with the $ variables directly input from the user.
SELECT * FROM Students WHERE EMPLID='$EMPLID' AND EMAIL='$email'
Would a form or application that includes this code be susceptible to SQL Injection? Why?
What specific tests would you perform to determine if the applications was vulnerable?
How would you fix this problem? Be specific be providing the exact code in a Language of your choice.
(e.g. Java, PHP, Python …)
4. Test business logic data validation (OTG-BUSLOGIC-001)
While reviewing some Java code, an analysis provided the following code snippets that contain
logic errors. For each example, describe the issue and provide code that would fix the logical
error:
a.
2
int x;
x = x + 1;
System.out.println("X = " + x);
b.
for (i=1; i<=5; i++) ; {
System.out.println("Number is " + i);
}
c.
if ( z > d) ; {
System.out.println("Z is bigger");
}
d.
String m1="one";
String m2="two";
if(m1 == m2) {
System.out.println(“M1 is equal to M2”);
}
e. The formula for the area of a trapezoid is:
A = (b1+b2)/2 * h
The following Java code is the implementation. Fix the logical error
double area;
double base1 = 2.3;
double base2 = 4.8;
double height = 12.5;
area = base1 + base2/2.0 * ...
Enhancing Health Risk Assessment:The Individual Exposure Health Risk Profile ...Richard Hartman, Ph.D.
Introducing a new tool in the healthcare toolbox that aims to develop an individual’s comprehensive health profile by combining their genetics, personal exposure, clinical disposition and ultimately integrating the data into the Electronic Health Record called the Individual Exposure Health Risk Profile (IEHRP).
The Importance of Community Nursing Care.pdfAD Healthcare
NDIS and Community 24/7 Nursing Care is a specific type of support that may be provided under the NDIS for individuals with complex medical needs who require ongoing nursing care in a community setting, such as their home or a supported accommodation facility.
Explore our infographic on 'Essential Metrics for Palliative Care Management' which highlights key performance indicators crucial for enhancing the quality and efficiency of palliative care services.
This visual guide breaks down important metrics across four categories: Patient-Centered Metrics, Care Efficiency Metrics, Quality of Life Metrics, and Staff Metrics. Each section is designed to help healthcare professionals monitor and improve care delivery for patients facing serious illnesses. Understand how to implement these metrics in your palliative care practices for better outcomes and higher satisfaction levels.
CHAPTER 1 SEMESTER V PREVENTIVE-PEDIATRICS.pdfSachin Sharma
This content provides an overview of preventive pediatrics. It defines preventive pediatrics as preventing disease and promoting children's physical, mental, and social well-being to achieve positive health. It discusses antenatal, postnatal, and social preventive pediatrics. It also covers various child health programs like immunization, breastfeeding, ICDS, and the roles of organizations like WHO, UNICEF, and nurses in preventive pediatrics.
Antibiotic Stewardship by Anushri Srivastava.pptxAnushriSrivastav
Stewardship is the act of taking good care of something.
Antimicrobial stewardship is a coordinated program that promotes the appropriate use of antimicrobials (including antibiotics), improves patient outcomes, reduces microbial resistance, and decreases the spread of infections caused by multidrug-resistant organisms.
WHO launched the Global Antimicrobial Resistance and Use Surveillance System (GLASS) in 2015 to fill knowledge gaps and inform strategies at all levels.
ACCORDING TO apic.org,
Antimicrobial stewardship is a coordinated program that promotes the appropriate use of antimicrobials (including antibiotics), improves patient outcomes, reduces microbial resistance, and decreases the spread of infections caused by multidrug-resistant organisms.
ACCORDING TO pewtrusts.org,
Antibiotic stewardship refers to efforts in doctors’ offices, hospitals, long term care facilities, and other health care settings to ensure that antibiotics are used only when necessary and appropriate
According to WHO,
Antimicrobial stewardship is a systematic approach to educate and support health care professionals to follow evidence-based guidelines for prescribing and administering antimicrobials
In 1996, John McGowan and Dale Gerding first applied the term antimicrobial stewardship, where they suggested a causal association between antimicrobial agent use and resistance. They also focused on the urgency of large-scale controlled trials of antimicrobial-use regulation employing sophisticated epidemiologic methods, molecular typing, and precise resistance mechanism analysis.
Antimicrobial Stewardship(AMS) refers to the optimal selection, dosing, and duration of antimicrobial treatment resulting in the best clinical outcome with minimal side effects to the patients and minimal impact on subsequent resistance.
According to the 2019 report, in the US, more than 2.8 million antibiotic-resistant infections occur each year, and more than 35000 people die. In addition to this, it also mentioned that 223,900 cases of Clostridoides difficile occurred in 2017, of which 12800 people died. The report did not include viruses or parasites
VISION
Being proactive
Supporting optimal animal and human health
Exploring ways to reduce overall use of antimicrobials
Using the drugs that prevent and treat disease by killing microscopic organisms in a responsible way
GOAL
to prevent the generation and spread of antimicrobial resistance (AMR). Doing so will preserve the effectiveness of these drugs in animals and humans for years to come.
being to preserve human and animal health and the effectiveness of antimicrobial medications.
to implement a multidisciplinary approach in assembling a stewardship team to include an infectious disease physician, a clinical pharmacist with infectious diseases training, infection preventionist, and a close collaboration with the staff in the clinical microbiology laboratory
to prevent antimicrobial overuse, misuse and abuse.
to minimize the developme
Medical Technology Tackles New Health Care Demand - Research Report - March 2...pchutichetpong
M Capital Group (“MCG”) predicts that with, against, despite, and even without the global pandemic, the medical technology (MedTech) industry shows signs of continuous healthy growth, driven by smaller, faster, and cheaper devices, growing demand for home-based applications, technological innovation, strategic acquisitions, investments, and SPAC listings. MCG predicts that this should reflects itself in annual growth of over 6%, well beyond 2028.
According to Chris Mouchabhani, Managing Partner at M Capital Group, “Despite all economic scenarios that one may consider, beyond overall economic shocks, medical technology should remain one of the most promising and robust sectors over the short to medium term and well beyond 2028.”
There is a movement towards home-based care for the elderly, next generation scanning and MRI devices, wearable technology, artificial intelligence incorporation, and online connectivity. Experts also see a focus on predictive, preventive, personalized, participatory, and precision medicine, with rising levels of integration of home care and technological innovation.
The average cost of treatment has been rising across the board, creating additional financial burdens to governments, healthcare providers and insurance companies. According to MCG, cost-per-inpatient-stay in the United States alone rose on average annually by over 13% between 2014 to 2021, leading MedTech to focus research efforts on optimized medical equipment at lower price points, whilst emphasizing portability and ease of use. Namely, 46% of the 1,008 medical technology companies in the 2021 MedTech Innovator (“MTI”) database are focusing on prevention, wellness, detection, or diagnosis, signaling a clear push for preventive care to also tackle costs.
In addition, there has also been a lasting impact on consumer and medical demand for home care, supported by the pandemic. Lockdowns, closure of care facilities, and healthcare systems subjected to capacity pressure, accelerated demand away from traditional inpatient care. Now, outpatient care solutions are driving industry production, with nearly 70% of recent diagnostics start-up companies producing products in areas such as ambulatory clinics, at-home care, and self-administered diagnostics.
Empowering ACOs: Leveraging Quality Management Tools for MIPS and BeyondHealth Catalyst
Join us as we delve into the crucial realm of quality reporting for MSSP (Medicare Shared Savings Program) Accountable Care Organizations (ACOs).
In this session, we will explore how a robust quality management solution can empower your organization to meet regulatory requirements and improve processes for MIPS reporting and internal quality programs. Learn how our MeasureAble application enables compliance and fosters continuous improvement.
Deep Leg Vein Thrombosis (DVT): Meaning, Causes, Symptoms, Treatment, and Mor...The Lifesciences Magazine
Deep Leg Vein Thrombosis occurs when a blood clot forms in one or more of the deep veins in the legs. These clots can impede blood flow, leading to severe complications.
One of the most developed cities of India, the city of Chennai is the capital of Tamilnadu and many people from different parts of India come here to earn their bread and butter. Being a metropolitan, the city is filled with towering building and beaches but the sad part as with almost every Indian city
R3 Stem Cells and Kidney Repair A New Horizon in Nephrology.pptxR3 Stem Cell
R3 Stem Cells and Kidney Repair: A New Horizon in Nephrology" explores groundbreaking advancements in the use of R3 stem cells for kidney disease treatment. This insightful piece delves into the potential of these cells to regenerate damaged kidney tissue, offering new hope for patients and reshaping the future of nephrology.
R3 Stem Cells and Kidney Repair A New Horizon in Nephrology.pptx
Clinical data successes using machine learning (word2vec, RNN)
1. Clinical data successes
using machine learning
A survey by Joseph Paul Cohen, PhD
Montreal Institute for Learning Algorithms
Topics:
1. Medical Concept Representation
2. Clinical Event Prediction
Tutorial
2. Where is the Deep Learning research?
[Shickel, Deep EHR : A Survey of Recent Advances in Deep Learning Techniques for Electronic Health Record, 2018]
(~word2vec)
(word2vec)
Topic of today!
3. Concept Representation
Mr. Smith is a 63-year-old gentleman
with coronary artery disease,
hypertension, hypercholesterolemia,
COPD and tobacco abuse. He reports
doing well. He did have some more knee
pain for a few weeks, but this has
resolved. He is having more trouble
with his sinuses. I had started him on
Flonase back in December. He says this
has not really helped. Over the past
couple weeks he has had significant
congestion and thick discharge. No
fevers or headaches but does have
diffuse upper right-sided teeth pain.
He denies any chest pains,
palpitations, PND, orthopnea, edema or
syncope. His breathing is doing fine.
No cough. He continues to smoke about
half-a-pack per day. He plans ontrying
the patches again.
Clinical Note Clinical Publication
Representations for:
Patient
Doctor
Visit
Disease
Drug
Symptom
Helpful to understand
similarity or make
semi-supervised
predictions!
4. Word Embeddings for Biomedical Language
Extract relationships
between words and
produce a latent
representation
Word Embeddings for Biomedical Language
5. What to do with word embeddings?
● We can compose them to create paragraph embeddings (bag of embeddings).
● Use in place of words for an RNNs (More on this later!)
● Augment learned representations on small datasets
● `
[Cultural Shift or Linguistic Drift, Hamilton, 2016]
Study how the meaning between two
texts varies (or hospitals, or doctors)?
[Pennington, 2014][Mikolov, 2013]
Study the compositionality of the
learned latent space
6. Token representations
One-hot encoding: binary vector per token
Example:
cat = [0 0 1 0 0 0 0 0 0 0 0 0 0 0 … 0]
dog = [0 0 0 0 1 0 0 0 0 0 0 0 0 0 … 0]
house = [1 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0]
Note!
If x is one hot
The dot product of Wx
= a Single column of W M x N N x 1
=
M x 1
7. word2vec
Target wordContext wordContext word Context word
involving respiratory system and other chest symptoms
Context word
involving
respiratory
doctor
chest
Mikolov, Efficient Estimation of Word Representations in Vector Space, 2013
1. Each word is a training example
2. Each word is used in many contexts
3. The context defines each word
system
1
1
0
1
0
0
0
0
0
1
-1
5.1
involving
respiratory
doctor
chest
system
Context window = 2
11. window_size = 2
idx_pairs = []
for sentence in tokenized_corpus:
indices = [word2idx[word] for word in sentence]
for center_word_pos in range(len(indices)):
for w in range(-window_size, window_size + 1):
context_word_pos = center_word_pos + w
if context_word_pos < 0 or
context_word_pos >= len(indices) or
center_word_pos == context_word_pos:
Continue
context_word_idx = indices[context_word_pos]
idx_pairs.append((indices[center_word_pos], context_word_idx))
Code by github user: mbednarski
Output:
[[16, 12],
[16, 1],
...
[ 1, 16],
[ 1, 12]]
for each word, treated as center word
center_word_pos = 0, 1, 2, ...
for each window position
w = -2, -1, 0, 1, 2
make sure not to jump out of the sentence
sentence = ['paris', 'france', 'capital']
indices = [2, 5, 11]
12. class SkipGram(nn.Module):
def __init__(self, vocab_size, embd_size):
super(SkipGram, self).__init__()
self.W1 = Variable(torch.randn(embd_size, vocab_size).float(), requires_grad=True)
self.W2 = Variable(torch.randn(vocab_size, embd_size).float(), requires_grad=True)
def forward(self, focus):
z1 = torch.matmul(self.W1, focus)
z2 = torch.matmul(self.W2, z1)
softmax = F.log_softmax(z2, dim=0)
return softmax
model = SkipGram(vocabulary_size, 2)
Initialize two matrices
|E| x |V|
|V| x |E|
Encoder:
|E| x |V| dot |V| x 1 = |E| x 1
Softmax over context
prediction
Decoder:
|V| x |E| dot |E| x 1 = |V| x 1
Code by github user: mbednarski
13. A note on the softmax function
To predict multiple classes we project to a probability distribution
word2
word1
word3
3.2
5.1
-1.7
24.5
164.0
0.18
exp normalize
0.13
0.87
0.0
14. Simplex
Because it is on a simplex; the correction of one term impacts all
Tumor
word3
word2word1 word3
Image credits: http://gureckislab.org/
word1
word2
word2
word1
word3
0.13
0.87
0.0
x
15. Infinite ways to generate the same
output.
A correction of one sends gradients
to others
We can learn unseen classes
through a process of elimination.
https://github.com/ieee8023/NeuralNetwork-Examples/blob/master/general/simplex-softmax.ipynb
word2
word3word1
Word1
Word3
Word2
16. Softmax and Cross-entropy loss
To predict multiple class we can project the output onto a simplex and
compute the loss there.
word2
word1
word3
3.2
5.1
-1.7
24.5
164.0
0.18
exp normalize
0.13
0.87
0.0
loss
0.0
0.13
0.0
17. Open Access Subset of PubMedCentral
Subset of files that are available open access
● Papers available in PDF or XML
● 1.25 million biomedical articles and 2 million distinct words
● Available over FTP for bulk download (CompSci Friendly!)
● Metadata includes journal name and year
https://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/
Breast Cancer Res.
Genome Biol.
Arthritis Res.
BMC Cell Biol.
…
Journal names
Example XML data
18. Word Embeddings for Biomedical Language
Wang, A Comparison of Word Embeddings for the Biomedical Natural Language Processing, 2018
Word Embeddings for Biomedical Language
(Mayo Clinic)
(c) Wikipedia + Gigaword
Representations are
biased by the data.
We can use this to our
advantage to control the
domain.
19. (Mayo Clinic)
Wikipedia +
Gigaword
Specific General
Example medical words and their five post similar words based on each training corpus of text
The full name of
diabetes is "diabetes
mellitus"
Articles say diabetics
are at increased risk of
hypertension (high
blood pressure)
A type of peptic ulcer
One symptom is
an ulcer
Colon cancer is
associated with
breast cancer!
20. Indiana University Hospital Reports
Chest X-ray images from the Indiana University hospital network
1000 reports available in XML format!
21. ['heart size normal lungs ...',
'the heart size and ...',
'the heart is normal in ...',
'the lungs are clear the ...',
'heart size normal lungs ...',
'heart is mildly heart ...',
'the lungs are clear there ...',
'cardiac and mediastinal ...',
…
def clean(s):
for c in [".",",",":",";",""","/","[","]","<",">","?"]:
s = s.replace(c, " ").lower()
return s
corpus = []
for f in os.listdir("ecgen-radiology"):
tree = xml.etree.ElementTree.parse("ecgen-radiology/" + f)
root = tree.getroot()
node = root.findall(".//AbstractText/[@Label='FINDINGS']")[0]
corpus.append(clean(str(text)))
<Abstract>
<AbstractText Label="COMPARISON">None.</AbstractText>
<AbstractText Label="INDICATION">Positive TB test</AbstractText>
<AbstractText Label="FINDINGS">The cardiac silhouette and mediastinum size
are within normal limits. There is no pulmonary edema. There is no focal
consolidation. There are no XXXX of a pleural effusion. There is no evidence of
pneumothorax.</AbstractText>
<AbstractText Label="IMPRESSION">Normal chest x-XXXX.</AbstractText>
</Abstract>
Python code to parse the XML
Output!:
Input:
22. Hyperparameters!
Depending on the configuration of the model the embeddings can vary:
No information Compression
We can vary: the dimension of the embedding, learning rate, token words, window size, etc..
23. Size of embedding space matters
Dim = 2 Dim = 100
*via t-sne
Distance Distance
24.
25. Time series medical records
Tasks:
● Predict probability of event in future
● Predict duration until next visit
● Find similar patients/events/visits
We need to define
what events are!
26. 1893 - Causes of Death (International Statistical Institute)
1975 - ICD-9 - (WHO)
1990 - ICD-10 - (WHO)
2022 - ICD-11 - (WHO)
ICD (International Classification of Diseases)
ICD is the foundation for the identification of health trends and statistics globally, and the
international standard for reporting diseases and health conditions. It is the diagnostic
classification standard for all clinical and research purposes. ICD defines the universe of
diseases, disorders, injuries and other related health conditions, listed in a comprehensive,
hierarchical fashion (http://www.who.int/)
There are alternative
standards but they can
require a fee
27. ICD (International Classification of Diseases)
Example ICD-9 codes:
786 Symptoms involving respiratory system and other chest symptoms
786.0 Dyspnea and respiratory abnormalities
786.1 Stridor
786.2 Cough
786.3 Hemoptysis
786.4 Abnormal sputum
786.5 Chest pain
786.6 Swelling, mass or lump in chest
786.7 Abnormal chest sounds
786.8 Hiccough
786.9 Other
ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Publications/ICD9-CM/2011
28. ICD (International Classification of Diseases)
Example ICD-9 codes (786.5)
Cardialgia (see also Pain, precordial) 786.51
Diaphragmalgia 786.52
chest 786.59
anginoid (see also Pain, precordial) 786.51
chest (central) 786.50
atypical 786.59
midsternal 786.51
musculoskeletal 786.59
noncardiac 786.59
substernal 786.51
wall (anterior) 786.52
costochondral 786.52
diaphragm 786.52
heart (see also Pain, precordial) 786.51
intercostal 786.59
over heart (see also Pain, precordial) 786.51
pericardial (see also Pain, precordial) 786.51
pleura, pleural, pleuritic 786.52
precordial (region) 786.51
respiration 786.52
retrosternal 786.51
rib 786.50
substernal 786.51
respiration 786.52
Pleuralgia 786.52
Pleurodynia 786.52
Precordial pain 786.51
chest 786.59
Prinzmetal-Massumi syndrome (anterior chest wall) 786.52
painful 786.52
Lots of grouping!
29. ICD-10 is very detailed
V97.33XD: Sucked into jet engine, subsequent encounter
V00.15: Heelies Accident
Applicable To Rolling shoe, Wheeled shoe, Wheelies accident.
Supertypes:
V00-Y99 External causes of morbidity
V95-V97 Air and space transport accidents
V00 Pedestrian conveyance accident
V00.1 Rolling-type pedestrian conveyance accident
30. Time series medical records
Sequence of medical codes over time
787.2
787.2
358.2 682.1
Tasks:
● Predict probability of code in future
● Predict duration until next visit
● Find similar patients/codes/visits
31. MLPs on time series data
787.2 682.1
Before
After
-5 years +1 year
0
1
0
0
0
1
0
0
0
.
.
.
787.2
358.2
MLP 1 682.1
787.2
358.2
Multi-hot
vectors!
32. Med2Vec
Word2Vec for time series patient
visits with ICD codes.
Embeddings learned for codes
and demographics.
Visits
(ICD Codes)
Visits +
Demographics
ICD Codes over time
Choi, Multi-layer Representation Learning for Medical Concepts, 2016
Visit embedding
Visit embedding
conditioned on
demographics
33. Baseline methods
One-hot: In order to compare with the raw input data, the binary vector for the visit is used.
Stacked autoencoder (SA): Using the binary vector concatenated with patient demographic
information as the input the SA is trained to minimize the reconstruction error. Then will be used to
generate visit representations.
Sum of Skip-gram vectors (word2vec): First learn the code-level representations with Skip-gram only.
Then for the visit-level representation, add the representations of the codes within the visit.
Choi, Multi-layer Representation Learning for Medical Concepts, 2016
34. Med2Vec
Evaluation: Predicting codes of the next visit
Choi, Multi-layer Representation Learning for Medical Concepts, 2016
Private):
Dataset CHOA
35.
36. Example clinical note
Mr. Smith is a 63-year-old gentleman with coronary artery
disease, hypertension, hypercholesterolemia, COPD and
tobacco abuse. He reports doing well. He did have some more
knee pain for a few weeks, but this has resolved. He is
having more trouble with his sinuses. I had started him on
Flonase back in December. He says this has not really
helped. Over the past couple weeks he has had significant
congestion and thick discharge. No fevers or headaches but
does have diffuse upper right-sided teeth pain. He denies
any chest pains, palpitations, PND, orthopnea, edema or
syncope. His breathing is doing fine. No cough. He continues
to smoke about half-a-pack per day. He plans on trying the
patches again.
● Notes are still written together with codes selected for each visit.
● Often explaining details which do not have equivalent codes.
● Natural language is very difficult to parse with certainty.
37. Predicting codes from notes
Converting text to codes can
● Adapt old databases
● Correct errors
● Upgrade ICD versions
Jagannatha, Bidirectional RNN for Medical Event Detection in Electronic Health Records, 2016
... with upset stomach
<done>
<ICD-9 787.0
Nausea and vomiting>
38. RNNs, Different types of sequential prediction tasks
Input
Output
State
one to one one to many many to one many to many many to many
Taken from http://vision.stanford.edu/teaching/cs231n/slides/2016/winter1516_lecture10.pdf and Francis Dutil
Cat "This is a cat"
“It's hairy and I'm
allergic to it”
Cat
“Ceci est un chat”
“This is a cat” “Meow Meow”
39. RNNs
An RNN applies a function over a sequence of inputs [x1
, x2
, …, xT
]
which produces a sequence of outputs [y1
, y2
, …, yT
]
and each input produces a internal state [h1
, h2
, …, hT
].
Sequence of outputs
Sequence of internal states
Sequence of inputs
xt
yt
ht
Image du blog de Christopher Olah, slide from l’École d’automne 2018, César Laurent
40. RNNs
Image du blog de Christopher Olah, slide from l’École d’automne 2018, César Laurent
● A simple RNN
● W, U and V are the parameters of
the network.
● The weights are shared over time.
xt
yt
ht
U
V
W
41. Unrolling the RNN over time
The weights are shared over time.
x0xt
x1
x2
xT
y2
yT
y1
y0yt
h2
hT
h1
h0ht
U U U U
W W W W
V
V V V V
U
Image du blog de Christopher Olah, slide from l’École d’automne 2018, César Laurent
42. Unrolling the RNN over time
x0xt
x1
x2
xT
y2
yTyt
h2
hT
h1
h0ht
U U U U
W
V
V V V V
U
The weights are shared over time.
Image du blog de Christopher Olah
W W W
43. Unrolling the RNN over time
x0xt
x1
x2
xT
y2
yT
y1
y0yt
h2
hT
h1
h0ht
U U U U
W W W W
V
V V V V
U
The weights are shared over time.
Image du blog de Christopher Olah
46. Problem with the basic RNN
Slide from l’École d’automne 2018, César Laurent
The shade of gray shows the influence of the input of the RNN at time 1. It decreases over time,
as the RNN gradually forgets its first input.
Issue addressed by:
LSTM
GRU
Attention
Recurrent batch norm
Weight regularization
Layer norm
More reading: [Pascanu 2013]
47. We can get creative with RNN designs
Slide from l’École d’automne 2018, César Laurent
x0
x1
x2
z2
z1
z0
h2
2
h2
1
h2
0
x0
x1
x2
y2
y1
y0
h1
2
h1
1
h1
0
h0
h’0
h’1
h’2
h’i
hi
h2
h1
Stacked RNNs Bi-directional RNN
48. RNNs for next visit prediction (Doctor AI)
● Treat codes equally: ICD diagnosis
codes, procedure codes, and
medication codes
● Grouped codes into higher-order
categories
Medical codes R40000
y = High level medical codes R1778
d = time since last visit
Choi, Doctor AI: Predicting Clinical Event via Recurrent Neural Networks, 2016
Patients from Sutter Health Palo Alto Medical Foundation
49. Pretraining RNNs (Doctor AI)
MIMIC II has 2,695 patients with 2+ visits
Pretrained using a larger Sutter Health dataset
~300,000 patients
Choi, Doctor AI: Predicting Clinical Events via Recurrent Neural Networks, 2016
50. Related work
Lipton, Zachary C et al. “Learning to Diagnose with LSTM Recurrent Neural
Networks.” International Conference on Learning Representations. 2016
Che, Zhengping et al. “Recurrent Neural Networks for Multivariate Time Series
with Missing Values.” Nature Scientific Reports. 2018
51. Romanov, Lessons from Natural Language Inference in the Clinical Domain, 2018
Medical Natural Language Inference
MedNLI dataset derived from the MIMIC-III dataset
52. Romanov, Lessons from Natural Language Inference in the Clinical Domain, 2018
Medical Natural Language Inference
Studying the errors
we can see the
limits of the model.
53. Discussion
"While code-based representations of clinical
concepts and patient encounters are a tractable first
step towards working with heterogeneous EHR data,
they ignore many important real-valued
measurements associated with items such as
laboratory tests, intravenous medication infusions,
vital signs, and more." [Shickel et al,, 2018]
54. Discussion
"While some researchers downplay the importance
of interpretability in favor of significant
improvements in model performance, we feel
advances in deep learning transparency will hasten
the widespread adoption of such methods in clinical
practice." [Shickel et al, 2018]
55. Discussion
"Many studies claim state-of-the-art results, but
few can be verified by external parties. This is a
barrier for future model development and one
cause of the slow pace of advancement."
[Shickel et al, 2018]
56. Pr. Yoshua Bengio,
PhD
Francis Dutil Martin Weiss
Tristan Sylvain Margaux Luck,
PhD
Assya Trofimov Vincent Frappier,
PhD
Joseph Paul Cohen,
PhD
Shawn Tan
Sina Honari
Geneviève BoucherMandana Samiei Georgy Derevyanko,
PhD
Myriam Côté,
PhD
57. References
Ching, T., et al. Opportunities And Obstacles For Deep Learning In Biology
And Medicine. Journal of The Royal Society Interface. 2018
Shickel, B. et al. Deep EHR : A Survey of Recent Advances in Deep Learning
Techniques for Electronic Health Record. IEEE Journal of Biomedical and
Health Informatics, 2018