Code Med
Java Course

Next cohort:
May 2022 (TBC)

The Code Med Java course takes you from beginner to Java app developer in just 12 weeks.

Developed by doctors, the Code Med Java course is aimed at healthcare professionals who want to be at the forefront of digital innovation in the NHS and beyond. So, what will you gain from this course?

  • Proficiency in one of the most widely recognised and used programming languages.
  • Learn how to develop programs that digitise your trust’s specific guideline algorithms
  • Develop skills to build graphical user interfaces for beautiful and functional apps
  • Practice building clinically relevant apps, such as BMI calculators, antibiotic dosing calculators and symptom checkers
  • Inspiration on how to develop your own digital innovations with award-winning examples from our team and guidance on robust quality improvement methodology
  • Personally-tailored mentoring on your own app ideas
  • New skills to take your ideas and career to the next step, whilst bringing positive change to your healthcare environment

The Code Med Java course is perfect for anyone who is a complete novice, to those who may have dabbled before

We know that...

Healthcare systems are complicated. Yet, as healthcare professionals we understand the issues we want to address. Learning to program will open a radical new perspective on how to tackle problems in a way you never thought you could.

So, what will this course offer?

The course will take you through the fundamentals of Java programming and give you the confidence to develop beautiful and intelligent apps that will solve your healthcare improvement ideas.

Course Price

Inclusive of all lessons, material and mentoring

Medical Student & F1 Doctor
Register before 1st April for £50 discount
Junior Doctor & Other Healthcare Staff
Register before 1st April for £100 discount
Consultant / GP
Register before 1st April for £100 discount
Foundation Year 2 doctors may be eligible for ‘aspirational funding’ for the course

In recognition of the benefits to both individual professional development and NHS service improvement on a wider scale, many of the attendees on previous cohorts have had funding requests approved by foundation school deans/training programme directors.


If you wish to obtain funding for the course, speak to your clinical/educational supervisor and training programme director.

We equip clinicians with the skills to build digital solutions as part of quality improvement projects.


Quality improvement/audit is a requirement for ARCP.

The 2021 UK Foundation Programme Curriculum states that ‘use of new technologies and the digital agenda’ forms part of the core curriculum.


See page 15 and 80 of the 2021 UKFP curriculum document.

The digital agenda (being the systematic approach to shape digital transformation) is a key theme within the NHS Long Term Plan.


However, not only is it clear that digital-health is the future of the NHS, the Long Term Plan states that NHS workforce must be involved in the delivery of this digital agenda. It makes specific reference to the need for up-skilling workforce and developing technical expertise (see quote below).


NHS Long Term Plan (page 95): “We will increase training in digital capabilities for the health and care workforce and focus on attracting excellent technical expertise and skills, particularly in ‘newer’ digital fields so that our workforce can continue to deliver our technology strategy.”

Course Outcomes

Look at what students on our course have gone on to do...

SimEPR was developed to address the problem of individuals starting their careers with minimal experience of Electronic Patient Record (EPR) systems. SimEPR was accepted onto the SimDH accelerator and is being trialled in simulation departments.

iALS was developed in response to the problem of human factors which may impair the smooth functioning of a cardiac arrest and the over-reliance on the human brain in an unpredictable situation. It is one of the most comprehensive ALS applications available.

The Antibiotic Calculator was produced in response to prescription errors of Gentamicin, Amikacin, Vancomycin and Teicoplanin. It eliminated all errors and improved the speed of prescriptions.


Things we get asked about...frequently

Do I need to have any prior coding experience?

You do not need any prior coding experience. Two of the instructors had no prior experience to coding before they joined the first cohort of this course over two years ago. You need to be familiar with navigating a computer in general and not feel scared or challenged by learning new things!

Is this course only for doctors?

This course designed for all healthcare professionals from any background. We have had Pharmacists and Physician Associates on this course previously, so anyone is welcome to participate.

Is this course only for healthcare professionals in the UK?

No, this course is open to any healthcare professional from across the globe and we welcome our colleagues from abroad. Depending on which country you are based in, we are willing to consider financial concessions, please feel free to discuss this with us. There will have to be some consideration around time zones, however, if there is sufficient interest, we may hold a separate session.

Do I have to pay for this course?

Yes, there is a course fee. The course provides you with comprehensive notes, offline learning, infographics, online teaching time as well as a mentor who will help you throughout the duration of the course.

Fees are as follows:

  • Consultants or equivalent grade = £900
  • Junior Doctors and Allied Health Professionals = £600
  • Students from any clinical speciality = £300

Most of our previous course delegates that are F2 and above had successfully obtained funding through study budget. Get in touch with your local trust/postgraduate department to find out more about this.

Early bird registration and payment will reduce the price by £100 for the first two groups and by £50 for students

Are there any financial concessions available for the course?

The price of the course is already streamlined to allow concessions for different groups of professionals and we will entertain concessions for delegates from certain countries.

In particular for doctors in the UK, you are eligible to apply for study budget funding and Foundation Year 2 doctors can apply for aspirational funding, which has already been granted to previous delegates.

Can I pay for the course in instalments?

Yes, we are happy to facilitate payment for the course in three instalments. However, you will need to sign a contract which confirms that you will pay for the whole course whether you decide to complete it or not.

Is this course taught online?

Yes, this course is taught completely online. We use Zoom as the teaching platform, which has proved to be an effective teaching medium. We also use Google Classroom to share materials with delegates as well as using Telegram as a means of regular communication

What happens if I miss a session?

Every session is recorded and is usually uploaded within 24 hours of the class finishing. There are also notes for each week, which the online session goes through, so you can catch up with the video and notes. If you have any trouble with understanding the video and notes, each delegate is assigned a mentor, who they can catch up with at a mutually convenient time if they have any questions. We are also healthcare professionals who work shift-patterns, so we can relate to your needs.

What is the work commitment to the course like?

Learning a computer language is in many ways similar to learning a human language, it needs patience, persistence and practice. You should be aiming to dedicate approximately 30 minutes per day outside of the weekly session. If you pre-read the course notes, practice the exercises and really immerse yourself in the course, you should find it straightforward and not too onerous.

Are there any CPD points for attending the course?

We are currently in the process of gaining CPD accreditation for the course. Currently all delegates are provided with a certificate confirming their successful completion of the course.

What type of computer do I need to do the course?

You can use either a Windows of a Mac computer for the course. The newer the machine, the better it will perform, but PCs which are even 8-9 years old can still be used. Please feel free to contact us should you have any further questions on

Our Instructors

Our Code Med instructors have a wealth of experience in teaching coding to healthcare professionals

Dr Imran Qureshi

Imran is a Consultant at Croydon University Hospital and has a previous degree in Computer Science with an interest in Human and Computer interaction. Imran is also an Honorary Associate Clinical Professor of Quality Improvement at UCL. He has been writing medical software for many years but has a passion for teaching these skills to healthcare professionals

Dr Joe Hogan

Joe was a student on the first Java course in his Foundation years and has since become a teacher on the course. He has gone on to develop the iALS app and has taught himself Flutter. He has been awarded five Health Education England awards for his commitment to clinical service improvement through digital transformation, and has presented multiple award-winning innovations nationally

Dr Arron Thind

Arron is a junior doctor and Deputy Lead of Emerging Technology at the Department of Health and Social Care. He is a DigitalHealth.London Fellow and an NHS Clinical Entrepreneur. His innovation, SimEPR, is supported by London South Bank University's 'SimDH' accelerator and is in use at multiple NHS trusts

Course Schedule

Check out the schedule for our comprehensive 12-week programme

Online Classes

Online classes include live programming sessions and a chance to practice programming clinically relevant apps with your mentor

Offline Learning

You will practice coding our clinically orientated examples between classes to build your experience. Mentors will be on-hand for support and assistance


Comprehensive notes as well as worked coding examples will be provided to all delegates to help during online and offline learning

Imran Qureshi

Week 1 is an introductory session and will cover the following:

• An introduction to the course, why it was established and the course's goals.

• A summary of the basic rules around coding in Java, including main methods and classes

• The general structure of a basic Java program, which will form the building blocks of all future coding

• You will then embark on writing your first code, which is called ``Hello World``. This is traditionally where all programming languages begin from. Following this, we will take an introductory look at variables and its types

Joe Hogan

Week 2 will introduce the concept of Arithmetic in Java. Many clinically-orientated apps will require calculations and it is therefore important you understand how to use these functions.

What we will cover:

• The basic arithmetic functions available in Java

• Expand onto additional mathematical functions, such square roots, powers and decimal rounding

• With the information learned from this topic, you will code a creatinine clearance calculator and intravenous drug infusion rate calculation tool

Arron Thind

Week 3 will introduce If-Else statement, a concept that is widely used in coding to make decision algorithms

What we will cover:

• The structure of the basic If-Else statement and how it can be used and applied through clinical examples

• Summarise the different logic testing notations, which are used to create decision algorithms that meet specific conditions

• The application of nested If-Else statements and how they can be used to digitise complex clinical algorithms and create clinical decision apps.

• With this information, you will create a HbA1c interpreter and digitise the CT head guidelines to create a clinical decision tool



Imran Qureshi

Week 4 will introduce the concept of Arrays, which will allow us to extend the way that we store and process data.

What we will cover:

• The structure of an array and how it can be used to store multiple values for clinically-orientated apps

• We will look at how to use one- and two-dimensional arrays in our programs

• With the knowledge gained from this topic, you will build a simple blood test interpreter and NEWS score interpreter



Arron Thind

Week 5 will introduce the concept of loops in programming. These are a handy concept that allow parts of code to be executed repeatedly

What we will cover:

• While loops and how they can be manipulated to achieve certain outcomes

• Do-while loops and see how they differ to while loops and where they could be used

• For-loops, which are the most common type of loop used in coding, and outline how they can be applied in practice using clinical examples

• Last, we will demonstrate how loops can be nested to achieve increasingly complex functions

• You will practice coding all of these loops and learn how they relate to a clinical application, such as a vancomycin dose calculator

Joe Hogan

Week 6 will introduce the topic of objects. We would have already discussed that Java is an Object-Oriented Programming language (OOPL) and have been using objects to this point but this week we will formally discussed this as a concept.

What we will cover:

• What objects, constructors and methods are, and how they can be created and used

• How to use the Java API to gain a better understanding of objects

• How to create your own objects

• Using this knowledge, you will create a patient appointment booking app and a basic A&E triage tool

Arron Thind

Week 7 will introduce the Java AWT and Swing packages which are used to produce graphical user interfaces.

What we will cover:

• How to import these packages into your code and use the available objects that will allow you to create a graphical user interface

• Explore the different Classes within Swing to see what we can use to develop our user interfaces

• Using this information, you will build your first apps with a graphical user interface: a BMI calculator, a locum doctor registration form, and a gentamicin calculator

Imran Qureshi

Week 8 will introduce the concept of Interfaces

What we will cover:

• We will look at the anatomy of an interface and how it is declared and utilised

• How to create ActionListeners, so that your buttons action commands when pressed

• How to create KeyListeners, so that your TextFields respond to certain inputs

• Using this information, you will complete your gentamicin calculator graphical user interface with a button that calculates the gentamicin dose once pressed, and textfields that ensure only numbers are entered into the TextFields

Joe Hogan

Week 9 will introduce two further JComponents of the Swing class. We will be looking at TextAreas and ComboBoxes, in addition to ArrayLists

What we will cover:

• The difference between an Array and ArrayList

• The declaration and use of TextAreas, ComboBoxes and ArrayLists

• How to manipulate the properties of TextAreas and ComboBoxes

• How TextAreas differ from TextFields, and which situations they can be used

• The use of ComboBoxes and how they can be initialised using Arrays

• How ComboBox selections can be used both using a Button and without it

• Using these components you will build an app that allows you to store, search and add new patient records

Imran Qureshi

Week 10 will teach you how to store and retrieve data from an excel file

What we will cover:

• A quick recap on creating a graphical user interface and customising components

• A quick recap on For Loops and Array Lists

• Try-catch statements

• How to create an app that generates/locates an excel/CSV file

• The methods to read from and write to a local file using a patient record app as a clinically orientated example



Imran Qureshi

Week 11 will introduce the concept of inserting images into our programs

What we will cover:

• How to insert logos and images into your apps

• Scale images a desired size

• Using this information, you will create a CURB-65 calculator which includes a custom app logo

Arron Thind

Week 12 will introduce the concept of Layout Managers. Until this point, we will have been setting the positions of JComponents ourselves, but Layout Managers will help us to direct components onto the user interface in an automated fashion.

What we will cover:

• The different types of Layout Managers available and where each of their use cases lie

• Examples of Layout Managers being used in clinical apps

• Practice implementing Layout Managers as seen in digital health apps

• Using this information you will create 'ClerkMaster Lite', an app to assist junior doctor clerkings


Read more about what resources will be available to you as a delegate and how we will optimise the learning opportunity