Health Informatics: OS, Programming languages, databases and communication

48
HCI 111 By Dr. Khaled Ouanes Ph.D. E-mail: [email protected] Twitter: @khaled_ouanes

description

ESSENTIAL CONCEPTS FOR BIOMEDICAL COMPUTING: OS, Programming languages, databases and communication - Health Informatics

Transcript of Health Informatics: OS, Programming languages, databases and communication

Page 1: Health Informatics: OS, Programming languages, databases and communication

HCI 111

By Dr. Khaled Ouanes Ph.D.E-mail: [email protected]

Twitter: @khaled_ouanes

Page 2: Health Informatics: OS, Programming languages, databases and communication

ESSENTIAL CONCEPTS FOR BIOMEDICAL COMPUTING:

OS, Programming languages, databases and communication

Page 3: Health Informatics: OS, Programming languages, databases and communication

SOFTWARE COMPONENTS

Programming LanguagesData ManagementOperating SystemsDatabase Management SystemsSoftware for Network Communication

Page 4: Health Informatics: OS, Programming languages, databases and communication

PROGRAMING LANGUAGES

Programming languages were developed by scientists to

facilitate communication with computers .

Page 5: Health Informatics: OS, Programming languages, databases and communication

In the 1940s, the 1st recognizably modern electrically powered

computers were created.

The limited speed and memory capacity forced programmers to write

hand tuned assembly language programs.

Page 6: Health Informatics: OS, Programming languages, databases and communication

CPUs use machine language or machine code. Assembly language replaces the sequences of bits of machine-language programs with words and abbreviations

meaningful to humans

HOW IT WORKS? SIMPLE EXPLANATION

Page 7: Health Informatics: OS, Programming languages, databases and communication
Page 8: Health Informatics: OS, Programming languages, databases and communication

We use programing language to be able to instruct the computer to perform

special tasks e.g. retrieve the latest test result, monitor the status of

hypertensive patients, to compute a patient’s current account balance.

Advantages:Specialized languages can be used directly

by nonprogrammers for well-understood simple tasks.

HOW IT WORKS? SIMPLE EXPLANATION

Page 9: Health Informatics: OS, Programming languages, databases and communication

Applications examples:users can search for, and retrieve data from, large databases using the Structured Query Language (SQL)

Using statistical languages, such as SAS, Statistica or SPSS, users can perform extensive statistical calculations, such as regression analysis and correlation.

Using spreadsheet program, such as Excel, to record and manipulate data

Page 10: Health Informatics: OS, Programming languages, databases and communication

Each of these programs provides its own specialized language for

instructing a computer to perform desired high-level functions.

However, the physical details of the data storage structures and the

access mechanisms are hidden from the user.

Page 11: Health Informatics: OS, Programming languages, databases and communication

DATA MANAGEMENTAccessing and moving data from the

points of collection to the points of use are among the primary functions of

computing in medicine.

These applications must deal with large volumes of varied data and manage them on external storage.

Page 12: Health Informatics: OS, Programming languages, databases and communication

Data Management refers to: the storage, access and preservation of the data .

It covers the whole lifecycle of the data, from implementation of data designs, policies and

procedures to the management of this data, and from backing up data as it is created and used to

long term preservation of data.

Page 13: Health Informatics: OS, Programming languages, databases and communication

Exam

ple fo

r a Data life cycle

Page 14: Health Informatics: OS, Programming languages, databases and communication

OPERATING SYSTEMS (OS)

The OS is software that is generally included

with a computer system and it manages the resources, such as memory, storage, and devices, for the user.

User

Application

Operating System

Hardware

Page 15: Health Informatics: OS, Programming languages, databases and communication

An Operating System (OS) is a collection of software managing computer hardware resources and

providing common services for computer programs and applications which usually

require a given Operating System to function properly.

The OS is an essential component of the system software in a

computer system.

Page 16: Health Informatics: OS, Programming languages, databases and communication

What does the OS do? A bit more of details!- Assigns the central processing unit CPU to

specific tasks- Supervises running programs- Controls communication among hardware

components- Manages the transfer of data from input to output

devices- Handles the details of file management (e.g.

creation, opening, reading, writing, closing of data files…) - In shared systems, it allocates the resources of

the system among the competing users

Page 17: Health Informatics: OS, Programming languages, databases and communication

For medical usage, programmers can write application programs that can

perform all the functions provided by biomedical computing systems.

e.g. automate routine operations that store and organize data, perform analyses, monitor patient status, education help...

These programs are then filed by the OS and are available to its users when needed.

Page 18: Health Informatics: OS, Programming languages, databases and communication

DATA & DATABASESA database is an organized collection of data. The data are typically organized to model relevant aspects of reality in a way that supports processes requiring this information (i.e. organized into fields, records, and files)

The meaning of data elements and the relationships among those elements are captured in the structure of the database.

Page 19: Health Informatics: OS, Programming languages, databases and communication

When we talk about Big data, we are referring to a collection of data sets so large and complex that it becomes difficult to process using traditional data processing applications or on-hand database management tools. > There are Specific Solutions

The challenges include capture, storage, search, sharing, transfer, analysis & visualization of Data.

Page 20: Health Informatics: OS, Programming languages, databases and communication

META DATAMeta data describes where in the

record specific data are stored, and how the right record can be located.

e.g. A record may be located by searching and matching patient ID in the record. The meta data also specifies where in the record the digits representing the birthdate are located and how to convert it into the current age.

Page 21: Health Informatics: OS, Programming languages, databases and communication

When the structure of the database changes (e.g. new fields are added or deleted to a record) the meta data must be changed in consequence.

When data are to be shared, there will be continuing requirements for

additions and reorganizations to the files and hence the meta data.

Page 22: Health Informatics: OS, Programming languages, databases and communication

Database management system (DBMS)

Programming and designing data management software is particularly challenging especially in the biomedical field.

Page 23: Health Informatics: OS, Programming languages, databases and communication

Sometimes, a good medical decision making relies on a timely access to relevant and complete data from

diverse sources.

Page 24: Health Informatics: OS, Programming languages, databases and communication

When multiple users share data (and thus

may try to access data simultaneously), they must search through voluminous data rapidly, at unpredictable times. It is important that the data rendered is complete and virtually error-free even if the relationships among data elements are complex.

Page 25: Health Informatics: OS, Programming languages, databases and communication

DBMS for biomedical field need to be built for long-term reliability

Computers provide the primary means for organizing and accessing these data. While Database technology supports the integration and organization of data and assists users with data entry, long-term storage, and retrieval.

Page 26: Health Informatics: OS, Programming languages, databases and communication

The desire for data independence (e.g. keeping the applications of one set of users independent

from changes made to applications by another group) is the key reason for using a database management system for shared data.

A DBMS is an integrated set of programs helping users to easily and efficiently store and manipulate data. It allows specifying what the results should be without worrying about how they will be obtained.

Page 27: Health Informatics: OS, Programming languages, databases and communication

There are 2 main ways allowing Users to

retrieve data from a database

Page 28: Health Informatics: OS, Programming languages, databases and communication

Users can query the database directly using a query language to extract information in an ad hoc way (e.g., to retrieve the records of all male hypertensive patients aged 50+)

P.S.: Query formulation can be difficult sometimes as users must understand the contents and underlying structure of the database to construct a query correctly. Often, database programmers formulate the requests for health professionals.

1

Page 29: Health Informatics: OS, Programming languages, databases and communication

To support occasional use, front-end applications to database systems (usually with an intuitive GUI) can help a user retrieve information using a menu based on the schema. Some applications (e.g. a drug order–entry system) will use a database system without users (Doctors, pharmacists…) being aware of each others’ simultaneous usage. In this example, the medication-order records placed in the database by the physician create communication transactions with the pharmacy. Then, the pharmacy application creates the daily drug lists for the patient care units.

2

Page 30: Health Informatics: OS, Programming languages, databases and communication

An example of a simple database query written in Structured Query Language

(SQL).

SELECT Patient ID, Name, Age, Systolic

FROM Patients

WHERE Sex= ‘M’ andAge>= 50 andSystolic > 140

Page 31: Health Informatics: OS, Programming languages, databases and communication

An example of a simple database query written in Structured Query Language

(SQL).

SELECT Patient ID, Name, Age, Systolic

FROM Patients

WHERE Sex= ‘M’ andAge>= 50 andSystolic > 140

Male, Patients, aged 50+ and with systolic BP of 140+ (Hypertensive)

Page 32: Health Informatics: OS, Programming languages, databases and communication

An example of a simple database query written in Structured Query Language

(SQL).

SELECT Patient ID, Name, Age, Systolic

FROM Patients

WHERE Sex= ‘F’ andAge>= 45 andAge<= 65 andBlood_Sugar > 7.2

Female, Patients, aged 45-65 and with Blood sugar of 7.2 mmol/L (> Diabetes

detection)

Page 33: Health Informatics: OS, Programming languages, databases and communication

Some database queries are routine requestse.g., the resource utilization reports used by health care administrators and the end-of-month financial

reports generated for business offices.

Thus, DBMSs often also provide an alternative, simpler means for formulating such queries, called report generation.

Page 34: Health Informatics: OS, Programming languages, databases and communication

Network Communications Software

The ability of computers to communicate with each other over local and remote networks brings tremendous power to computer users. This makes it possible to share data and resources among diverse users and institutions around the world, allow Network users to access nation/worldwide databases, and enables remote users to communicate and collaborate.

Page 35: Health Informatics: OS, Programming languages, databases and communication

Communications software handles the physical connection of each computer to the network, the internal preparation of data to be sent or received over the network, and the interfaces between the network data flow and applications programs.

Page 36: Health Informatics: OS, Programming languages, databases and communication

2 key strategies allow managing the complexity of network software:

Network stackInternet protocol

The network stack serves to organize communications software within a

machine.

Page 37: Health Informatics: OS, Programming languages, databases and communication

LOCAL DATA COMMUNICATIONS

Communication can occur telephone lines, shared wired, fiber-optic cables, infrared, or radio waves.

Modem: A device used to modulate digital signals for transmission to a remote computer over telephone lines

Digital signal procession (DSP) chip: An integrated circuit designed for high-speed data manipulation and used in audio communication, image manipulation and data acquisition

Page 38: Health Informatics: OS, Programming languages, databases and communication

Broadband transmission: A data transmission technique in which multiple signals may be transmitted simultaneously, each modulated within an assigned frequency range.

Page 39: Health Informatics: OS, Programming languages, databases and communication

INTERNET COMMUNICATION

External routers can also link the users on a LAN to a regional network and then to the Internet. The Internet is a WAN that is composed of many regional and local networks interconnected by long-range backbone links, including international links.

Internet standards : Transmission Control Protocol/Internet Protocol (TCP/IP) .

all machines are currently identified by a standard for 32-bit IP addresses (a sequence of four 8-bit numbers, each ranging from 0 to 255)

Page 40: Health Informatics: OS, Programming languages, databases and communication

Decomposition of an IPv4 address from dot-decimal notation to its

binary value

Page 41: Health Informatics: OS, Programming languages, databases and communication

Internet protocols are shared conventions that serve to standardize communications

between machines.

Protocols are defined for every Internet service (e.g. routing, electronic mail, and Web access) and establish the conventions for representing data, for requesting an action, and for replying to a requested action.

INTERNET PROTOCLS

Page 42: Health Informatics: OS, Programming languages, databases and communication

Examples:RFC822: protocols defining the format for e-mail addresses and text messages

IMAP, POP and SMTP Protocols: are 3 different methods or protocols used to handle email.

HTML: formatting of Web pages – A W3C standard is version 4.01.

Page 43: Health Informatics: OS, Programming languages, databases and communication

By observing these protocols, machines of different types can communicate openly and can interoperate with each other.

e.g: When requesting a Web page from a server using the HTTP, the client does not have to know whether the server is a UNIX machine, a Windows machine they all appear the same over the network if they adhere to the HTTP protocol. Also there’s no need to focus on other details like programming language used, DBMS etc.

Page 44: Health Informatics: OS, Programming languages, databases and communication

Privacy, Confidentiality, and Security

o Privacy: Control of disclosure of personal health and other information

o Confidentiality: Ability of a person to release or not their personal health information to a doctor, a care provider etc.

E.g. Asking to limit further release or use of the given information

o Security: Protection of Privacy and confidentiality through a series of policies, procedures and safeguards. Control access to the systems and information.

Page 45: Health Informatics: OS, Programming languages, databases and communication

Health information is considered to be confidential, and access to such information must be controlled because disclosure could cause harm at many levels. e.g. social embarrassment, limiting our ability to get and hold a job, segregation because of health status etc.

Medical data must be protected against unjustified disclosure, piracy, misuse and

loss. >> LONG TERM RELIABILITY

Page 46: Health Informatics: OS, Programming languages, databases and communication

Maintaining Security: FIVE PARAMETERS

1. Availability: Ensures accurate and up to date information is available when needed.

2. Accountability: Users are responsible for their access and usage of the data. Based on a documented “need to know” and “right to know”

3. Perimeter definition: Allows the system to set boundaries of trusted access to an information on the system both physically and logically

Page 47: Health Informatics: OS, Programming languages, databases and communication

Maintaining Security: FIVE PARAMETERS

4. Role-limited access: Enables access for personnel to only access the information they need and limits access beyond their legitimate need.

5. Comprehensibility and control: Ensures that record owners, data stewards and patients can understand and have control over aspects of information confidentiality and access.

Page 48: Health Informatics: OS, Programming languages, databases and communication

HCI 111

By Dr. Khaled Ouanes Ph.D.E-mail: [email protected]

Twitter: @khaled_ouanes