STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

5.1 Resource Patient - Content

Patient Administration Work GroupMaturity Level: 3Compartments: Patient, Practitioner

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

5.1.1 Scope and Usage

This Resource covers data about patients and animals involved in a wide range of health-related activities, including:

  • Curative activities
  • Psychiatric care
  • Social services
  • Pregnancy care
  • Nursing and assisted living
  • Dietary services
  • Tracking of personal health and exercise data

The data in the Resource covers the "who" information about the patient: its attributes are focused on the demographic information necessary to support the administrative, financial and logistic procedures. A Patient record is generally created and maintained by each organization providing care for a patient. A patient or animal receiving care at multiple organizations may therefore have its information present in multiple Patient Resources.

Not all concepts are included within the base resource (such as race, ethnicity, organ donor status, nationalilty, etc.), but may be found in profiles defined for specific jurisdictions (e.g., US Meaningful Use Program) or standard extensions.
Such fields vary widely between jurisdictions and often have different names and valuesets for the similar concepts, but they are not similar enough to be able to map and exchange

This resource is referenced by Account, AllergyIntolerance, Appointment, AppointmentResponse, AuditEvent, Basic, BodySite, CarePlan, CareTeam, Claim, ClinicalImpression, Communication, CommunicationRequest, Composition, Condition, Contract, Coverage, DetectedIssue, Device, DeviceUseRequest, DeviceUseStatement, DiagnosticOrder, DiagnosticReport, DocumentManifest, DocumentReference, EligibilityRequest, Encounter, EnrollmentRequest, EpisodeOfCare, ExplanationOfBenefit, FamilyMemberHistory, Flag, Goal, Group, GuidanceResponse, ImagingExcerpt, ImagingObjectSelection, ImagingStudy, Immunization, ImmunizationRecommendation, List, MeasureReport, Media, MedicationAdministration, MedicationDispense, MedicationOrder, MedicationStatement, NutritionOrder, Observation, Order, Person, Procedure, ProcedureRequest, Protocol, Provenance, QuestionnaireResponse, ReferralRequest, RelatedPerson, RiskAssessment, Schedule, Sequence, Specimen, SupplyDelivery, SupplyRequest, Task and VisionPrescription

5.1.2 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient DomainResourceInformation about an individual or animal receiving health care services
... identifier Σ0..*IdentifierAn identifier for this patient
... active ?! Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
... telecom Σ0..*ContactPointA contact detail for the individual
... gender Σ0..1codemale | female | other | unknown
AdministrativeGender (Required)
... birthDate Σ0..1dateThe date of birth for the individual
... deceased[x] ?! Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAddresses for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Marital Status Codes (Required)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact I0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
SHALL at least contain a contact's details or a reference to an organization
.... relationship 0..*CodeableConceptThe kind of relationship
PatientContactRelationship (Extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
AdministrativeGender (Required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... animal ?! Σ0..1BackboneElementThis patient is known to be an animal (non-human)
.... species Σ1..1CodeableConceptE.g. Dog, Cow
AnimalSpecies (Example)
.... breed Σ0..1CodeableConceptE.g. Poodle, Angus
AnimalBreeds (Example)
.... genderStatus Σ0..1CodeableConceptE.g. Neutered, Intact
GenderStatus (Example)
... communication 0..*BackboneElementA list of Languages which may be used to communicate with the patient about his or her health
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Language (Required)
.... preferred 0..1booleanLanguage preference indicator
... careProvider 0..*Reference(Organization | Practitioner)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!0..*BackboneElementLink to another patient resource that concerns the same actual person
.... other ?!1..1Reference(Patient)The other patient resource that the link refers to
.... type ?!1..1codereplace | refer | seealso - type of link
LinkType (Required)

doco Documentation for this format

UML Diagram

Patient (DomainResource)An identifier for this patientidentifier : Identifier [0..*]Whether this patient record is in active use (this element modifies the meaning of other elements)active : boolean [0..1]A name associated with the individualname : HumanName [0..*]A contact detail (e.g. a telephone number or an email address) by which the individual may be contactedtelecom : ContactPoint [0..*]Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposesgender : code [0..1] « The gender of a person used for administrative purposes. (Strength=Required)AdministrativeGender! »The date of birth for the individualbirthDate : date [0..1]Indicates if the individual is deceased or not (this element modifies the meaning of other elements)deceased[x] : Type [0..1] « boolean|dateTime »Addresses for the individualaddress : Address [0..*]This field contains a patient's most recent marital (civil) statusmaritalStatus : CodeableConcept [0..1] « The domestic partnership status of a person. (Strength=Required)Marital Status ! »Indicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer)multipleBirth[x] : Type [0..1] « boolean|integer »Image of the patientphoto : Attachment [0..*]Patient's nominated care providercareProvider : Reference [0..*] « Organization|Practitioner »Organization that is the custodian of the patient recordmanagingOrganization : Reference [0..1] « Organization »ContactThe nature of the relationship between the patient and the contact personrelationship : CodeableConcept [0..*] « The nature of the relationship between a patient and a contact person for that patient. (Strength=Extensible)PatientContactRelationship+ »A name associated with the contact personname : HumanName [0..1]A contact detail for the person, e.g. a telephone number or an email addresstelecom : ContactPoint [0..*]Address for the contact personaddress : Address [0..1]Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposesgender : code [0..1] « The gender of a person used for administrative purposes. (Strength=Required)AdministrativeGender! »Organization on behalf of which the contact is acting or for which the contact is workingorganization : Reference [0..1] « Organization »The period during which this contact person or organization is valid to be contacted relating to this patientperiod : Period [0..1]AnimalIdentifies the high level taxonomic categorization of the kind of animalspecies : CodeableConcept [1..1] « The species of an animal. (Strength=Example)AnimalSpecies?? »Identifies the detailed categorization of the kind of animalbreed : CodeableConcept [0..1] « The breed of an animal. (Strength=Example)AnimalBreeds?? »Indicates the current state of the animal's reproductive organsgenderStatus : CodeableConcept [0..1] « The state of the animal's reproductive organs. (Strength=Example)GenderStatus?? »CommunicationThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England Englishlanguage : CodeableConcept [1..1] « A human language. (Strength=Required)Language! »Indicates whether or not the patient prefers this language (over other languages he masters up a certain level)preferred : boolean [0..1]LinkThe other patient resource that the link refers to (this element modifies the meaning of other elements)other : Reference [1..1] « Patient »The type of link between this patient resource and another patient resource (this element modifies the meaning of other elements)type : code [1..1] « The type of link between this patient resource and another patient resource. (Strength=Required)LinkType! »A contact party (e.g. guardian, partner, friend) for the patientcontact[0..*]This patient is known to be an animal (this element modifies the meaning of other elements)animal[0..1]Languages which may be used to communicate with the patient about his or her healthcommunication[0..*]Link to another patient resource that concerns the same actual patient (this element modifies the meaning of other elements)link[0..*]

XML Template

<Patient xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier An identifier for this patient --></identifier>
 <active value="[boolean]"/><!-- 0..1 Whether this patient's record is in active use -->
 <name><!-- 0..* HumanName A name associated with the patient --></name>
 <telecom><!-- 0..* ContactPoint A contact detail for the individual --></telecom>
 <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
 <birthDate value="[date]"/><!-- 0..1 The date of birth for the individual -->
 <deceased[x]><!-- 0..1 boolean|dateTime Indicates if the individual is deceased or not --></deceased[x]>
 <address><!-- 0..* Address Addresses for the individual --></address>
 <maritalStatus><!-- 0..1 CodeableConcept Marital (civil) status of a patient --></maritalStatus>
 <multipleBirth[x]><!-- 0..1 boolean|integer Whether patient is part of a multiple birth --></multipleBirth[x]>
 <photo><!-- 0..* Attachment Image of the patient --></photo>
 <contact>  <!-- 0..* A contact party (e.g. guardian, partner, friend) for the patient -->
  <relationship><!-- 0..* CodeableConcept The kind of relationship --></relationship>
  <name><!-- 0..1 HumanName A name associated with the contact person --></name>
  <telecom><!-- 0..* ContactPoint A contact detail for the person --></telecom>
  <address><!-- 0..1 Address Address for the contact person --></address>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <organization><!-- ?? 0..1 Reference(Organization) Organization that is associated with the contact --></organization>
  <period><!-- 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient --></period>
 </contact>
 <animal>  <!-- 0..1 This patient is known to be an animal (non-human) -->
  <species><!-- 1..1 CodeableConcept E.g. Dog, Cow --></species>
  <breed><!-- 0..1 CodeableConcept E.g. Poodle, Angus --></breed>
  <genderStatus><!-- 0..1 CodeableConcept E.g. Neutered, Intact --></genderStatus>
 </animal>
 <communication>  <!-- 0..* A list of Languages which may be used to communicate with the patient about his or her health -->
  <language><!-- 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health  --></language>
  <preferred value="[boolean]"/><!-- 0..1 Language preference indicator -->
 </communication>
 <careProvider><!-- 0..* Reference(Organization|Practitioner) Patient's nominated primary care provider --></careProvider>
 <managingOrganization><!-- 0..1 Reference(Organization) Organization that is the custodian of the patient record --></managingOrganization>
 <link>  <!-- 0..* Link to another patient resource that concerns the same actual person -->
  <other><!-- 1..1 Reference(Patient) The other patient resource that the link refers to --></other>
  <type value="[code]"/><!-- 1..1 replace | refer | seealso - type of link -->
 </link>
</Patient>

JSON Template

{doco
  "resourceType" : "Patient",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // An identifier for this patient
  "active" : <boolean>, // Whether this patient's record is in active use
  "name" : [{ HumanName }], // A name associated with the patient
  "telecom" : [{ ContactPoint }], // A contact detail for the individual
  "gender" : "<code>", // male | female | other | unknown
  "birthDate" : "<date>", // The date of birth for the individual
  // deceased[x]: Indicates if the individual is deceased or not. One of these 2:
  "deceasedBoolean" : <boolean>,
  "deceasedDateTime" : "<dateTime>",
  "address" : [{ Address }], // Addresses for the individual
  "maritalStatus" : { CodeableConcept }, // Marital (civil) status of a patient
  // multipleBirth[x]: Whether patient is part of a multiple birth. One of these 2:
  "multipleBirthBoolean" : <boolean>,
  "multipleBirthInteger" : <integer>,
  "photo" : [{ Attachment }], // Image of the patient
  "contact" : [{ // A contact party (e.g. guardian, partner, friend) for the patient
    "relationship" : [{ CodeableConcept }], // The kind of relationship
    "name" : { HumanName }, // A name associated with the contact person
    "telecom" : [{ ContactPoint }], // A contact detail for the person
    "address" : { Address }, // Address for the contact person
    "gender" : "<code>", // male | female | other | unknown
    "organization" : { Reference(Organization) }, // C? Organization that is associated with the contact
    "period" : { Period } // The period during which this contact person or organization is valid to be contacted relating to this patient
  }],
  "animal" : { // This patient is known to be an animal (non-human)
    "species" : { CodeableConcept }, // R!  E.g. Dog, Cow
    "breed" : { CodeableConcept }, // E.g. Poodle, Angus
    "genderStatus" : { CodeableConcept } // E.g. Neutered, Intact
  },
  "communication" : [{ // A list of Languages which may be used to communicate with the patient about his or her health
    "language" : { CodeableConcept }, // R!  The language which can be used to communicate with the patient about his or her health 
    "preferred" : <boolean> // Language preference indicator
  }],
  "careProvider" : [{ Reference(Organization|Practitioner) }], // Patient's nominated primary care provider
  "managingOrganization" : { Reference(Organization) }, // Organization that is the custodian of the patient record
  "link" : [{ // Link to another patient resource that concerns the same actual person
    "other" : { Reference(Patient) }, // R!  The other patient resource that the link refers to
    "type" : "<code>" // R!  replace | refer | seealso - type of link
  }]
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient DomainResourceInformation about an individual or animal receiving health care services
... identifier Σ0..*IdentifierAn identifier for this patient
... active ?! Σ0..1booleanWhether this patient's record is in active use
... name Σ0..*HumanNameA name associated with the patient
... telecom Σ0..*ContactPointA contact detail for the individual
... gender Σ0..1codemale | female | other | unknown
AdministrativeGender (Required)
... birthDate Σ0..1dateThe date of birth for the individual
... deceased[x] ?! Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAddresses for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Marital Status Codes (Required)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact I0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
SHALL at least contain a contact's details or a reference to an organization
.... relationship 0..*CodeableConceptThe kind of relationship
PatientContactRelationship (Extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
AdministrativeGender (Required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... animal ?! Σ0..1BackboneElementThis patient is known to be an animal (non-human)
.... species Σ1..1CodeableConceptE.g. Dog, Cow
AnimalSpecies (Example)
.... breed Σ0..1CodeableConceptE.g. Poodle, Angus
AnimalBreeds (Example)
.... genderStatus Σ0..1CodeableConceptE.g. Neutered, Intact
GenderStatus (Example)
... communication 0..*BackboneElementA list of Languages which may be used to communicate with the patient about his or her health
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Language (Required)
.... preferred 0..1booleanLanguage preference indicator
... careProvider 0..*Reference(Organization | Practitioner)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!0..*BackboneElementLink to another patient resource that concerns the same actual person
.... other ?!1..1Reference(Patient)The other patient resource that the link refers to
.... type ?!1..1codereplace | refer | seealso - type of link
LinkType (Required)

doco Documentation for this format

UML Diagram

Patient (DomainResource)An identifier for this patientidentifier : Identifier [0..*]Whether this patient record is in active use (this element modifies the meaning of other elements)active : boolean [0..1]A name associated with the individualname : HumanName [0..*]A contact detail (e.g. a telephone number or an email address) by which the individual may be contactedtelecom : ContactPoint [0..*]Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposesgender : code [0..1] « The gender of a person used for administrative purposes. (Strength=Required)AdministrativeGender! »The date of birth for the individualbirthDate : date [0..1]Indicates if the individual is deceased or not (this element modifies the meaning of other elements)deceased[x] : Type [0..1] « boolean|dateTime »Addresses for the individualaddress : Address [0..*]This field contains a patient's most recent marital (civil) statusmaritalStatus : CodeableConcept [0..1] « The domestic partnership status of a person. (Strength=Required)Marital Status ! »Indicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer)multipleBirth[x] : Type [0..1] « boolean|integer »Image of the patientphoto : Attachment [0..*]Patient's nominated care providercareProvider : Reference [0..*] « Organization|Practitioner »Organization that is the custodian of the patient recordmanagingOrganization : Reference [0..1] « Organization »ContactThe nature of the relationship between the patient and the contact personrelationship : CodeableConcept [0..*] « The nature of the relationship between a patient and a contact person for that patient. (Strength=Extensible)PatientContactRelationship+ »A name associated with the contact personname : HumanName [0..1]A contact detail for the person, e.g. a telephone number or an email addresstelecom : ContactPoint [0..*]Address for the contact personaddress : Address [0..1]Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposesgender : code [0..1] « The gender of a person used for administrative purposes. (Strength=Required)AdministrativeGender! »Organization on behalf of which the contact is acting or for which the contact is workingorganization : Reference [0..1] « Organization »The period during which this contact person or organization is valid to be contacted relating to this patientperiod : Period [0..1]AnimalIdentifies the high level taxonomic categorization of the kind of animalspecies : CodeableConcept [1..1] « The species of an animal. (Strength=Example)AnimalSpecies?? »Identifies the detailed categorization of the kind of animalbreed : CodeableConcept [0..1] « The breed of an animal. (Strength=Example)AnimalBreeds?? »Indicates the current state of the animal's reproductive organsgenderStatus : CodeableConcept [0..1] « The state of the animal's reproductive organs. (Strength=Example)GenderStatus?? »CommunicationThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England Englishlanguage : CodeableConcept [1..1] « A human language. (Strength=Required)Language! »Indicates whether or not the patient prefers this language (over other languages he masters up a certain level)preferred : boolean [0..1]LinkThe other patient resource that the link refers to (this element modifies the meaning of other elements)other : Reference [1..1] « Patient »The type of link between this patient resource and another patient resource (this element modifies the meaning of other elements)type : code [1..1] « The type of link between this patient resource and another patient resource. (Strength=Required)LinkType! »A contact party (e.g. guardian, partner, friend) for the patientcontact[0..*]This patient is known to be an animal (this element modifies the meaning of other elements)animal[0..1]Languages which may be used to communicate with the patient about his or her healthcommunication[0..*]Link to another patient resource that concerns the same actual patient (this element modifies the meaning of other elements)link[0..*]

XML Template

<Patient xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier An identifier for this patient --></identifier>
 <active value="[boolean]"/><!-- 0..1 Whether this patient's record is in active use -->
 <name><!-- 0..* HumanName A name associated with the patient --></name>
 <telecom><!-- 0..* ContactPoint A contact detail for the individual --></telecom>
 <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
 <birthDate value="[date]"/><!-- 0..1 The date of birth for the individual -->
 <deceased[x]><!-- 0..1 boolean|dateTime Indicates if the individual is deceased or not --></deceased[x]>
 <address><!-- 0..* Address Addresses for the individual --></address>
 <maritalStatus><!-- 0..1 CodeableConcept Marital (civil) status of a patient --></maritalStatus>
 <multipleBirth[x]><!-- 0..1 boolean|integer Whether patient is part of a multiple birth --></multipleBirth[x]>
 <photo><!-- 0..* Attachment Image of the patient --></photo>
 <contact>  <!-- 0..* A contact party (e.g. guardian, partner, friend) for the patient -->
  <relationship><!-- 0..* CodeableConcept The kind of relationship --></relationship>
  <name><!-- 0..1 HumanName A name associated with the contact person --></name>
  <telecom><!-- 0..* ContactPoint A contact detail for the person --></telecom>
  <address><!-- 0..1 Address Address for the contact person --></address>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <organization><!-- ?? 0..1 Reference(Organization) Organization that is associated with the contact --></organization>
  <period><!-- 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient --></period>
 </contact>
 <animal>  <!-- 0..1 This patient is known to be an animal (non-human) -->
  <species><!-- 1..1 CodeableConcept E.g. Dog, Cow --></species>
  <breed><!-- 0..1 CodeableConcept E.g. Poodle, Angus --></breed>
  <genderStatus><!-- 0..1 CodeableConcept E.g. Neutered, Intact --></genderStatus>
 </animal>
 <communication>  <!-- 0..* A list of Languages which may be used to communicate with the patient about his or her health -->
  <language><!-- 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health  --></language>
  <preferred value="[boolean]"/><!-- 0..1 Language preference indicator -->
 </communication>
 <careProvider><!-- 0..* Reference(Organization|Practitioner) Patient's nominated primary care provider --></careProvider>
 <managingOrganization><!-- 0..1 Reference(Organization) Organization that is the custodian of the patient record --></managingOrganization>
 <link>  <!-- 0..* Link to another patient resource that concerns the same actual person -->
  <other><!-- 1..1 Reference(Patient) The other patient resource that the link refers to --></other>
  <type value="[code]"/><!-- 1..1 replace | refer | seealso - type of link -->
 </link>
</Patient>

JSON Template

{doco
  "resourceType" : "Patient",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // An identifier for this patient
  "active" : <boolean>, // Whether this patient's record is in active use
  "name" : [{ HumanName }], // A name associated with the patient
  "telecom" : [{ ContactPoint }], // A contact detail for the individual
  "gender" : "<code>", // male | female | other | unknown
  "birthDate" : "<date>", // The date of birth for the individual
  // deceased[x]: Indicates if the individual is deceased or not. One of these 2:
  "deceasedBoolean" : <boolean>,
  "deceasedDateTime" : "<dateTime>",
  "address" : [{ Address }], // Addresses for the individual
  "maritalStatus" : { CodeableConcept }, // Marital (civil) status of a patient
  // multipleBirth[x]: Whether patient is part of a multiple birth. One of these 2:
  "multipleBirthBoolean" : <boolean>,
  "multipleBirthInteger" : <integer>,
  "photo" : [{ Attachment }], // Image of the patient
  "contact" : [{ // A contact party (e.g. guardian, partner, friend) for the patient
    "relationship" : [{ CodeableConcept }], // The kind of relationship
    "name" : { HumanName }, // A name associated with the contact person
    "telecom" : [{ ContactPoint }], // A contact detail for the person
    "address" : { Address }, // Address for the contact person
    "gender" : "<code>", // male | female | other | unknown
    "organization" : { Reference(Organization) }, // C? Organization that is associated with the contact
    "period" : { Period } // The period during which this contact person or organization is valid to be contacted relating to this patient
  }],
  "animal" : { // This patient is known to be an animal (non-human)
    "species" : { CodeableConcept }, // R!  E.g. Dog, Cow
    "breed" : { CodeableConcept }, // E.g. Poodle, Angus
    "genderStatus" : { CodeableConcept } // E.g. Neutered, Intact
  },
  "communication" : [{ // A list of Languages which may be used to communicate with the patient about his or her health
    "language" : { CodeableConcept }, // R!  The language which can be used to communicate with the patient about his or her health 
    "preferred" : <boolean> // Language preference indicator
  }],
  "careProvider" : [{ Reference(Organization|Practitioner) }], // Patient's nominated primary care provider
  "managingOrganization" : { Reference(Organization) }, // Organization that is the custodian of the patient record
  "link" : [{ // Link to another patient resource that concerns the same actual person
    "other" : { Reference(Patient) }, // R!  The other patient resource that the link refers to
    "type" : "<code>" // R!  replace | refer | seealso - type of link
  }]
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

5.1.2.1 Terminology Bindings

PathDefinitionTypeReference
Patient.gender
Patient.contact.gender
The gender of a person used for administrative purposes.RequiredAdministrativeGender
Patient.maritalStatus The domestic partnership status of a person.RequiredMarital Status Codes
Patient.contact.relationship The nature of the relationship between a patient and a contact person for that patient.ExtensiblePatientContactRelationship
Patient.animal.species The species of an animal.ExampleAnimalSpecies
Patient.animal.breed The breed of an animal.ExampleAnimalBreeds
Patient.animal.genderStatus The state of the animal's reproductive organs.ExampleGenderStatus
Patient.communication.language A human language.RequiredIETF language tag
Patient.link.type The type of link between this patient resource and another patient resource.RequiredLinkType

5.1.2.2 Constraints

  • pat-1: On Patient.contact: SHALL at least contain a contact's details or a reference to an organization (expression on Patient.contact: name or telecom or address or organization)

Notes:

  • multipleBirth can be either expressed as a Boolean (just indicating whether the patient is part of a multiple birth) or as an integer, indicating the actual birth order.
  • Patient records may only be in one of two statuses: in use (active=true) and not in use (active=false). A normal record is active, i.e. it is in use. Active is set to 'false' when a record is created as a duplicate or in error. A record does not need to be linked to be inactivated.
  • The link element is used to assert that two or more Patient resources are both about the same actual patient. See below for further discussion
  • There should be only one preferred language (Language.preference = true) per mode of expression.
  • The Contact for a Patient has an element organization, this is for use with guardians or business related contacts where just the organization is relevant.

5.1.3 Patient id's and Patient resource id's

A Patient record's Resource Id can never change. For this reason the identifiers with which humans are concerned (often called MRN - Medical Record Number, or UR - Unit Record) should not be used for the resource's id, since MRN's may change, i.e. as a result of having duplicate records of the same patient. Instead they should be represented in the Patient.identifier list where they can be managed. This is also useful for the case of institutions that have acquired multiple numbers because of mergers of patient record systems over time.

5.1.4 Linking Patients

The link element is used to assert that patient resources refer to the same patient. This element is used to support the following scenarios where multiple patient records exist:

5.1.4.1 Duplicate Patient records

Managing Patient registration is a well known difficult problem. Around 2% of registrations are in error, mostly duplicate records. Sometimes the duplicate record is caught fairly quickly and retired before much data is accumulated. In other cases, substantial amounts of data may accumulate. By using a link of type 'replace', the record containing such a link is marked as a duplicate and the link points forward to a record that should be used instead. Note that the record pointed to may in its turn have been identified as created in error and forward to yet another Patient resource. Records that replace another record, do not point back to the replaced record.

5.1.4.2 Patient record in a Patient index

A Patient record may be present in a system that acts as a Patient Index: it maintains a (summary of) patient data and a list of one or more servers that it are known to hold a more comprehensive and/or authorative record of the same patient. The link type 'refer' is used denote such a link. Note that linked records may contain contradictory information. The record referred to does not point back to the referring record.

5.1.4.3 Distributed Patient record

In a distributed architecture, multiple systems keep separate patient records concerning the same patient. These records are not considered duplicates, but contain a distributed, potentially overlapping view of the patient's data. Each such record may have its own focus or maintaining organization and there need not be a sense of one record being more complete or more authorative than another. In such cases, links of type 'see also' can be used to point to other patient records. It is not a requirement that such links are bilateral.

5.1.5 Patient vs. Person vs. Patient.Link

The Person resource on the surface appears to be very similar to the Patient resource, and the usage for it is very similar to using the Patient.Link capability.
The intention of the Person resource is to be able to link instances of resources together that are believed to be the same individual. This includes across resource types, such as RelatedPerson, Practitioner, Patient and even other Person resources.
The Patient Link however is only intended to be used for Patient resources.

The primary use case for the Person resource is to be able to support person registries that do not necessarily have a healthcare context, and are able to identify and quantify confidence levels that this is the same person.
This could include consumer portals where the maintainer of the person information is the actual person themselves.
A system could use the Person entry to cross check changes to information applied to one part of a record to values in another system; e.g., when moving, a consumer updates his contact numbers and address in his person record, and then a Patient Administration system is able to see that this data is changed and prompt the organization to follow up with the patient that was linked to the person record if they want their details updated, or if they no longer need services and they should be cancelled, as they've moved from the area.

5.1.6 Patient.contact vs. RelatedPerson

The contact element on the Patient Resource should be used for storing people to contact information. Where a system has a separate record for other people for purposes other than just the contact details, the RelatedPerson resource should be used.
This includes cases where these related people are actually contributing to the record, and need to be referenced individually (e.g. CarePlan.Participant, Encounter, DocumentReference, Appointment) where the Patient.Contact component cannot be used.

It is not expected that these records will be used for recording the primary care provider; this information should be stored in the Patient.careProvider field.

5.1.7 Merging records

This specification does not specify merge functionality: if multiple patient records are found to be duplicates, they can be linked together, as described above. These links merely express the relationship between records, and in the case of a replacement link, indicate a "master" record. This specification does not mandate that FHIR servers migrate information between such records on finding such a link. Note:

  • Health information administrators may call the process "merging", but it is often implemented as "linking" at the record level
  • Servers are allowed to implement merging/record migration even though it is not mandated.

DSTU Note: We are seeking input from the implementer community on what effect linking/merging/unlinking should have on other functionality such as the GET operation (where the result is the old version of the Patient), searching, reverse includes, etc.; e.g., should observation resources from all linked/merged patients be returned when querying for one of them?
How should an unlink behavior be done? (Assuming that no data was "re-allocated" as part of merge) These suggested updated behaviors could be the subject of a future connectathon.

Feedback here .

5.1.8 Patient Matching using an MPI

A Master Patient Index (MPI ) is a service used to manage patient identification in a context where multiple patient databases exist. Healthcare applications and middleware use the MPI to match patients between the databases, and as new patient details are encountered. MPIs are highly specialized applications, often tailored extensively to the institution's particular mix of patients. MPIs can also be run on a regional and national basis.

To ask an MPI to match a patient, clients use the "mpi" query, which uses the normal search parameters defined for patient. However, rather than their normal use, they are interpreted as MPI inputs - e.g. instead of requiring that the resources literally contain the search parameters, they are passed to an MPI algorithm of some kind that uses them to determine the most appropriate matches in the patient set.

  GET [base]/Patient?_query=mpi&parameters...

The response from an "mpi" query is a set of patient records, ordered from most likely to least likely. If there are not patient matches, the MPI SHALL return an empty search set with no error, but may include an operation outcome with further advice. All patient records SHALL have a score from 0 to 1, where 1 is the most certain match, along with an extension "patient-mpi-match" that indicates the MPI's position on the match quality:

  <entry> 
    <resource>
      <Patient>
        <!-- patient details -->
      </Patient>
    </resource>
    <search>
      <extension url="http://hl7.org/fhir/StructureDefinition/patient-mpi-match">
        <valueCode value="probable"/>
      </extension>
      <score value="0.80"/>
    </search>
  </entry> 

The patient-mpi-match extension has one of the following codes:

certainThis record meets the MPI criteria to be automatically considered as a full match.
probableThis record is a close match, but not a certain match. Additional review (e.g. by a human) may be required before using this as a match.
possibleThis record may be a matching one. Additional review (e.g. by a human) SHOULD be performed before using this as a match.
certainly-notThis record is known not to be a match. Note that usually non-matching records are not returned, but in some cases records previously or likely considered as a match may specifically be negated by the MPI.

One optional parameter to the MPI match operation is "userid", which is used to pass the user details from a trusted client to the MPI. This may be used by the MPI to restrict the possible matches that are returned, based on the user's rights. For example, a staff member covered by policies, etc., may well get a different result than a patient trying to find their own record. Note that this parameter is used where the user would not be expected to log in to the MPI directly; whether this is appropriate or not is a deployment choice.

A formal definition for the MPI query is published.

DSTU Note: This is the first draft of this approach, as a result of connectathon testing.

Feedback is sought here .

5.1.9 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
activetokenWhether the patient record is activePatient.active
addressstringAn address in any kind of address/part of the patientPatient.address
address-citystringA city specified in an addressPatient.address.city
address-countrystringA country specified in an addressPatient.address.country
address-postalcodestringA postalCode specified in an addressPatient.address.postalCode
address-statestringA state specified in an addressPatient.address.state
address-usetokenA use code specified in an addressPatient.address.use
animal-breedtokenThe breed for animal patientsPatient.animal.breed
animal-speciestokenThe species for animal patientsPatient.animal.species
birthdatedateThe patient's date of birthPatient.birthDate
careproviderreferencePatient's nominated care provider, could be a care manager, not the organization that manages the recordPatient.careProvider
(Organization, Practitioner)
death-datedateThe date of death has been provided and satisfies this search valuePatient.deceasedDateTime
deceasedtokenThis patient has been marked as deceased, or as a death date enteredPatient.deceased[x]
emailtokenA value in an email contactPatient.telecom(system=email)
familystringA portion of the family name of the patientPatient.name.family
gendertokenGender of the patientPatient.gender
givenstringA portion of the given name of the patientPatient.name.given
identifiertokenA patient identifierPatient.identifier
languagetokenLanguage code (irrespective of use value)Patient.communication.language
linkreferenceAll patients linked to the given patientPatient.link.other
(Patient)
namestringA portion of either family or given name of the patientPatient.name
organizationreferenceThe organization at which this person is a patientPatient.managingOrganization
(Organization)
phonetokenA value in a phone contactPatient.telecom(system=phone)
phoneticstringA portion of either family or given name using some kind of phonetic matching algorithmPatient.name
telecomtokenThe value in any kind of telecom details of the patientPatient.telecom