Learning Center
Plans & pricing Sign in
Sign Out




In order for physicians to get licensed, they have to pass a test called the USMLE Step 3. Part of that test
has a computer program that simulates patient who present to the Emergency room or office with
symptoms and complaints. The user of the software program has to enter orders and lab tests to
manage the patient. They will be graded depending on how well they manage the patient. The purpose
of this project is to develop a computer program that mimics the testing environment to provide
practice for the students that are going to be taking this test. The company provides a practice test that
only has 6 clinical cases. The program will eventually have 100 cases (but will start off with 50 cases to
start). The program should be as close to the real test as possible. The practice software included in the
link below should be the guideline. The program should work exactly the same and the practice software
so that the student will be familiar with the software on test day. The practice software can be
downloaded here:

What language should this be coded in?

The requirements for this project needs to be cross-platform. It needs to be a stand-alone application,
or if it’s web-based, it needs to be able to be put on a CD, and install to sell. I am open to suggestions. It
can be programmed in java, Silverlight, adobe air, html5, or any other cross-platform. I would like to
discuss this further. If you feel that another language would be more beneficial, I would be more than
happy to discuss this.

Starting the program:

The program should open to a list of cases. Each case should be labeled case #1, case #2, case #3, etc.
There should be several options with check boxes. “Show case title/diagnosis” which will reveal the title
of the case which would give away the diagnosis (i.e. “acute congestive heart failure.”). The next should
be “Sort by specialty.” This will sort the cases by specialty: Pediatrics, Internal Medicine, OB/GYN,
Neurology, and Emergency Medicine.

This will need to keep track of which cases are done, and their score for the case. The person should be
able to click on a completed case and review his score and what he/she did wrong and right and the
case explanation. There should be an easy way to tell that the case is already completed and an easy
way to click to see his/her score and review the already completed case. The user should be able to redo
an already completed case. The program should save all the completed attempts. Thus, if the user did
the same case 3 times, then there should be 3 report cards on that case. An option to delete a report
card should be there.

Also, there should be the ability to select a “timed mode” or a “untimed mode.” In timed mode, each
case will either be a “long case” which is 18 min. + 2 min of “wrap up” time. Or 8 min + 2 min of “wrap
up” time.

Overview of the program:
First dialog box appears giving the time, the location, and the chief complaint of the person.

Next will show the initial vitals.
Next, it will show the full case with the History of present illness, past medical history, etc.

OK, so at this point this brings us to the orders sheet and the database that powers this. I currently have
all the orders in an excel spreadsheet. This can be converted to whatever database that is required
(MySQL, SQLSERVER, Access, whatever). I will need the database to be easy to edit and add information
and change as time goes on. It should also be encrypted, so it is difficult for anyone else to take all the
information, so that they can use it for other means. So, the way the database works is the following:
The order menu seen above can recognize over 12,000 different orders. The issue is that there are
multiple ways of ordering the exact same thing, so there is only about 2300 unique orders. For example,
I can type in ECG and order this, or I can order EKG, or order Electrocardiogram. These are three
different orders, but they really are one unique order since it’s all the same test.
So here is the list of all the orders. Each order has the name which will be searchable in the order menu.
The Unique ID is what tags it to the actual unique order which is what will show up in the order sheet.
Here is a list of the unique orders. It has the Unique ID number which will link all the duplicate orders.
The Route/Urgency. If it’s a drug or medicine, the route with be IV (intravenous), IM (intramuscular),
TOP (topical), PO (oral), etc. If it’s a lab test or procedure, it will be listed as R for routine or S for STAT.
The report time is the time it takes to get the result of the test or to do the procedure. The report time
for a normal study will be shown and the report time for the stat will be shown (STAT is faster report
time). This is important in the outpatient setting. If you are in a inpatient setting (Emergency room,
hospital stay, Intensive Care Unit), all your orders will be stat (though if the report time is not listed as
stat, then it will be the same report time as the normal report time).

The frequency is if you give a drug Continuously (every day or multiple times a day) or just a one time or
a bolus. If both are listed, then the user has the option to choose to give as a continuous dose or a one-
time/bolus. The normal results is the results that will appear to the user after the report time has
passed. This will be the default. In each case, some important results will be modified to be abnormal to
make the diagnosis. But if a unique order is not changed for the case, it will default to these.

Here’s some conversations about creating the database:

Cases Table: This table needs to contain the descriptors for each test case. Your documentation
provides for initial diagnosis, vital signs, lab values, patient condition etc. at various intervals. Do you
have decision trees mapped out for each case? That is, at time of presentation, these are the lab values,
vital signs and condition? At other time intervals, based on favorable or unfavorable treatment action, do
you have a new set of above values? From a pseudo-code standpoint, I understand that the end user
will need to enter in a set of treatments at each time interval (which will be different for each case?).
The set of treatments will then cause the simulation to render a new set of vitals, labs and patient
condition based on the decision tree. If too many negative decisions are made, the simulation ends in
poor outcome.

I'm not sure of the best way to design the database tables for the above scenario. I think use of a vital
signs, test results and conditions tables with foreign key relationship to the CaseLookup table will be the
best way to go. We'll want to create a time interval lookup table - time of presentation would be T0, 1
hour would be T1 or something like that.

For now, I've changed Cases to CompletedCases and added both possible score and actual score values
for each of the 3 categories - diagnosis, management and health management. In the morning, will re-
visit the best way to setup the tables to describe the lab results, condition, vitals for each case at each
given time checkpoint. Please let me know if you have any suggestions on how you'd like this
information stored - by case ID, in separate tables for vitals, conditions and results etc.

The temporal nature of the simulation requires use of what I call a checkpoint. Each case simulation is
going to need a number of these checkpoints. They are ways to evaluate whether the user is managing
the case appropriately. So, in terms of a database table, we'd have one called Checkpoints. It would
store the CheckpointID (primary key), CaseID (foreign key to Cases table), and numerous Checkpiont,
Order and Condition values. So, for each checkpoint, there would be a several entries of acceptable
orders, and associated condition values in a separate table.

For example, Case 1 would have 4 checkpoints at 15 minute intervals. At Checkpoint 1, Orders 1 through
10 are acceptable. If the user issues one of these, the system "allows" the simulation to continue to
Checkpint 2. At Checkpoint 2, Orders 15 and 16 are acceptable. However, the user issues order #20,
and the simulation ends. Or, we could establish severity escalators for each permissible order. This
means the order is allowed, but the simulated condition deteriorates at the next checkpiont. Following
suit, an order is given that causes severity to increase. Thus, at the next checkpoint, the condition
worsens and only Orders 30 and 31 can be given in order for the simulation to continue.

I think some of this is represented in your spreadsheet I just need to refine the logic a bit further to
implement the sense of checkpoints, permissible orders, and escalation of condition based on a permitted
order. Am i headed in the proper direction on this thought process?

Letme first just tell you what I think should be in each case database, and then my thoughts about the

Each case will need the following:
Gender (male or female - important since some orders are gender specific)
Starting Location (office, ER, ICU, Floor)
Starting Time (typically day 1 @ 11:00AM)
Initial Vitals including Temperature, Pulse, Systolic BP, Diastolic BP, height, weight, BMI
Reason for visit (chest pain, etc)
History of Present Illness
Past Medical History
Family History
Social History
Misc (Recreation, OB/Gyn history if female,
Review of Systems

Then you will need probably a subset of tables for the physical exam. In the Physical Exam, the following
are needed:
Female Exam:
General Appearance (Well developed, well nourished, in no apparent distress)
Skin examination (Normal tugor. No nodules or other lesions. Hair and nails normal)
Breast Examination (Nipples normal no masses)
Lymph node examination (No abnormal lymph nodes)
HEENT (Normocephalic. Vision normal. Eyes, including fundoscopic examination normal. Hearing
normal. Ears, including pinnae, external auditory canals, and tympanic membranes, normal. Nose and
mouth normal. Pharynx normal. Neck supple; no masses or bruits; thyroid normal.)
Chest/Lung examination (Chest wall normal, diaphragm and chest move equally and symmetrically with
respiration. No abnormality on percussion or auscultation).
Cardiovascular exam (S1 and S2 normal. No murmurs, rubs, or gallops, or extra sounds. Central and
peripheral pulses normal. No jugular venous distension. Blood pressure equal in both arms).
Abdominal examination (Bowel sounds normal; no bruits. No masses or tenderness. Liver and spleen not
palpable. No hernias).
Genital examination (Normal labia. No vaginal or cervical lesions. Uterus not enlarged. No adnexal
masses or tenderness)
Rectal examination (Sphinter tone normal. No masses or abnormality. Stool brown; no occult blood)
Extremities/Spine examination (Extremities symmetric without deformity, cyanosis, or clubbing. No
edema. Peripheral pulses normal. No edema. No joint deformity or warmth. Full range of motion. Spine
examination normal).
Neurologic/Psychologic examination (Mental status normal. Findings on cranial nerve, motor, and
sensory examinations normal. Cerebellar function normal. Deep tendon reflexes normal).

Male Exam:
General Appearance (Well developed, well nourished, in no apparent distress)
Skin examination (Normal tugor. No nodules or other lesions. Hair and nails normal)
Lymph node examination (No abnormal lymph nodes)
HEENT (Normocephalic. Vision normal. Eyes, including fundoscopic examination normal. Hearing
normal. Ears, including pinnae, external auditory canals, and tympanic membranes, normal. Nose and
mouth normal. Pharynx normal. Neck supple; no masses or bruits; thyroid normal).
Chest/Lung examination (Chest wall normal, diaphragm and chest move equally and symmetrically with
respiration. No abnormality on percussion or auscultation.)
Cardiovascular exam (S1 and S2 normal. No murmurs, rubs, or gallops, or extra sounds. Central and
peripheral pulses normal. No jugular venous distension. Blood pressure equal in both arms).
Abdominal examination (Bowel sounds normal; no bruits. No masses or tenderness. Liver and spleen not
palpable. No hernias.)
Genital examination (Normal external genitalia.)
Rectal examination (Sphinter tone normal. No masses or abnormality. Stool brown; no occult blood.
Prostate normal.)
Extremities/Spine examination (Extremities symmetric without deformity, cyanosis, or clubbing. No
edema. Peripheral pulses normal. No edema. No joint deformity or warmth. Full range of motion. Spine
examination normal.)
Neurologic/Psychologic examination (Mental status normal. Findings on cranial nerve, motor, and
sensory examinations normal. Cerebellar function normal. Deep tendon reflexes normal.)

Now whether you want to have two different tables for male or female exam, it's up to you.
Now here's my thinking, and I'm just brainstorming here because this is complicated. You have 2 things
going on that is changing the lab values and the change in the patient status. I think what will be the best
thing to do is to have all the unique orders have up to 4 different change points which are tied to 4
different time points. These can be left null in which nothing would change. There would also be a
required orders for change, number of required orders for change.
So in unique orders table there could be the following: Initial value (I would enter this if I wanted it to be
abnormal at the beginning of the case - it is allowed to be left blank. If it is blank, then computer will
randomize from normal default value), checkpoint 1, checkpoint 1 time, checkpoint 1 required orders,
Checkpoint 1 required n to change, checkpoint 2, checkpoint 2 time, checkpoint 2 required orders,
checkpoint 2 n to change, etc. So, see example:
Blood Potassium:
Initial value: 2.7
Checkpoint 1 value: 3.0
Checkpoint 1 time: 4 hours (requires 4 hours of time change)
Checkpoint 1 required orders: Order X (X = oral potassium), Order Y (Y = IV potassium)
Checkpoint required n to change (of the orders, how many are required for the labwork to change): 1
(only 1 of the 2 potassium orders is required).

Checkpoints have to be sequential. You cannot move to checkpoint 2 unless passed first to checkpoint 1.
However, this can be an issue if the user speeds up the and goes 1 day for instance and goes through all
4 checkpoints. I'm not sure about this. I guess if the orders are ordered and the time is satisfied, then it
will proceed to the last checkpoint. Not all 4 checkpoints and their times need to be filled in, it can be left
null, in which after the 1st or 2nd checkpoint, there will be no change.

This could also work for checkpoint with patient status. After so many orders done, the patient will
improve. It will help with grading as well, because you can just look at the orders that were not done and
use that for the grading.

Not sure how to account for sequence. How do you grade based on if you order an IV first before giving
IV fluids?

Notes – Sometimes an order will not allow certain things to be done. For example, you can order a
prostate biopsy on a female. These things will have to be taken account of.
Pop-up message – Sometimes when the user orders something that can’t be done or is too generic, like
ordering an antibiotic, a popup will appear saying, “You must order a specific antibiotic and not just use
the term antibiotic.”

Pre-Requisites – Some orders require that other orders be done before these can be done. For example,
if you are going to run a test in the CSF of the brain, you first must acquire the CSF of the brain before
running the test. Thus, if you want to test for a Herpes Simplex virus in the CSF, a lumbar puncture will
be required.

Cannot be ordered at the same time – These are orders that are not allowed to be ordered at the same
time. For example, You can’t order a diabetic diet and a regular diet at the same time. A popup message
will appear saying that you cannot order these items together and give an option to cancel one or the
other. Another example, is that you cannot have a soft neck brace and a hard neck brace on at the same

Invasive? – These are orders that are invasive and painful. This will be used in the grading part of the
program. If you do something invasive like surgery when it could have been managed with medications,
then the user will lose points during the grading process.
Drug Class – This will classify the drugs based on their class. This part of the database is still in progress,
but should be completed soon. This will also be used in the grading. If the patient orders an antibiotic
that isn’t on your grading sheet, you may give half credit if the drug falls into the same class, but not the
specific drug that should be chosen.
This next brings to the search function. The search function will search the database for the exact
phrase. If it doesn’t find the exact phrase, it will search the phrase to the next worse, and if it doesn’t
find anything, it will search to the first word, and if it doesn’t match anything it will search the first 3
letters. For example, if I’m looking for Saline infused sonogram of uterus, it I typed this in, I would just
have one result because it would be a perfect match. However, if I misspelled “infused” to “infsed” so
it’s be “saline infsed sonogram of uterus” it would look first for the phrase “saline infsed sonogram of
uterus” and not find anything, then it would look for “saline infsed sonogram” and not find anything,
then it would look for “saline infsed” and not find anything, then it would look for “saline” and come up
with the results (more or less) seen in the picture above. If I misspelled saline with “salne” it would just
search for the first 3 letters “sal” and bring up the results. If I hit the button “broaden search” it
essentially just looks up the first 3 letters of whatever you typed in.

At the appropriate report time, the lab values will be reported. It will include the normal reference
range. If it’s a non-numerical lab value, it will always be the same result (if it’s normal). For example, if a
patient is being tested for Chlamydia, the test is negative or positive. It will always default to negative
unless specified by the case. However, if it’s a numerical value with a range (i.e. 95-110), then the
program should randomly select a number in between this normal range. (i.e. 103). This will be the first
result reported. However, if the user orders the same result again, it doesn’t make sense to again
randomly select another number (or the lab will be bouncing all over the place). The best would be to
take the first number and randomly select to increase or decrease the number by 1 or 2 points. So if you
ordered a Chloride and the range was between (97-105), the first result would be 100, the second would
be 102, the third could be 99.

Some cases will require the user to enter many different rounds of lab results. For example, with a
patient with Diabetic Ketoacidosis, a Complete blood count is ordered every 4 hours and it is constantly
changing. Not important to know that, just there needs to be an option to add what the results will be
the first time it is tested, the second time (and specify the time that it will change. For example, will the
results change after 1 hour, 4 hours, 12 hours etc). Thus, if there is an abnormal lab value that is ordered
multiple times and it is not time for the second lab test to change, it should also take the first abnormal
lab value and add or subtract 1-2 points randomly until the time passes for the second lab value to be
reported. An example is shown below to clarify:

Glucose level abnormal at 50. Second glucose level should be 70 after 2 hours of giving glucose. If the
user ordered a glucose level after 5 min, it would randomize a 1-2 point addition or subtraction of 50, so
it would be say 52 next. After 2 hours, the glucose would be 70.

Also, there needs to be a way to “trigger” a change in lab values depending on if the user orders
something. For example, if the patient has low glucose like the example above, and the user does not
order a glucose tablet or IV glucose, then the second lab should not be 70, it should stay low. I guess
there should be a pre-requisite option that the result will show if a unique order is done in a certain
amount of time.


Well, that is a detailed overview of how the program works. There need to be a way to enter a case. It
should be relatively easy. Entering the vital signs and case history will be the easy part. Entering the
non-normal lab values and radiological studies will be the challenging thing. I think the best way to do
this (though I am open to suggestions) would be to list the unique order ID and then enter the abnormal
lab value. Lab values as detailed above will be the most challenging. There has to be a way to enter the
abnormal lab values for a unique order, the time (if any) that the lab value will change, any pre-requisite
orders to make it change. Vital signs will also have to change depending on pre-requisites, time.

Also, there needs to be updates that occur throughout the case depending on if there is negative
intervention (doing the wrong stuff) or positive intervention (doing the right stuff). For example, if a
patient is having trouble breathing, if you give him oxygen and albuterol, the patient will give an update
(after a certain period of time, say 2 hours), “I’m feeling a little better.” Versus doing the wrong stuff like
giving the patient Ibuprofen, the patient update would say, “I’m having difficulty breathing. I don’t feel
well.” There should be 3-4 decision tree levels where depending on what is ordered, the patient will get
better or worse. After 3-4 decision tree levels, the case will end. So, if nothing is done for the patient
having trouble breathing after 3 updates, the case will just end (and the user will get a bad score).

Example Case:

I have included an example case which is just a sketch and still needs to be polished, but gives an overall
idea of what is required:

Case #3: Diabetic KetoAcidosis (DKA)

Location: Emergency Room
CC: Abdominal pain and vomiting.

22 year old female presents to the emergency room with abdominal pain, lethargy, and
vomiting x 2 days. She also states that she is having increased urination. Her vomiting is
non-bloody. She had increased appetite before she started to vomit. She states that she is
having blurry vision and feels off balance. This has never happened to her before. She has
diffuse abdominal pain which she rates at a 6/10 pain. She states that she has gone
through an entire bottle of lotion in the last couple days as she cannot keep her skin moist.
She feels drowsy and states that she cannot talk anymore.

Past Medical History: None
Current medications: Birth control
Allergies: None
Vaccinations: Up-to-Date
Women’s health: Patient cannot remember when her last pap smear was done.
Family History: Brother with Diabetes.

Social History:
       Marital/Family: Single. She is an undergraduate student at her local university.
       Personal habits: Patient denies smoking. She drinks socially. Smoked marijuana “a
few times” with her friends. Denies other illicit drugs or misuse of medications.
Occupation/educational: Student at local university
Recreational: Plays the piano. Sings in a band.

Review of systems:
General: See HPI
Skin: Her skin is dry.
HEENT: Her throat is dry.
Cardiorespiratory: She feels that her heart is beating faster.
Gastrointestinal: See HPI
Genitourinary: See HPI
Neuropsychiatric: See HPI

Physical Exam:

Temperature: 98.9°F (37.2°C)
Heart rate: 106
Blood pressure: 114/79 mm Hg
Respirations: 20
Weight: FILL kg (177.4 lb)
Height: 160 cm (5'3")

Gen: Patient appears distressed.
HEENT: Dry mucous membranes
CV: normal rhythm, tachycardic. no m/r/g.
Resp: CTAB
Abd: soft, NT, ND, no guarding
Ext: No edema
Skin: low skin turgor
The rest of Physical Exam normal.

Glucose stick: 615
Anion gap: FILL
ABG: pH = 6.96, pCO2 11.2, Bicarbonate 11
Urine ketones: Positive
Serum ketones: Positive
Beta-hydroxybutyrate: High
Serum Osmolarity: FILL
WBC 15.7, H/H 15/45 Plt 229
NA 132, K 5.2, CL 96, HCO 11, BUN 10, Cr 1.0 Glucose 612, Ca 12.1, Phos 6.6, Mg 2.1
UA: Protein 3+, Large ketones
Serum ketones were 1:16
Serum osmolarity was 323mOsm/kg
Amylase/lipase elevated

Differential: Based on history and glucose, this should be narrowed down to DKA.
However, this could be appendicitis, pancreatitis, intestinal obstruction, drug intoxication,
nonketoic hyperosmolar state.

Negative intervention: Lose points for anything invasive, give steroids, glucose.

6 hours: The patient’s abdominal pain is worsening.
12 hours: The patient is getting less responsive and can’t answer your questions.
24 hours: The patient is unresponsive

Positive intervention: (insulin + re-hydration).
12 hours: The patient states that she is feeling better. Glucose 400.
NA 138, K 4.8, CL 100, HCO3 15, BUN 10, Cr 1.0 Glucose 405, Ca 12.1, Phos 6.6, Mg 2.1
ABG normal.
24 hours: The patient’s vision has improved. She feels great. Glucose 200.
NA 139, K 5.0, CL 110, HCO 23, BUN 10, Cr 1.0 Glucose 211, Ca 12.1, Phos 6.6, Mg 2.1
ABG normal.
48 hours: Pt feels like normal. She would like to go home. Glucose 130.
Normal Levels.
End case.

Diagnosis: The following lab tests should be ordered to rule out other tests:
urine culture,
X-ray Chest Portable

Will not lose points: Urine tox screen, CT scan abdomen

Management: IV NS, however, When the blood glucose level has dropped below 250 mg
per dL, the patient may be given fluid with 5 percent dextrose, such as 0.45 normal saline. If
dextrose is not given, further ketosis may occur.
Give Potassium (even if levels are normal)
Insulin drip
Pulse oximetry, stat and continuous
Oxygen, inhalation, continuous
IV access, stat
Cardiac monitor, stat
Normal saline, 0.9% NaCI, continuous, stat (This patient is severely dehydrated. She is
hypotensive and tachycardic. So, she needs IV fluids.)
Finger stick glucose, stat
Serum amylase, stat
Serum lipase, stat
Serum osmolality, stat
Serum ketones, qualitative, stat
Blood culture
Regular insulin, IV, continuous
Phenergan, IV, one time (for nausea)
Discontinue oxygen
Admit the patient to the intensive care unit
Bed rest
Vitals as per ICU protocol
Urine output
KCI, IV, continuous
HbAlC level, routine
Phosphorous, serum, stat (optional)
Follow the patient with
1. BMP Q 2-4 hours, then Q 8-12hours, then Q day
2. ABG Q 2 hours x2
After glucocose < 250
1. Stop 0.9% NS and give 1/2 Normal saline, IV, continuous
Monitor potassium deficiency and add IV potassium chloride as needed
Consider antibiotics if the precipitating cause is an infection, get a chest X-ray, obtain blood
cultures, U/A and urine cultures.
Once nausea is decreased, start oral fluids.
Once the patient is stabilized transfer to ward/floor.

During discharge:
D/C IV insulin, IV fluids, cardiac monitor
NPH insulin, subcutaneous, continuous
Regular insulin, subcutaneous, continuous
Diabetic diet (Diet, American diabetic association)
Advance diet

Diabetic teaching
Patient education, diabetes
Diabetic foot care
Home glucose monitoring, instruct patient
No alcohol
No smoking
Safe sex
No illegal drug use
Regular exercise
Seat belts use

Health Maintenance: Pap smear.

You can make this Diagnosis of DKA based on the glucose levels ( > 250 mg/dl), elevated
anion gap, ketonemia

Hyperosmolar hyperglycemia usually has a glucose greater than 600 mg/dl, and a resulting
serum osmolarity that is greater than 320 mOsm. This leads to polyuria (excessive
urination, an osmotic diuresis), which, in turn, leads to volume depletion and
hemoconcentration that causes a further increase in blood glucose level. Ketosis is absent
because the presence of some insulin inhibits lipolysis.

Hydration: Patients with DKA are severely dehydrated. Give NS continuously until the
patient’s Blood glucose is < 250. Then give ½ NS with glucose to avoid hypoglycemia.

Is it important to rule out possible precipitants of DKA. Doing a Urine culture, chest x-ray,
blood culture is a good idea.

Do not replete bicarbonate unless pH < 7 or if there is cardiac instability.

Only give P04 if < 1.

Potassium should be given - Potassium should be started as soon as adequate urine output is confirmed
and the potassium level is less than 5 mEq per L. Give 20-40 mEq.


I believe this will be the most challenging part of the program. There needs to be a way to put in the
“correct” or a list of correct unique orders to correctly manage the patient and then compare them to
what the user does. I believe the grading should be broken down into 3 different categories: Diagnosis,
Management, Health Maintenance/Counseling.

Diagnosis is just the unique orders the user did to not only diagnose the condition but also rule out
other conditions (X-rays, biopsies, procedures to obtain diagnostic fluid, lab tests). A subcategory of this
should be timing. How long does it take to diagnose the patient. If the patient still feels bad (trigged the
negative intervention), the user will lose points.

Management is the unique orders to treat the patient’s condition (blood transfusion, IV fluids,
antibiotics, surgery, consulting specialists, etc). A subcategory of this should be timing. How long does it
take to manage the patient and resolve this condition. Again, if the patient still feels bad, the user will
lose points (not always though, sometimes the patient will feel bad even when doing everything

Health maintenance is the things that the patient needs to get done that do not relate to the case
(Colonoscopy for people >50 years old, immunizations up-to-date, etc)

Counseling is the counseling the doctor does to the patient. To tell them to stop smoking, use condoms,
wear seatbelts, etc.

The tricky part is that it will not be possible to list every possible test that user might do. Thus, the
invasive status of the test. If the user does an invasive test which can otherwise be diagnosed with a
non-invasive test, then the user will lose points. If the user does some tests which are non-invasive, but
normal, then the user will not lose or gain any points.

There should be the ability to weigh each case differently. For example, in the emergency room,
sometimes the most important thing of the case is rapid diagnosis and rapid treatment such as in a
medical emergency (tension pneumothorax). However, in other outpatient cases such as in the office, a
more thorough workup is warranted. I am open to suggestions about this, but I think that each case in
each category (diagnosis, management, and health maintenance/counseling), the point system should
change from case to case. Some cases might have a possibility of 20 points in the diagnosis and other
cases have 0 points (the diagnosis is given). Sometimes the management will have 0 possible points (the
case will end after the correct diagnosis is reached).

The patient will lose points if certain drug categories are given if not warranted. Thus, if a user gives a
patient a chemotherapy drug and they do not have cancer, they would lose points, or an antibiotic and
they don’t have an infection (and there are no signs of infection), then they’d lose points.

There will have to be a section that states: these are the orders that most likely will not affect your score
(then list all the orders that were done that will most likely not affect their score).


There are a couple of things that I would like added that is not on the current practice program. First is a
feedback button. The user can click on this and tell me if they think there is a problem or inconsistency
with the case. It will just email/send this information to my server.

Update option. The user should be able to hit the update button that will go to my server and update
their current cases (if typos are found in case description or if abnormal labs/studies need to be edited,
etc). Also, it should be able to download new cases as I slowly increase the number of cases in the
program. The update process shouldn’t delete their grades or feedback.

To top