description: Base StructureDefinition for Patient Resource package_name: hl7.fhir.r2b.core derivation: specialization name: Patient type: null elements: multipleBirthBoolean: isModifier: false short: Whether patient is part of a multiple birth index: 14 comments: Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated). type: boolean mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: 'Patient.multipleBirth[x]'} choiceOf: multipleBirth isSummary: false address: isModifier: false short: Addresses for the individual index: 10 comments: Patient may have multiple addresses with different uses or applicable periods. type: Address mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.address} isSummary: true deceasedDateTime: isModifier: true short: Indicates if the individual is deceased or not index: 9 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. type: dateTime mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: 'Patient.deceased[x]'} choiceOf: deceased isSummary: true managingOrganization: isModifier: false short: Organization that is the custodian of the patient record index: 33 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). type: Reference mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.managingOrganization} isSummary: true deceasedBoolean: isModifier: true short: Indicates if the individual is deceased or not index: 8 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. type: boolean mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: 'Patient.deceased[x]'} choiceOf: deceased isSummary: true name: isModifier: false short: A name associated with the patient index: 2 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. type: HumanName mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.name} isSummary: true birthDate: isModifier: false short: The date of birth for the individual index: 5 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 maternaty/infant care systems). type: date mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.birthDate} isSummary: true multipleBirthInteger: isModifier: false short: Whether patient is part of a multiple birth index: 15 comments: Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated). type: integer mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: 'Patient.multipleBirth[x]'} choiceOf: multipleBirth isSummary: false careProvider: isModifier: false short: Patient's nominated primary care provider index: 32 comments: This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles. This is not to be used to record Care Teams, these should be recorded on either the CarePlan or EpisodeOfCare resources. type: Reference mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.careProvider} isSummary: false multipleBirth: isModifier: false short: Whether patient is part of a multiple birth index: 13 comments: Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated). mustSupport: false choices: [multipleBirthBoolean, multipleBirthInteger] maxLength: 0 base: {max: '1', min: 0, path: 'Patient.multipleBirth[x]'} isSummary: false deceased: isModifier: true short: Indicates if the individual is deceased or not index: 7 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. mustSupport: false choices: [deceasedBoolean, deceasedDateTime] maxLength: 0 base: {max: '1', min: 0, path: 'Patient.deceased[x]'} isSummary: true photo: isModifier: false short: Image of the patient index: 16 type: Attachment mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.photo} isSummary: false link: isModifier: true short: Link to another patient resource that concerns the same actual person index: 34 comments: There is no assumption that linked patient records have mutual links. type: BackboneElement mustSupport: false array: true elements: other: isModifier: true short: The other patient resource that the link refers to index: 35 type: Reference mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.link.other} isSummary: false type: isModifier: true short: replace | refer | seealso - type of link index: 36 type: code mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.link.type} isSummary: false maxLength: 0 base: {max: '*', min: 0, path: Patient.link} required: [type, other] isSummary: false active: isModifier: true short: Whether this patient's record is in active use index: 1 comments: Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. type: boolean defaultValueBoolean: true mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.active} isSummary: true communication: isModifier: false short: A list of Languages which may be used to communicate with the patient about his or her health index: 29 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. type: BackboneElement mustSupport: false array: true elements: language: isModifier: false short: The language which can be used to communicate with the patient about his or her health index: 30 comments: The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. type: CodeableConcept mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.communication.language} isSummary: false preferred: isModifier: false short: Language preference indicator index: 31 comments: This language is specifically identified for communicating healthcare information. type: boolean mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.communication.preferred} isSummary: false maxLength: 0 base: {max: '*', min: 0, path: Patient.communication} required: [language] isSummary: false animal: isModifier: true short: This patient is known to be an animal (non-human) index: 25 comments: The animal element is labeled "Is Modifier" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records. The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required. (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal). type: BackboneElement mustSupport: false elements: species: isModifier: false short: E.g. Dog, Cow index: 26 comments: If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification. It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species. (The common example is that the word "Hereford" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for "Hereford Cattle Breed" does.). type: CodeableConcept mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.animal.species} isSummary: true breed: isModifier: false short: E.g. Poodle, Angus index: 27 comments: Breed MAY be used to provide further taxonomic or non-taxonomic classification. It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type. type: CodeableConcept mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.animal.breed} isSummary: true genderStatus: isModifier: false short: E.g. Neutered, Intact type: CodeableConcept mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.animal.genderStatus} isSummary: true index: 28 maxLength: 0 base: {max: '1', min: 0, path: Patient.animal} required: [species] isSummary: true identifier: isModifier: false short: An identifier for this patient index: 0 type: Identifier mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.identifier} isSummary: true telecom: isModifier: false short: A contact detail for the individual index: 3 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 may 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). type: ContactPoint mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.telecom} isSummary: true gender: isModifier: false short: male | female | other | unknown index: 4 comments: The gender may 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 M and F, though the vast majority of systems and contexts only support M and F. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, 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, chromosonal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a "hard" error. type: code mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.gender} isSummary: true maritalStatus: isModifier: false short: Marital (civil) status of a patient type: CodeableConcept mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.maritalStatus} isSummary: false index: 11 contact: constraint: pat-1: {human: SHALL at least contain a contact's details or a reference to an organization, severity: error, expression: name.exists() or telecom.exists() or address.exists() or organization.exists()} isModifier: false short: A contact party (e.g. guardian, partner, friend) for the patient index: 17 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.' type: BackboneElement mustSupport: false array: true elements: relationship: isModifier: false short: The kind of relationship index: 18 type: CodeableConcept mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.contact.relationship} isSummary: false name: isModifier: false short: A name associated with the contact person type: HumanName mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.contact.name} isSummary: false index: 19 telecom: isModifier: false short: A contact detail for the person index: 20 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. type: ContactPoint mustSupport: false array: true maxLength: 0 base: {max: '*', min: 0, path: Patient.contact.telecom} isSummary: false address: isModifier: false short: Address for the contact person type: Address mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.contact.address} isSummary: false index: 21 gender: isModifier: false short: male | female | other | unknown type: code mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.contact.gender} isSummary: false index: 22 organization: isModifier: false short: Organization that is associated with the contact type: Reference mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.contact.organization} isSummary: false index: 23 period: isModifier: false short: The period during which this contact person or organization is valid to be contacted relating to this patient type: Period mustSupport: false maxLength: 0 base: {max: '1', min: 0, path: Patient.contact.period} isSummary: false index: 24 maxLength: 0 base: {max: '*', min: 0, path: Patient.contact} isSummary: false package_version: 1.4.0 class: resource kind: resource url: http://hl7.org/fhir/StructureDefinition/Patient base: http://hl7.org/fhir/StructureDefinition/DomainResource version: null