Patient Data Checkpoints

AngelTrack stores patient data as a series of checkpoints, showing the patient's demographic and billing information as it changes over time. Each week a new checkpoint taken, applying to all patient interactions for that week.

John Doe
Global Data (appears in all runs) Checkpointed Data
  • Name
  • Social Security number
  • Warning message (shown to dispatchers and crews)
  • Residence facility and room number
  • Gender
  • Race
  • Date of birth
  • Drivers license number and issuing state
  • Home address, phone number, and email address
  • Next of kin name, address, and phone number
  • Is bariatric?
  • Requires oxygen?
Checkpoint 1 (Jan 1-Jan 7)
  • Height and weight
  • DNR order?
  • Medical history
  • Current medications
  • Allergies
  • Primary insurance
  • Secondary insurance
Checkpoint 2 (Jan 8-Jan 14)
  • Height and weight
  • DNR order?
  • Medical history
  • Current medications
  • Allergies
  • Primary insurance
  • Secondary insurance
Checkpoint 3 (Jan 15-Jan 22)
  • Height and weight
  • DNR order?
  • Medical history
  • Current medications
  • Allergies
  • Primary insurance
  • Secondary insurance
Checkpoint 4 (Jan 23-Jan 30)
  • Height and weight
  • DNR order?
  • Medical history
  • Current medications
  • Allergies
  • Primary insurance
  • Secondary insurance
And so on...

The global data -- in the left-hand column shown above -- is the information that never changes. Or if it does change (such as when correcting a mistake), the change applies retroactively to every one of the patient's dispatches.

The checkpointed data -- in the right-hand column -- is everything that does change over time. A separate copy is stored for every week that the patient was seen. Changes to the information during that week are not applied to patient interactions prior to that week... but changes are carried forward into the future.

Why are allergies checkpointed?

You may be wondering why the "Allergies" field is checkpointed, even though allergies don't change over time.

The reason why is because although the allergies themselves don't change over time, the crews' knowledge of them does. On the first visit, the allergy data may be unavailable, and so the crew does not know what allergies the patient has. If that data becomes available during a later visit, it will be stored in the later checkpoint rather than being stored globally, so as not to cast the first crew's medical decisions in an unfair light: they might've administered a medication that was only later discovered to cause an allergic reaction.


A Checkpoint Every Monday

Each checkpoint applies to a one-week period starting Monday morning and ending seven days later (Sunday night). A checkpoint is collected for a given week if the patient is seen at any time during that week. The created checkpoint then applies to any other visits for that patient the same week.

Checkpoints are also taken every January 1st and July 1st, no matter what day of the week it lands on, because insurance coverage frequently changes on those dates. So, a patient seen several times a week will have checkpoints like this:

Patient data checkpoints on a calendar


For Example

To see how the checkpoint system works in practice, imagine a patient who is transported three times a week:

Dates of Interaction Checkpoint Used Example Data
Monday, January 3 Monday, January 3 Primary insurance:
Cigna
Wednesday, January 5
Friday, January 7

Therefore, changes to checkpointed patient information -- for example, to the patient's phone number -- apply to all three calls during the relevant week.

The next week, a new checkpoint is taken, and automatically populated with data from the preceding checkpoint:

Dates of Interaction Checkpoint Used Example Data
Monday, January 3 Monday, January 3 Primary insurance:
Cigna
Wednesday, January 5
Friday, January 7
Monday, January 10 Monday, January 10 Primary insurance:
Cigna
Wednesday, January 12
Friday, January 14

Suppose the patient is serviced again the week after... When the new checkpoint is created, it is automatically populated from the preceding checkpoint, as we know. But now suppose that there is a change -- in this example, suppose the patient's primary insurance changes:

Dates of Interaction Checkpoint Used Example Data
Monday, January 3 Monday, January 3 Primary insurance:
Cigna
Wednesday, January 5
Friday, January 7
Monday, January 10 Monday, January 10 Primary insurance:
Cigna
Wednesday, January 12
Friday, January 14
Monday, January 17 Monday, January 17 Primary insurance:
Aetna
Wednesday, January 19
Friday, January 21

That change applies to all records created that week, but it does not apply to earlier records, which in this example still carry the original primary insurance.
If the change was made to the latest checkpoint, it is then automatically carried forward into the future as new checkpoints are taken:

Dates of Interaction Checkpoint Used Example Data
Monday, January 3 Monday, January 3 Primary insurance:
Cigna
Wednesday, January 5
Friday, January 7
Monday, January 10 Monday, January 10 Primary insurance:
Cigna
Wednesday, January 12
Friday, January 14
Monday, January 17 Monday, January 17 Primary insurance:
Aetna
Wednesday, January 19
Friday, January 21
Monday, January 24 Monday, January 24 Primary insurance:
Aetna
Wednesday, January 26
Friday, January 28

Now suppose a biller is updating an older report, and he changes the primary insurance:

Dates of Interaction Checkpoint Used Example Data
Monday, January 3 Monday, January 3 Primary insurance:
Cigna
Wednesday, January 5
Friday, January 7
Monday, January 10 Monday, January 10 Primary insurance:
UnitedHealthcare
Wednesday, January 12
Friday, January 14
Monday, January 17 Monday, January 17 Primary insurance:
Aetna
Wednesday, January 19
Friday, January 21
Monday, January 24 Monday, January 24 Primary insurance:
Aetna
Wednesday, January 26
Friday, January 28

That change applies to all three calls for the week of January 10, but it is not carried forward to the records of later weeks. Certainly, crew members and billers can make any changes they wish to the later records; the point is that changes to earlier records are not automatically applied to later records once the later records have been checkpointed.


Modifying Several Checkpoints Simultaneously

Over time, every patient will develop a series of checkpoints, representing the patient's changing health and insurance information. If there is a mistake or omission in an early checkpoint, it will be carried onward to future checkpoints, until eventually caught and corrected.

In that situation, it would be annoying if every affected checkpoint needed to be changed manually. For example, suppose that the patient's insurance information contains a typo, and the typo was not caught for two months (when the insurance claims bounced). During that two-month period, the patient was seen at least once a week, and therefore accumulated a progression of snapshots, each containing the original typo.

This is easy to correct. In the Patient Edit page on the "Billing" tab you may elect to apply a change to a whole range of checkpoints:

Apply to multiple checkoints

This allows you to apply new or corrected insurance information across all affected checkpoints, all the way back to the first effective date of the policy.


Automatic Backwards Propagation of Missing Insurance Data

When insurance information is eventually typed in for a patient, that information is automatically applied to any older checkpoints that lacked it.

More specifically: when any crew member or biller updates a patient record and sets the "Primary Insurance Type" type to something other than "[Not recorded]", the new insurance information is saved to:

In this way, when a patient's insurance information is late arriving, the biller is saved the chore of copying the information over to the patient's older checkpoints. When the crew types the information in to the current checkpoint, the older ones are filled in too with no manual intervention.



AngelTrack Help Index - AngelTrack Support