This page is part of the FHIR Specification (v1.6.0:
STU
3 Ballot 4). The current version which supercedes this version is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
Demographics and other administrative information about an individual or animal receiving care or other health-related services.
This Resource covers data about patients and animals involved in a wide range of health-related activities, including:
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
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
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
,
,
Consent
,
Contract
,
,
Coverage
,
,
DetectedIssue
,
,
Device
,
,
DeviceUseRequest
,
,
DeviceUseStatement
,
DiagnosticOrder
,
,
DiagnosticReport
,
,
DiagnosticRequest
,
DocumentManifest
,
,
DocumentReference
,
,
EligibilityRequest
,
Encounter
,
,
EnrollmentRequest
,
,
EpisodeOfCare
,
,
ExplanationOfBenefit
,
FamilyMemberHistory
,
,
Flag
,
,
Goal
,
,
Group
,
ImagingObjectSelection
,
,
GuidanceResponse
,
ImagingManifest
,
ImagingStudy
,
,
Immunization
,
,
ImmunizationRecommendation
,
,
List
,
,
MeasureReport
,
Media
,
,
MedicationAdministration
,
,
MedicationDispense
,
,
MedicationOrder
,
,
MedicationStatement
,
NutritionOrder
,
,
NutritionRequest
,
Observation
,
Order
,
,
Person
,
,
Procedure
,
,
ProcedureRequest
,
,
Provenance
,
,
QuestionnaireResponse
,
,
ReferralRequest
,
,
RelatedPerson
,
,
RiskAssessment
,
,
Schedule
,
,
Sequence
,
Specimen
,
,
SupplyDelivery
,
,
SupplyRequest
and
,
Task
and
VisionPrescription
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 0..* | Identifier |
|
|
?! Σ | 0..1 | boolean |
|
|
Σ | 0..* | HumanName |
|
|
Σ | 0..* | ContactPoint |
|
|
Σ | 0..1 | code |
AdministrativeGender |
|
Σ | 0..1 | date |
|
|
?! Σ | 0..1 |
|
|
|
boolean | |||
|
dateTime | |||
|
Σ | 0..* | Address |
|
|
0..1 | CodeableConcept |
|
|
|
0..1 |
|
||
|
boolean | |||
|
integer | |||
|
0..* | Attachment |
|
|
|
I | 0..* | BackboneElement |
|
|
0..* | CodeableConcept |
|
|
|
0..1 | HumanName |
|
|
|
0..* | ContactPoint |
|
|
|
0..1 | Address |
|
|
|
0..1 | code |
AdministrativeGender |
|
|
I | 0..1 | Reference ( Organization ) |
|
|
0..1 | Period |
|
|
|
?! Σ | 0..1 | BackboneElement |
|
|
Σ | 1..1 | CodeableConcept |
AnimalSpecies |
|
Σ | 0..1 | CodeableConcept |
AnimalBreeds |
|
Σ | 0..1 | CodeableConcept |
GenderStatus |
|
0..* | BackboneElement |
|
|
|
1..1 | CodeableConcept |
|
|
|
0..1 | boolean |
|
|
|
0..* |
Reference
(
Organization
|
|
|
|
Σ | 0..1 | Reference ( Organization ) |
|
|
?! Σ | 0..* | BackboneElement |
|
|
?! Σ | 1..1 | Reference ( Patient | RelatedPerson ) |
|
|
?! Σ | 1..1 | code |
LinkType |
Documentation for this format
|
||||
UML
Diagram
UML Diagram
(
Legend
)
XML
Template
XML Template
<
<Patient xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> < <</name> <</telecom> < < <</deceased[x]> <</address> <</maritalStatus> <</multipleBirth[x]> <</photo> < <</relationship> <</name> <</telecom> <</address> < <</organization> <</period><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>
< <</species> <</breed> <</genderStatus><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>< <</language> <<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> <</managingOrganization> < <</other> <<generalPractitioner><!-- 0..* Reference(Organization|Practitioner) Patient's nominated primary care provider --></generalPractitioner> <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|RelatedPerson) The other patient or related person resource that the link refers to --></other> <type value="[code]"/><!-- 1..1 replace | refer | seealso - type of link --> </link> </Patient>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"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
}],
"
"
"
"
"
"generalPractitioner" : [{ 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|RelatedPerson) }, // R! The other patient or related person resource that the link refers to
"type" : "<code>" // R! replace | refer | seealso - type of link
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Patient; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Patient.identifier [ Identifier ], ... ; # 0..* An identifier for this patient fhir:Patient.active [ boolean ]; # 0..1 Whether this patient's record is in active use fhir:Patient.name [ HumanName ], ... ; # 0..* A name associated with the patient fhir:Patient.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the individual fhir:Patient.gender [ code ]; # 0..1 male | female | other | unknown fhir:Patient.birthDate [ date ]; # 0..1 The date of birth for the individual # Patient.deceased[x] : 0..1 Indicates if the individual is deceased or not. One of these 2 fhir:Patient.deceasedBoolean [ boolean ] fhir:Patient.deceasedDateTime [ dateTime ] fhir:Patient.address [ Address ], ... ; # 0..* Addresses for the individual fhir:Patient.maritalStatus [ CodeableConcept ]; # 0..1 Marital (civil) status of a patient # Patient.multipleBirth[x] : 0..1 Whether patient is part of a multiple birth. One of these 2 fhir:Patient.multipleBirthBoolean [ boolean ] fhir:Patient.multipleBirthInteger [ integer ] fhir:Patient.photo [ Attachment ], ... ; # 0..* Image of the patient fhir:Patient.contact [ # 0..* A contact party (e.g. guardian, partner, friend) for the patient fhir:Patient.contact.relationship [ CodeableConcept ], ... ; # 0..* The kind of relationship fhir:Patient.contact.name [ HumanName ]; # 0..1 A name associated with the contact person fhir:Patient.contact.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the person fhir:Patient.contact.address [ Address ]; # 0..1 Address for the contact person fhir:Patient.contact.gender [ code ]; # 0..1 male | female | other | unknown fhir:Patient.contact.organization [ Reference(Organization) ]; # 0..1 Organization that is associated with the contact fhir:Patient.contact.period [ Period ]; # 0..1 The period during which this contact person or organization is valid to be contacted relating to this patient ], ...; fhir:Patient.animal [ # 0..1 This patient is known to be an animal (non-human) fhir:Patient.animal.species [ CodeableConcept ]; # 1..1 E.g. Dog, Cow fhir:Patient.animal.breed [ CodeableConcept ]; # 0..1 E.g. Poodle, Angus fhir:Patient.animal.genderStatus [ CodeableConcept ]; # 0..1 E.g. Neutered, Intact ]; fhir:Patient.communication [ # 0..* A list of Languages which may be used to communicate with the patient about his or her health fhir:Patient.communication.language [ CodeableConcept ]; # 1..1 The language which can be used to communicate with the patient about his or her health fhir:Patient.communication.preferred [ boolean ]; # 0..1 Language preference indicator ], ...; fhir:Patient.generalPractitioner [ Reference(Organization|Practitioner) ], ... ; # 0..* Patient's nominated primary care provider fhir:Patient.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that is the custodian of the patient record fhir:Patient.link [ # 0..* Link to another patient resource that concerns the same actual person fhir:Patient.link.other [ Reference(Patient|RelatedPerson) ]; # 1..1 The other patient or related person resource that the link refers to fhir:Patient.link.type [ code ]; # 1..1 replace | refer | seealso - type of link ], ...; ]
Changes since DSTU2
| Patient | |
| Patient.contact.relationship | Change value set from http://hl7.org/fhir/ValueSet/patient-contact-relationship to http://hl7.org/fhir/ValueSet/v2-0131 |
| Patient.communication.language | Change binding strength from required to extensible, Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages |
| Patient.generalPractitioner | Renamed from careProvider to generalPractitioner |
| Patient.link.other | Add Reference(RelatedPerson) |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
Σ | 0..* | Identifier |
|
|
?! Σ | 0..1 | boolean |
|
|
Σ | 0..* | HumanName |
|
|
Σ | 0..* | ContactPoint |
|
|
Σ | 0..1 | code |
AdministrativeGender |
|
Σ | 0..1 | date |
|
|
?! Σ | 0..1 |
|
|
|
boolean | |||
|
dateTime | |||
|
Σ | 0..* | Address |
|
|
0..1 | CodeableConcept |
|
|
|
0..1 |
|
||
|
boolean | |||
|
integer | |||
|
0..* | Attachment |
|
|
|
I | 0..* | BackboneElement |
|
|
0..* | CodeableConcept |
|
|
|
0..1 | HumanName |
|
|
|
0..* | ContactPoint |
|
|
|
0..1 | Address |
|
|
|
0..1 | code |
AdministrativeGender |
|
|
I | 0..1 | Reference ( Organization ) |
|
|
0..1 | Period |
|
|
|
?! Σ | 0..1 | BackboneElement |
|
|
Σ | 1..1 | CodeableConcept |
AnimalSpecies |
|
Σ | 0..1 | CodeableConcept |
AnimalBreeds |
|
Σ | 0..1 | CodeableConcept |
GenderStatus |
|
0..* | BackboneElement |
|
|
|
1..1 | CodeableConcept |
|
|
|
0..1 | boolean |
|
|
|
0..* |
Reference
(
Organization
|
|
|
|
Σ | 0..1 | Reference ( Organization ) |
|
|
?! Σ | 0..* | BackboneElement |
|
|
?! Σ | 1..1 | Reference ( Patient | RelatedPerson ) |
|
|
?! Σ | 1..1 | code |
LinkType |
Documentation for this format
|
||||
XML
Template
XML Template
<
<Patient xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> < <</name> <</telecom> < < <</deceased[x]> <</address> <</maritalStatus> <</multipleBirth[x]> <</photo> < <</relationship> <</name> <</telecom> <</address> < <</organization> <</period><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>
< <</species> <</breed> <</genderStatus><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>< <</language> <<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> <</managingOrganization> < <</other> <<generalPractitioner><!-- 0..* Reference(Organization|Practitioner) Patient's nominated primary care provider --></generalPractitioner> <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|RelatedPerson) The other patient or related person resource that the link refers to --></other> <type value="[code]"/><!-- 1..1 replace | refer | seealso - type of link --> </link> </Patient>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"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
}],
"
"
"
"
"
"generalPractitioner" : [{ 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|RelatedPerson) }, // R! The other patient or related person resource that the link refers to
"type" : "<code>" // R! replace | refer | seealso - type of link
}]
}
Alternate
definitions:
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Patient; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Patient.identifier [ Identifier ], ... ; # 0..* An identifier for this patient fhir:Patient.active [ boolean ]; # 0..1 Whether this patient's record is in active use fhir:Patient.name [ HumanName ], ... ; # 0..* A name associated with the patient fhir:Patient.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the individual fhir:Patient.gender [ code ]; # 0..1 male | female | other | unknown fhir:Patient.birthDate [ date ]; # 0..1 The date of birth for the individual # Patient.deceased[x] : 0..1 Indicates if the individual is deceased or not. One of these 2 fhir:Patient.deceasedBoolean [ boolean ] fhir:Patient.deceasedDateTime [ dateTime ] fhir:Patient.address [ Address ], ... ; # 0..* Addresses for the individual fhir:Patient.maritalStatus [ CodeableConcept ]; # 0..1 Marital (civil) status of a patient # Patient.multipleBirth[x] : 0..1 Whether patient is part of a multiple birth. One of these 2 fhir:Patient.multipleBirthBoolean [ boolean ] fhir:Patient.multipleBirthInteger [ integer ] fhir:Patient.photo [ Attachment ], ... ; # 0..* Image of the patient fhir:Patient.contact [ # 0..* A contact party (e.g. guardian, partner, friend) for the patient fhir:Patient.contact.relationship [ CodeableConcept ], ... ; # 0..* The kind of relationship fhir:Patient.contact.name [ HumanName ]; # 0..1 A name associated with the contact person fhir:Patient.contact.telecom [ ContactPoint ], ... ; # 0..* A contact detail for the person fhir:Patient.contact.address [ Address ]; # 0..1 Address for the contact person fhir:Patient.contact.gender [ code ]; # 0..1 male | female | other | unknown fhir:Patient.contact.organization [ Reference(Organization) ]; # 0..1 Organization that is associated with the contact fhir:Patient.contact.period [ Period ]; # 0..1 The period during which this contact person or organization is valid to be contacted relating to this patient ], ...; fhir:Patient.animal [ # 0..1 This patient is known to be an animal (non-human) fhir:Patient.animal.species [ CodeableConcept ]; # 1..1 E.g. Dog, Cow fhir:Patient.animal.breed [ CodeableConcept ]; # 0..1 E.g. Poodle, Angus fhir:Patient.animal.genderStatus [ CodeableConcept ]; # 0..1 E.g. Neutered, Intact ]; fhir:Patient.communication [ # 0..* A list of Languages which may be used to communicate with the patient about his or her health fhir:Patient.communication.language [ CodeableConcept ]; # 1..1 The language which can be used to communicate with the patient about his or her health fhir:Patient.communication.preferred [ boolean ]; # 0..1 Language preference indicator ], ...; fhir:Patient.generalPractitioner [ Reference(Organization|Practitioner) ], ... ; # 0..* Patient's nominated primary care provider fhir:Patient.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that is the custodian of the patient record fhir:Patient.link [ # 0..* Link to another patient resource that concerns the same actual person fhir:Patient.link.other [ Reference(Patient|RelatedPerson) ]; # 1..1 The other patient or related person resource that the link refers to fhir:Patient.link.type [ code ]; # 1..1 replace | refer | seealso - type of link ], ...; ]
Changes since DSTU2
| Patient | |
| Patient.contact.relationship | Change value set from http://hl7.org/fhir/ValueSet/patient-contact-relationship to http://hl7.org/fhir/ValueSet/v2-0131 |
| Patient.communication.language | Change binding strength from required to extensible, Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages |
| Patient.generalPractitioner | Renamed from careProvider to generalPractitioner |
| Patient.link.other | Add Reference(RelatedPerson) |
See the Full Difference for further information
Alternate definitions: Master Definition (
XML
,
JSON
),
XML
Schema
/
Schematron
,
Resource
Profile
(
XML
,
(for ) +
JSON
Schema
,
ShEx
(for
Turtle
),
Questionnaire
)
| Path | Definition | Type | Reference |
|---|---|---|---|
|
Patient.gender
|
|
Required | AdministrativeGender |
| Patient.maritalStatus |
|
Required |
|
| Patient.contact.relationship |
|
Extensible |
|
| Patient.animal.species |
|
Example | AnimalSpecies |
| Patient.animal.breed |
|
Example | AnimalBreeds |
| Patient.animal.genderStatus |
|
Example | GenderStatus |
| Patient.communication.language |
|
|
|
| Patient.link.type |
|
Required | LinkType |
on Patient.contact:
name.exists() or telecom.exists() or address.exists() or organization.exists()
)
Notes:
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.
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.
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:
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:
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.
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.
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.
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.
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.generalPractitioner field.
There are several ways to represent the relationship between a mother and a child. This is due to the when it is recorded and the purpose for which it is recorded:
During a maternity encounter, the Patient and Encounter resources for the mother will be present. After the child is born, new Patient, Encounter and RelatedPerson (for the mother) records will be created. The Child's encounter should reference the Mother's encounter using the partOf property.
The Patient/RelatedPerson structure should also be created for ongoing usage, as shown in this example:
<Patient> <id value="child"/> <!-- The details of the child --> </Patient> <RelatedPerson> <id value="rp-mom"/> <patient> <reference value="Patient/child"/> </patient> </RelatedPerson> <Patient> <id value="pat-mom"/> <!-- The details of the mom --> <link> <other value="rp-mom"/> <type value="see-also"/> </link> </Patient> <Encounter> <id value="mom-enc"/> <status value="in-progress"/> <class value="inpatient"/> <patient> <reference value="Patient/mom"/> </patient> </Encounter> <Encounter> <id value="child-enc"/> <status value="in-progress"/> <class value="inpatient"/> <patient> <reference value="Patient/child"/> </patient> <partOf> <reference value="Encounter/mom-enc"/> </partOf> </Encounter>
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:
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
.
A Master Patient Index (
MPI
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"
) 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.
, 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¶meters...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
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:
"match-grade"
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
:
The patient-mpi-match extension has one of the following codes :
| certain |
|
| probable |
|
| possible |
|
| certainly-not |
|
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
![]()
..
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| active | token |
|
Patient.active |
| address | string |
|
Patient.address |
| address-city | string |
|
Patient.address.city |
| address-country | string |
|
Patient.address.country |
| address-postalcode | string |
|
Patient.address.postalCode |
| address-state | string |
|
Patient.address.state |
| address-use | token |
|
Patient.address.use |
| animal-breed | token |
|
Patient.animal.breed |
| animal-species | token |
|
Patient.animal.species |
| birthdate | date |
|
Patient.birthDate |
|
|
date |
|
Patient.deceasedDateTime |
| deceased | token |
|
Patient.deceased[x] |
| token |
|
Patient.telecom(system=email) | |
| family | string |
|
Patient.name.family |
| gender | token |
|
Patient.gender |
| general-practitioner | reference | Patient's nominated general practitioner, not the organization that manages the record |
Patient.generalPractitioner
( Practitioner , Organization ) |
| given | string |
|
Patient.name.given |
| identifier | token |
|
Patient.identifier |
| language | token |
|
Patient.communication.language |
| link | reference |
|
Patient.link.other
( Patient , RelatedPerson ) |
| name | string |
|
Patient.name |
| organization | reference |
|
Patient.managingOrganization
( Organization ) |
| phone | token |
|
Patient.telecom(system=phone) |
| phonetic | string |
|
Patient.name |
| telecom | token |
|
Patient.telecom |