Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Patient Identifiers

Patient Identifiers

A patient in JupyterHealth Exchange (JHE) is referred to by three different identifiers. They are easy to confuse because all three are sometimes loosely called an “ID”, but each means something different and is used in different places. Mixing them up is a common source of integration bugs, so always be explicit about which one you mean.

IdentifierWhat it isHow many per patientWhere you see it
Patient IDThe primary key of the Patient record in JHEExactly oneFHIR Patient/{id} references, REST /api/v1/patients/{id}, the admin Patients list
User ID (jheUserId)The primary key of the JheUser login account linked to the patientZero or oneThe Observations displays (jhe-admin and Django admin), the users/profile response
External IDAn identifier the patient is known by in an outside system (for example an EHR MRN)Zero or moreFHIR Patient.identifier, the admin Patients list, identifier-based search

Patient ID

The Patient ID is the database primary key of the Patient record. It is JHE’s canonical handle for a patient and is what most of the system uses internally.

User ID (jheUserId)

The User ID is the primary key of the JheUser account that the patient logs in with. It is not the same number as the Patient ID: the Patient record is the clinical/data record, while the JheUser is the login account behind it.

External ID

An External ID is an identifier the patient is already known by in another system, such as a medical record number (MRN) from an EHR. JHE stores these as PatientIdentifier rows, each a system (a URI naming the issuing system) plus a value.

Which one should I use?