Data Model Libraries
    Preparing search index...

    Patient Class

    Demographics and other administrative information about an individual or animal receiving care or other health-related services.

    Tracking patient is the center of the healthcare process.

    FHIR Specification

    • Short: Information about an individual or animal receiving health care services
    • Definition: Demographics and other administrative information about an individual or animal receiving care or other health-related services.
    • FHIR Version: 4.3.0

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    parse getIdentifier setIdentifier addIdentifier hasIdentifier getActiveElement setActiveElement hasActiveElement getActive setActive hasActive getName setName addName hasName getTelecom setTelecom addTelecom hasTelecom getGenderEnumType setGenderEnumType hasGenderEnumType getGenderElement setGenderElement hasGenderElement getGender setGender hasGender getBirthDateElement setBirthDateElement hasBirthDateElement getBirthDate setBirthDate hasBirthDate getDeceased setDeceased hasDeceased getDeceasedBooleanType hasDeceasedBooleanType getDeceasedDateTimeType hasDeceasedDateTimeType getAddress setAddress addAddress hasAddress getMaritalStatus setMaritalStatus hasMaritalStatus getMultipleBirth setMultipleBirth hasMultipleBirth getMultipleBirthBooleanType hasMultipleBirthBooleanType getMultipleBirthIntegerType hasMultipleBirthIntegerType getPhoto setPhoto addPhoto hasPhoto getContact setContact addContact hasContact getCommunication setCommunication addCommunication hasCommunication getGeneralPractitioner setGeneralPractitioner addGeneralPractitioner hasGeneralPractitioner getManagingOrganization setManagingOrganization hasManagingOrganization getLink setLink addLink hasLink fhirType isEmpty copy toJSON getText setText hasText getContained setContained addContained hasContained getExtension setExtension hasExtension getExtensionByUrl addExtension removeExtension getModifierExtension setModifierExtension hasModifierExtension getModifierExtensionByUrl addModifierExtension removeModifierExtension resourceType getIdElement setIdElement hasIdElement getId setId hasId getMeta setMeta hasMeta getImplicitRulesElement setImplicitRulesElement hasImplicitRulesElement getImplicitRules setImplicitRules hasImplicitRules getLanguageElement setLanguageElement hasLanguageElement getLanguage setLanguage hasLanguage isResource isRequiredFieldsEmpty isDataType isComplexDataType isPrimitive isBooleanPrimitive isStringPrimitive isNumberPrimitive isBigIntPrimitive isDateTimePrimitive copyValues initIdentifier initName initTelecom initAddress initPhoto initContact initCommunication initGeneralPractitioner initLink

    Constructors

    Properties

    identifier?: Identifier[]

    Patient.identifier Element

    FHIR Specification

    • Short: An identifier for this patient
    • Definition: An identifier for this patient.
    • Requirements: Patients are almost always assigned specific numerical identifiers.
    • FHIR Type: Identifier
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    active?: BooleanType

    Patient.active Element

    FHIR Specification

    • Short: 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.
    • Comment: 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.
    • FHIR Type: boolean
    • Cardinality: 0..1
    • isModifier: true
    • isModifierReason: 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
    • isSummary: true
    name?: HumanName[]

    Patient.name Element

    FHIR Specification

    • Short: A name associated with the patient
    • Definition: A name associated with the individual.
    • Comment: 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.
    • Requirements: Need to be able to track the patient by multiple names. Examples are your official name and a partner name.
    • FHIR Type: HumanName
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    telecom?: ContactPoint[]

    Patient.telecom Element

    FHIR Specification

    • Short: 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.
    • Comment: 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).
    • Requirements: People have (primary) ways to contact them in some way such as phone, email.
    • FHIR Type: ContactPoint
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    administrativeGenderEnum: AdministrativeGenderEnum

    FHIR CodeSystem: AdministrativeGender

    gender?: EnumCodeType

    Patient.gender Element

    FHIR Specification

    • Short: male | female | other | unknown
    • Definition: Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
    • Comment: 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.
    • Requirements: Needed for identification of the individual, in combination with (at least) name and birth date.
    • FHIR Type: code
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true

    CodeSystem Enumeration: AdministrativeGenderEnum

    birthDate?: DateType

    Patient.birthDate Element

    FHIR Specification

    • Short: The date of birth for the individual
    • Definition: The date of birth for the individual.
    • Comment: 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).
    • Requirements: Age of the individual drives many clinical processes.
    • FHIR Type: date
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    deceased?: IDataType

    Patient.deceased[x] Element

    @ChoiceDataTypesMeta('Patient.deceased[x]', ['boolean','dateTime',]

    FHIR Specification

    • Short: Indicates if the individual is deceased or not
    • Definition: Indicates if the individual is deceased or not.
    • Comment: 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.
    • FHIR Types: 'boolean', 'dateTime',
    • Cardinality: 0..1
    • isModifier: true
    • isModifierReason: 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.
    • isSummary: true
    address?: Address[]

    Patient.address Element

    FHIR Specification

    • Short: An address for the individual
    • Definition: An address for the individual.
    • Comment: 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.
    • FHIR Type: Address
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    maritalStatus?: CodeableConcept

    Patient.maritalStatus Element

    FHIR Specification

    • Short: 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.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    multipleBirth?: IDataType

    Patient.multipleBirth[x] Element

    @ChoiceDataTypesMeta('Patient.multipleBirth[x]', ['boolean','integer',]

    FHIR Specification

    • Short: 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).
    • Comment: 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).
    • Requirements: For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.
    • FHIR Types: 'boolean', 'integer',
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    photo?: Attachment[]

    Patient.photo Element

    FHIR Specification

    • Short: Image of the patient
    • Definition: Image of the patient.
    • Comment: Guidelines: * Use id photos, not clinical photos. * Limit dimensions to thumbnail. * Keep byte count low to ease resource updates.
    • Requirements: Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.
    • FHIR Type: Attachment
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Patient.contact Element

    FHIR Specification

    • Short: A contact party (e.g. guardian, partner, friend) for the patient
    • Definition: A contact party (e.g. guardian, partner, friend) for the patient.
    • Comment: 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.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Patient.communication Element

    FHIR Specification

    • Short: 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.
    • Comment: 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.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    generalPractitioner?: Reference[]

    Patient.generalPractitioner Element

    FHIR Specification

    • Short: Patient's nominated primary care provider
    • Definition: Patient's nominated care provider.
    • Comment: 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.
    • FHIR Type: Reference
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    managingOrganization?: Reference

    Patient.managingOrganization Element

    FHIR Specification

    • Short: Organization that is the custodian of the patient record
    • Definition: Organization that is the custodian of the patient record.
    • Comment: 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.
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true

    Patient.link Element

    FHIR Specification

    • Short: Link to another patient resource that concerns the same actual person
    • Definition: Link to another patient resource that concerns the same actual patient.
    • Comment: There is no assumption that linked patient records have mutual links.
    • Requirements: There are multiple use cases: * Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and * Distribution of patient information across multiple servers.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: true
    • isModifierReason: 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'
    • isSummary: true

    Methods

    • Parse the provided Patient JSON to instantiate the Patient data model.

      Parameters

      • sourceJson: Value

        JSON representing FHIR Patient

      • OptionaloptSourceField: string

        Optional data source field (e.g. <complexTypeName>.<complexTypeFieldName>); defaults to Patient

      Returns undefined | Patient

      Patient data model or undefined for Patient

      JsonError if the provided JSON is not a valid JSON object

    • Assigns the provided Reference array value to the generalPractitioner property.

      Parameters

      • value: undefined | Reference[]

        the generalPractitioner array value

      Returns this

      this

      @ReferenceTargets('Patient.generalPractitioner', ['Organization','Practitioner','PractitionerRole',])

      InvalidTypeError for invalid data type or reference value

    • Add the provided Reference value to the generalPractitioner array property.

      Parameters

      • value: undefined | Reference

        the generalPractitioner value

      Returns this

      this

      @ReferenceTargets('Patient.generalPractitioner', ['Organization','Practitioner','PractitionerRole',])

      InvalidTypeError for invalid data type or reference value

    • Assigns the provided ManagingOrganization object value to the managingOrganization property.

      Parameters

      • value: undefined | Reference

        the managingOrganization object value

      Returns this

      this

      @ReferenceTargets('Patient.managingOrganization', ['Organization',])

      InvalidTypeError for invalid data type or reference value

    • Assigns the provided value to the text property.

      Parameters

      Returns this

      this

    • Returns boolean

      true if the text property exists and has a value; false otherwise

    • Assigns the provided Resource array value to the contained property.

      Parameters

      • value: undefined | IResource[]

        the contained array value

      Returns this

      this

    • Returns boolean

      true if the contained property exists and has a value; false otherwise

    • Assigns the provided array of Extension values to the extension property.

      Parameters

      • extension: undefined | IExtension[]

        array of Extensions

      Returns this

      this

    • Determines if the extension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url; false otherwise

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the extension property exists and has any values.

      AssertionError for invalid url

    • Adds the provided Extension to the extension property array.

      Parameters

      • extension: undefined | IExtension

        the Extension value to add to the extension property array

      Returns this

      this

    • Removes the Extension having the provided url from the extension property array.

      Parameters

      • url: string

        the url that identifies a specific Extension to remove

      Returns void

      AssertionError for invalid url

    • Determines if the modifierExtension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the modifierExtension property exists and has any values.

      AssertionError for invalid url

    • Assigns the provided PrimitiveType value to the id property.

      Parameters

      • element: undefined | IdType

        the id value

      Returns this

      this

    • Returns undefined | string

      the id property value as a primitive value

    • Assigns the provided primitive value to the id property.

      Parameters

      • value: undefined | string

        the id value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the id property exists and has a value; false otherwise

    • Assigns the provided value to the meta property.

      Parameters

      • value: undefined | Meta

        the meta value

      Returns this

      this

    • Returns boolean

      true if the meta property exists and has a value; false otherwise

    • Assigns the provided primitive value to the implicitRules property.

      Parameters

      • value: undefined | string

        the implicitRules value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns undefined | string

      the language property value as a primitive value

    • Assigns the provided primitive value to the language property.

      Parameters

      • value: undefined | string

        the language value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the language property exists and has a value; false otherwise

    • Returns boolean

      true if and only if the data model has required fields (min cardinality > 0) and at least one of those required fields in the instance is empty; false otherwise

    • Returns boolean

      true if the instance is a FHIR complex or primitive datatype; false otherwise