View raw Markdown
type: resource-definitionsresource: Patient

Patient Definitions

<a id="Patient"></a>

Patient

Information about an individual or animal receiving health care services

Definition: Demographics and other administrative information about an individual or animal that is the subject of potential, past, current, or future health-related care, services, or processes.

Aliases: SubjectOfCare Client Resident

Cardinality: 0..*

Mappings: rim=Patient[classCode=PAT]; interface=ParticipantLiving; cda=ClinicalDocument.recordTarget.patientRole; w5=administrative.individual; dicom=DICOM Tag Mapping

<a id="Patient.identifier"></a>

Patient.identifier

An identifier for this patient

Definition: An identifier for this patient.

Comments: Systems MAY use identifier for user identities (using the type='USER'). Refer to the Security and Privacy section for additional guidance on representing user identities.

Requirements: Patients are almost always assigned specific numerical identifiers.

Cardinality: 0..*

Type: Identifier

Summary: true

Mappings: w5=FiveWs.identifier; v2=PID-3; rim=id; interface=Participant.identifier; cda=.id; dicom=Patient Identifier (0010,0020)

<a id="Patient.active"></a>

Patient.active

Whether this patient's record is in active use

Definition: Whether this patient record is in active use. Many systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules.

It is often used to filter patient lists to exclude inactive patients

Deceased patients may also be marked as inactive for the same reasons, but may be active for some time after death.

Comments: If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.

Requirements: Need to be able to mark a patient record as not to be used because it was created in error.

Meaning if Missing: This resource is generally assumed to be active if no value is provided for the active element

Cardinality: 0..1

Type: boolean

Summary: true

Is Modifier: true (Reason: This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid)

Mappings: w5=FiveWs.status; rim=statusCode; interface=Participant.active; cda=n/a

<a id="Patient.name"></a>

Patient.name

A name associated with the patient

Definition: A name associated with the individual.

Comments: A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. Animal names may be communicated as given names, and optionally may include a family name.

Requirements: Need to be able to track the patient by multiple names. Examples are your official name and a partner name.

Cardinality: 0..*

Type: HumanName

Summary: true

Mappings: v2=PID-5, PID-9; rim=name; interface=Participant.name; cda=.patient.name; dicom=Patient Name (0010,0010) and Person Names to Use Sequence (0010,0011)

<a id="Patient.telecom"></a>

Patient.telecom

A contact detail for the individual

Definition: A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.

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).

DO NOT use .telecom properties to represent user identities. Refer to the Security and Privacy section for additional guidance on representing user identities.

Requirements: People have (primary) ways to contact them in some way such as phone, email.

Cardinality: 0..*

Type: ContactPoint

Summary: true

Mappings: v2=PID-13, PID-14, PID-40; rim=telecom; interface=ParticipantContactable.telecom; cda=.telecom

<a id="Patient.gender"></a>

Patient.gender

male | female | other | unknown

Definition: Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.

See the Patient Gender and Sex section for additional information about communicating patient gender and sex.

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.

Requirements: Needed for identification of the individual, in combination with (at least) name and birth date.

Cardinality: 0..1

Type: code

Binding: required:administrative-gender

Summary: true

Mappings: v2=PID-8; rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender; interface=ParticipantLiving.gender; cda=.patient.administrativeGenderCode; dicom=Patient's Sex (0010,0040)

<a id="Patient.birthDate"></a>

Patient.birthDate

The date of birth for the individual

Definition: The date of birth for the individual.

Comments: Partial dates are allowed if the specific date of birth 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).

Requirements: Age of the individual drives many clinical processes.

Cardinality: 0..1

Type: date

Summary: true

Mappings: v2=PID-7; rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime; interface=ParticipantLiving.birthDate; cda=.patient.birthTime; loinc=21112-8; dicom=Patient's Birth Date (0010,0030)

<a id="Patient.deceased[x]"></a>

Patient.deceased[x]

Indicates if/when the individual is deceased

Definition: Indicates the date when the individual died, or, if the date is not known or cannot be estimated, a flag indicating the patient is known to be deceased.

Comments: If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.

Requirements: The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.

Cardinality: 0..1

Type: boolean, dateTime

Summary: true

Is Modifier: true (Reason: This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.)

Mappings: v2=PID-30 (bool) and PID-29 (datetime); rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime; cda=n/a; dicom=Patient's Death Date in Alternative Calendar (0010,0034)

<a id="Patient.address"></a>

Patient.address

An address for the individual

Definition: An address for the individual.

Comments: Patient may have multiple addresses with different uses or applicable periods.

Requirements: May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.

Cardinality: 0..*

Type: Address

Summary: true

Mappings: v2=PID-11; rim=addr; interface=ParticipantContactable.address; cda=.addr

<a id="Patient.maritalStatus"></a>

Patient.maritalStatus

Marital (civil) status of a patient

Definition: This field contains a patient's most recent marital (civil) status.

Requirements: Most, if not all systems capture it.

Cardinality: 0..1

Type: CodeableConcept

Binding: extensible:marital-status

Mappings: v2=PID-16; rim=player[classCode=PSN]/maritalStatusCode; cda=.patient.maritalStatusCode

<a id="Patient.multipleBirth[x]"></a>

Patient.multipleBirth[x]

Whether patient is part of a multiple birth

Definition: Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer). This count is relative to the total of live births and fetal losses, which MAY be tracked in the patient-multipleBirthTotal extension.

The boolean option for this property can also be used to track that there are known to be multiple fetuses prior to birth.

Comments: Where the valueInteger is provided, the number is the birth number in the sequence.

E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3. If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated).

valueBoolean can be used to track fetuses. valueInteger should only be used after live birth.

Requirements: For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.

Cardinality: 0..1

Type: boolean, integer

Mappings: v2=PID-24 (bool), PID-25 (integer); rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber; cda=n/a

<a id="Patient.photo"></a>

Patient.photo

Image of the patient

Definition: Image of the patient.

Comments: Guidelines:

Requirements: Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.

Cardinality: 0..*

Type: Attachment

Mappings: v2=OBX-5 - needs a profile; rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc; interface=ParticipantLiving.photo; cda=n/a

<a id="Patient.contact"></a>

Patient.contact

A contact party (e.g. guardian, partner, friend) for the patient

Definition: A contact party (e.g. guardian, partner, friend) for the patient.

Comments: Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.

Requirements: Need to track people you can contact about the patient.

Cardinality: 0..*

Type: BackboneElement

Constraints: pat-1 | error | SHALL at least contain a contact's details or a reference to an organization | name.exists() or telecom.exists() or address.exists() or organization.exists()

Mappings: rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]; cda=n/a

<a id="Patient.contact.relationship"></a>

Patient.contact.relationship

The kind of personal relationship

Definition: The nature of the personal relationship between the patient and the contact person.

Comments: This property is for personal relationships. Functional relationships would be represented in Patient.contact.role.

Requirements: Used to determine the nature of the personal relationship between the patient and the contact person.

Cardinality: 0..*

Type: CodeableConcept

Binding: preferred:v3-PersonalRelationshipRoleType

Mappings: v2=NK1-7, NK1-3; rim=code; cda=n/a

<a id="Patient.contact.role"></a>

Patient.contact.role

The kind of functional role

Definition: The nature of the functional role between the patient and the contact person.

Comments: This property is for functional relationships. Personal relationships would be represented in Patient.contact.relationship.

Requirements: Used to determine which contact person is the most relevant to approach, depending on circumstances.

Cardinality: 0..*

Type: CodeableConcept

Binding: preferred:relatedperson-relationshiptype

Mappings: v2=NK1-7, NK1-3; rim=code; cda=n/a

<a id="Patient.contact.name"></a>

Patient.contact.name

A name associated with the contact person

Definition: A name associated with the contact person. Alternate/additional names for this contact can be found in the additionalName property.

Requirements: Contact persons need to be identified by name. Where multiple names are required, such as legal name and usual (Name to Use) name, also refer to the additionalName property.

Conditions: pat-1

Cardinality: 0..1

Type: HumanName

Mappings: v2=NK1-2; rim=name; cda=n/a

<a id="Patient.contact.additionalName"></a>

Patient.contact.additionalName

Additional names for the contact person

Definition: Additional names for the contact person.

Comments: To maintain backward compatibility, additionalName was added as a way to express names beyond the single name that can be represented in Patient.contact.name.

When looking for an name of a given type, implementers should inspect both Patient.contact.name and Patient.contact.additionalName, and treat those two properties as a single combined logical list of names.

Cardinality: 0..*

Type: HumanName

Mappings: v2=NK1-2; rim=name; cda=n/a

<a id="Patient.contact.telecom"></a>

Patient.contact.telecom

A contact detail for the person

Definition: A contact detail for the person, e.g. a telephone number or an email address.

Comments: Contact 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.

Requirements: People have (primary) ways to contact them in some way such as phone, email.

Conditions: pat-1

Cardinality: 0..*

Type: ContactPoint

Mappings: v2=NK1-5, NK1-6, NK1-40; rim=telecom; cda=n/a

<a id="Patient.contact.address"></a>

Patient.contact.address

Address for the contact person

Definition: Address for the contact person. Alternate/additional addresses for this contact can be found in the additionalAddress property.

Requirements: Need to keep track where the contact person can be contacted per postal mail or visited.

Conditions: pat-1

Cardinality: 0..1

Type: Address

Mappings: v2=NK1-4; rim=addr; cda=n/a

<a id="Patient.contact.additionalAddress"></a>

Patient.contact.additionalAddress

Additional addresses for the contact person

Definition: Additional addresses for the contact person.

Comments: To maintain backward compatibility, additionalAddress was added as a way to express addresses beyond the single address that can be represented in Patient.contact.address.

When looking for an address of a given type, implementers should inspect both Patient.contact.address and Patient.contact.additionalAddress, and treat those two properties as a single combined logical list of addresses.

Requirements: Need to keep track where the contact person can be contacted per postal mail or visited.

Cardinality: 0..*

Type: Address

Mappings: v2=NK1-4; rim=addr; cda=n/a

<a id="Patient.contact.gender"></a>

Patient.contact.gender

male | female | other | unknown

Definition: Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.

Requirements: Needed to address the person correctly.

Cardinality: 0..1

Type: code

Binding: required:administrative-gender

Mappings: v2=NK1-15; rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender; cda=n/a

<a id="Patient.contact.organization"></a>

Patient.contact.organization

Organization that is associated with the contact

Definition: Organization on behalf of which the contact is acting or for which the contact is working.

Requirements: For guardians or business related contacts, the organization is relevant.

Conditions: pat-1

Cardinality: 0..1

Type: Reference(Organization)

Mappings: v2=NK1-13, NK1-30, NK1-31, NK1-32, NK1-41; rim=scoper; cda=n/a

<a id="Patient.contact.period"></a>

Patient.contact.period

The period during which this contact person or organization is valid to be contacted relating to this patient

Definition: The period during which this contact person or organization is valid to be contacted relating to this patient.

Cardinality: 0..1

Type: Period

Mappings: rim=effectiveTime; cda=n/a

<a id="Patient.communication"></a>

Patient.communication

A language which may be used to communicate with the patient about his or her health

Definition: A language which may be used to communicate with the patient about his or her health.

Comments: If no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.

Requirements: If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest.

Cardinality: 0..*

Type: BackboneElement

Mappings: rim=LanguageCommunication; interface=ParticipantLiving.communication; cda=patient.languageCommunication

<a id="Patient.communication.language"></a>

Patient.communication.language

The language which can be used to communicate with the patient about his or her health

Definition: The language which may be used to communicate with the individual.

Comments: The language is commonly represented using the ISO-639-1 alpha code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha code for the region in upper case. For example, "en" for English, or "en-US" for American English versus "en-AU" for Australian English, sgn-US for American Sign Language, sgn-NL for Dutch Sign Language, etc.

Not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Requirements: Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.

Cardinality: 1..1

Type: CodeableConcept

Binding: required:all-languages

Mappings: v2=PID-15, LAN-2; rim=player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code; cda=.languageCode

<a id="Patient.communication.preferred"></a>

Patient.communication.preferred

Language preference indicator

Definition: Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).

Comments: This language is specifically identified for communicating healthcare information.

Requirements: People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.

Cardinality: 0..1

Type: boolean

Mappings: v2=PID-15; rim=preferenceInd; cda=.preferenceInd

<a id="Patient.generalPractitioner"></a>

Patient.generalPractitioner

Patient's nominated primary care provider

Definition: Patient's nominated care provider.

Comments: This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues.

Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.

Aliases: careProvider

Cardinality: 0..*

Type: Reference(Organization, Practitioner, PractitionerRole)

Mappings: v2=PD1-4; rim=subjectOf.CareEvent.performer.AssignedEntity; cda=n/a

<a id="Patient.managingOrganization"></a>

Patient.managingOrganization

Organization that is the custodian of the patient record

Definition: Organization that is the custodian of the patient record.

Comments: There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).

Requirements: Need to know who recognizes this patient record, manages and updates it.

Cardinality: 0..1

Type: Reference(Organization)

Summary: true

Mappings: rim=scoper; cda=.providerOrganization

<a id="Patient.link"></a>

Link to a Patient or RelatedPerson resource that concerns the same actual individual

Definition: Link to a Patient or RelatedPerson resource that concerns the same actual individual.

Comments: There is no assumption that linked patient records have mutual links.

Requirements: There are multiple use cases:

Cardinality: 0..*

Type: BackboneElement

Summary: true

Is Modifier: true (Reason: This element is labeled as a modifier because it might not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by')

Mappings: rim=outboundLink; cda=n/a

<a id="Patient.link.other"></a>

Patient.link.other

The other patient or related person resource that the link refers to

Definition: Link to a Patient or RelatedPerson resource that concerns the same actual individual.

Comments: Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.

Cardinality: 1..1

Type: Reference(Patient, RelatedPerson)

Summary: true

Mappings: v2=PID-3, MRG-1; rim=id; cda=n/a

<a id="Patient.link.type"></a>

Patient.link.type

replaced-by | replaces | refer | seealso

Definition: The type of link between this patient resource and another patient resource.

Cardinality: 1..1

Type: code

Binding: required:link-type

Summary: true

Mappings: rim=typeCode; cda=n/a