Skip to content

Patient Profile

Canonical../StructureDefinition/nexus-emr-core-patient
Statusdraft · 1.26.0
BasePatient (constraint)
SourceFSH · JSON

Generic Nexus EMR core profile for patient demographic and administrative information, based on CA Core+. Designed to support a broad range of integration needs.

Salient fields

The profile's synthesized-accessor contract: fields TypedFhir surfaces as first-class typed properties, each computed from the instance by a restricted FHIRPath expression. See Salient Fields for what they are, how they shape LLM contexts, and how to declare them.

Key Type Expression Rendered as Description
given_name string name.first().given.first() Given names (not always 'first') i
middle_name string name.first().given.tail().join(' ') Given names (not always 'first') i
family_name string name.first().family Family name (often called 'Surname') i
gender code gender Administrative gender (male | female | other | unknown) i
birth_date dateTime birthDate The date of birth for the patient i
phone string telecom.where(system='phone').first().value Contact details for the patient i
email string telecom.where(system='email').first().value Contact details for the patient i

given_name

Short Given names (not always 'first')
Definition Given name(s) including first name, middle names, initials. The first given name is typically used as the primary given name.
Comments If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
Expression name.first().given.first()
Type string
Prose inherited from Patient.name.given

middle_name

Short Given names (not always 'first')
Definition Given name(s) including first name, middle names, initials. The first given name is typically used as the primary given name.
Comments If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.
Expression name.first().given.tail().join(' ')
Type string
Prose inherited from Patient.name.given

family_name

Short Family name (often called 'Surname')
Definition The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a child is the given name of their father.
Comments Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).
Expression name.first().family
Type string
Prose inherited from Patient.name.family

gender

Short Administrative gender (male | female | other | unknown)
Definition Administrative gender used for identification and administrative purposes. When absent, gender is unknown. Note that this may cause challenges with patient matching algorithms. This is distinct from birth sex and clinical sex parameters which may be captured in extensions.
Comments The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex.
Expression gender
Type code
Prose inherited from Patient.gender

birth_date

Short The date of birth for the patient
Definition The date of birth for the patient. When absent, birth date is unknown. Note that missing birth dates may impact patient matching accuracy and age-based clinical decision support. Partial dates (year or year-month only) are permitted when full date is unknown.
Comments At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems).
Expression birthDate
Type dateTime
Prose inherited from Patient.birthDate

phone

Short Contact details for the patient
Definition Contact details (telephone, email, etc.) for the patient. May include phone numbers, email addresses, and other electronic communication methods. Systems should capture the use (home, work, mobile) and preference ranking when available.
Comments A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).
Expression telecom.where(system='phone').first().value
Type string
Prose inherited from Patient.telecom

email

Short Contact details for the patient
Definition Contact details (telephone, email, etc.) for the patient. May include phone numbers, email addresses, and other electronic communication methods. Systems should capture the use (home, work, mobile) and preference ranking when available.
Comments A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).
Expression telecom.where(system='email').first().value
Type string
Prose inherited from Patient.telecom