This
page
is
part
of
the
FHIR
Specification
(v1.0.2:
DSTU
(v3.0.2:
STU
2).
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
R3
R2
Patient
Administration
Work
Group
|
Maturity
Level
:
|
Trial Use | Compartments : Patient , Practitioner , RelatedPerson |
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
.
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
,
AdverseEvent
,
AllergyIntolerance
,
Appointment
,
AppointmentResponse
,
AuditEvent
,
Basic
,
BodySite
,
CarePlan
,
CareTeam
,
ChargeItem
,
Claim
,
ClaimResponse
,
ClinicalImpression
,
Communication
,
CommunicationRequest
,
Composition
,
Condition
,
Consent
,
Contract
,
Coverage
,
DetectedIssue
,
Device
,
DeviceUseRequest
DeviceRequest
,
DeviceUseStatement
,
DiagnosticOrder
,
DiagnosticReport
,
DocumentManifest
,
DocumentReference
,
EligibilityRequest
,
Encounter
,
EnrollmentRequest
,
EpisodeOfCare
,
ExplanationOfBenefit
,
FamilyMemberHistory
,
Flag
,
Goal
,
Group
,
ImagingObjectSelection
GuidanceResponse
,
ImagingManifest
,
ImagingStudy
,
Immunization
,
ImmunizationRecommendation
,
List
,
MeasureReport
,
Media
,
MedicationAdministration
,
MedicationDispense
,
MedicationOrder
MedicationRequest
,
MedicationStatement
,
NutritionOrder
,
Observation
,
Order
,
Person
,
Procedure
,
ProcedureRequest
,
Provenance
,
QuestionnaireResponse
,
ReferralRequest
,
RelatedPerson
,
RequestGroup
,
ResearchSubject
,
RiskAssessment
,
Schedule
,
Sequence
,
Specimen
,
SupplyDelivery
,
SupplyRequest
,
Task
and
VisionPrescription
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
Information
about
an
individual
or
animal
receiving
health
care
services
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..* | Identifier |
An
identifier
for
this
patient
|
|
?! Σ | 0..1 | boolean | Whether this patient's record is in active use |
|
Σ | 0..* | HumanName |
A
name
associated
with
the
patient
|
|
Σ | 0..* | ContactPoint |
A
contact
detail
for
the
individual
|
|
Σ | 0..1 | code |
male
|
female
|
other
|
unknown
AdministrativeGender ( Required ) |
|
Σ | 0..1 | date | The date of birth for the individual |
|
?! Σ | 0..1 | Indicates if the individual is deceased or not | |
|
boolean | |||
|
dateTime | |||
|
Σ | 0..* | Address |
Addresses
for
the
individual
|
|
0..1 | CodeableConcept |
Marital
(civil)
status
of
a
patient
Marital Status Codes ( |
|
|
0..1 | Whether patient is part of a multiple birth | ||
|
boolean | |||
|
integer | |||
|
0..* | Attachment |
Image
of
the
patient
|
|
|
I | 0..* | BackboneElement |
A
contact
party
(e.g.
guardian,
partner,
friend)
for
the
patient
+ SHALL at least contain a contact's details or a reference to an organization |
|
0..* | CodeableConcept |
The
kind
of
relationship
|
|
|
0..1 | HumanName | A name associated with the contact person | |
|
0..* | ContactPoint |
A
contact
detail
for
the
person
|
|
|
0..1 | Address | Address for the contact person | |
|
0..1 | code |
male
|
female
|
other
|
unknown
AdministrativeGender ( Required ) |
|
|
I | 0..1 | Reference ( Organization ) | Organization that is associated with the contact |
|
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |
|
?! Σ | 0..1 | BackboneElement | This patient is known to be an animal (non-human) |
|
Σ | 1..1 | CodeableConcept |
E.g.
Dog,
Cow
AnimalSpecies ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
Poodle,
Angus
AnimalBreeds ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
Neutered,
Intact
GenderStatus ( Example ) |
|
0..* | BackboneElement |
A
list
of
Languages
which
may
be
used
to
communicate
with
the
patient
about
his
or
her
health
|
|
|
1..1 | CodeableConcept |
The
language
which
can
be
used
to
communicate
with
the
patient
about
his
or
her
health
|
|
|
0..1 | boolean | Language preference indicator | |
|
0..* | Reference ( Organization | Practitioner ) |
Patient's
nominated
primary
care
provider
|
|
|
Σ | 0..1 | Reference ( Organization ) | Organization that is the custodian of the patient record |
|
?! Σ | 0..* | BackboneElement |
Link
to
another
patient
resource
that
concerns
the
same
actual
person
|
|
|
1..1 | Reference ( Patient | RelatedPerson ) | The other patient or related person resource that the link refers to |
|
|
1..1 | code |
replaced-by
|
replaces
|
refer
|
seealso
-
type
of
link
LinkType ( Required ) |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
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 replaced-by | replaces | refer | seealso - type of link --> </link> </Patient>
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! replaced-by | replaces | 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 replaced-by | replaces | refer | seealso - type of link ], ...; ]
Changes since DSTU2
| Patient | |
| Patient.maritalStatus |
|
| Patient.contact.relationship |
|
| Patient.communication.language |
|
| Patient.generalPractitioner |
|
| Patient.link.other |
|
| Patient.link.type |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 18 tests that all execute ok. All tests pass round-trip testing and 6 r3 resources are invalid (12 errors). ).
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
Information
about
an
individual
or
animal
receiving
health
care
services
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..* | Identifier |
An
identifier
for
this
patient
|
|
?! Σ | 0..1 | boolean | Whether this patient's record is in active use |
|
Σ | 0..* | HumanName |
A
name
associated
with
the
patient
|
|
Σ | 0..* | ContactPoint |
A
contact
detail
for
the
individual
|
|
Σ | 0..1 | code |
male
|
female
|
other
|
unknown
AdministrativeGender ( Required ) |
|
Σ | 0..1 | date | The date of birth for the individual |
|
?! Σ | 0..1 | Indicates if the individual is deceased or not | |
|
boolean | |||
|
dateTime | |||
|
Σ | 0..* | Address |
Addresses
for
the
individual
|
|
0..1 | CodeableConcept |
Marital
(civil)
status
of
a
patient
Marital Status Codes ( |
|
|
0..1 | Whether patient is part of a multiple birth | ||
|
boolean | |||
|
integer | |||
|
0..* | Attachment |
Image
of
the
patient
|
|
|
I | 0..* | BackboneElement |
A
contact
party
(e.g.
guardian,
partner,
friend)
for
the
patient
+ SHALL at least contain a contact's details or a reference to an organization |
|
0..* | CodeableConcept |
The
kind
of
relationship
|
|
|
0..1 | HumanName | A name associated with the contact person | |
|
0..* | ContactPoint |
A
contact
detail
for
the
person
|
|
|
0..1 | Address | Address for the contact person | |
|
0..1 | code |
male
|
female
|
other
|
unknown
AdministrativeGender ( Required ) |
|
|
I | 0..1 | Reference ( Organization ) | Organization that is associated with the contact |
|
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |
|
?! Σ | 0..1 | BackboneElement | This patient is known to be an animal (non-human) |
|
Σ | 1..1 | CodeableConcept |
E.g.
Dog,
Cow
AnimalSpecies ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
Poodle,
Angus
AnimalBreeds ( Example ) |
|
Σ | 0..1 | CodeableConcept |
E.g.
Neutered,
Intact
GenderStatus ( Example ) |
|
0..* | BackboneElement |
A
list
of
Languages
which
may
be
used
to
communicate
with
the
patient
about
his
or
her
health
|
|
|
1..1 | CodeableConcept |
The
language
which
can
be
used
to
communicate
with
the
patient
about
his
or
her
health
|
|
|
0..1 | boolean | Language preference indicator | |
|
0..* | Reference ( Organization | Practitioner ) |
Patient's
nominated
primary
care
provider
|
|
|
Σ | 0..1 | Reference ( Organization ) | Organization that is the custodian of the patient record |
|
?! Σ | 0..* | BackboneElement |
Link
to
another
patient
resource
that
concerns
the
same
actual
person
|
|
|
1..1 | Reference ( Patient | RelatedPerson ) | The other patient or related person resource that the link refers to |
|
|
1..1 | code |
replaced-by
|
replaces
|
refer
|
seealso
-
type
of
link
LinkType ( Required ) |
Documentation
for
this
format
|
||||
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 replaced-by | replaces | refer | seealso - type of link --> </link> </Patient>
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! replaced-by | replaces | 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 replaced-by | replaces | refer | seealso - type of link ], ...; ]
Changes
since
DSTU2
| Patient | |
| Patient.maritalStatus |
|
| Patient.contact.relationship |
|
| Patient.communication.language |
|
| Patient.generalPractitioner |
|
| Patient.link.other |
|
| Patient.link.type |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 18 tests that all execute ok. All tests pass round-trip testing and 6 r3 resources are invalid (12 errors). ).
Alternate
definitions:
Schema
/
Schematron
,
Resource
Profile
Master
Definition
(
XML
,
JSON
),
Questionnaire
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
| Path | Definition | Type | Reference |
|---|---|---|---|
|
Patient.gender
Patient.contact.gender |
The gender of a person used for administrative purposes. | Required | AdministrativeGender |
| Patient.maritalStatus | The domestic partnership status of a person. |
|
Marital Status Codes |
| Patient.contact.relationship | The nature of the relationship between a patient and a contact person for that patient. | Extensible |
|
| Patient.animal.species | The species of an animal. | Example | AnimalSpecies |
| Patient.animal.breed | The breed of an animal. | Example | AnimalBreeds |
| Patient.animal.genderStatus | The state of the animal's reproductive organs. | Example | GenderStatus |
| Patient.communication.language | A human language. |
|
|
| Patient.link.type | The type of link between this patient resource and another patient resource. | Required | LinkType |
on
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.
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:
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',
'replaced-by',
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
record
may
use
a
link
type
of
'replaces'
pointing
to
the
replaced
old
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
Linkage
resource
and
the
Patient.link
property
conceptually
perform
similar
functions
in
FHIR,
both
provide
an
assertion
of
linkages
between
multiple
resource
instances
that
are
referring
to
the
same
underlying
individual.
When
a
Patient
resource
is
linked/merged
then
it
needs
to
have
an
internal
indication
that
there
is
another
patient
resource
that
should
be
considered
when
referencing
other
records,
which
is
achieved
using
the
patient.link
property.
Not
detecting/checking
for
a
potential
linkage
could
mean
that
related
clinical
records
are
not
discovered,
potentially
impacting
patient
safety.
(which
is
why
using
the
Linkage
resource
is
not
appropriate,
as
its
use
in
this
manner
would
force
the
use
of
either
another
query
to
potentially
locate
other
patient
resources
to
consider,
or
use
_revInclude)
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
Patient.generalPractitioner
field.
Tracking
a
patient's
gender
presents
a
number
of
challenges
due
to
biological
variations,
differing
cultural
expectations
and
legal
restrictions,
and
the
availability
of
various
kinds
of
gender
re-assignment.
The
basic
gender
included
in
Patient.gender
has
a
limited
use,
that
of
the
administrative
gender:
the
gender
that
the
patient
is
considered
to
have
for
administration
and
record
keeping
purposes.
In
addition,
to
this
gender,
other
kinds
of
gender
may
be
represented:
).
LOINC
also
provides
a
set
of
possible
codes
,
or
SNOMED
CT
has
the
descendents
of
285116001
:
Gender
identity
finding
Other related Observations may describe the Karyotypic/Genetic, Gonadal, Ductal, Phenotypic status of a patient.
For veterinary use the animal component also includes the genderStatus which indicates sterility information.
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:
DSTUSTU 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
)
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
call
the
"mpi"
query
,
patient
$match
operation,
which
uses
the
normal
search
processes
a
parameters
defined
for
patient.
However,
rather
than
their
normal
use,
they
are
interpreted
resource
containing
a
complete
or
fragment
of
a
patient
resource,
along
with
some
other
control
parameters.
This
provided
patient
resource
does
not
need
to
pass
full
validation
(mandatory
fields,
or
invariants)
as
the
resource
will
not
be
stored,
it
does
however
need
to
be
a
parsable
instance.
The
MPI
inputs
-
e.g.
instead
of
requiring
that
can
then
use
the
resources
literally
contain
properties
of
the
search
parameters,
they
are
passed
to
resource
as
MPI
inputs,
and
processed
using
an
internal
MPI
algorithm
of
some
kind
that
uses
them
to
determine
the
most
appropriate
matches
in
the
patient
set.
It
does
not
have
to
use
all
the
properties
provided,
and
may
ignore
others
provided
quietly.
A
specific
profile
(with
the
required
fields/invariants)
can
be
used
to
define
what
parameters
the
MPI
algorithm
requires.
GET [base]/Patient?_query=mpi¶meters...POST [base]/Patient/$match [some headers including content-type xml or json] [parameters body with patient resource inside]
The
response
from
an
"mpi"
query
$match
operation
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"
"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">
<extension url="http://hl7.org/fhir/StructureDefinition/match-grade">
<valueCode value="probable"/>
</extension>
<score value="0.80"/>
</search>
</entry>
The
patient-mpi-match
match-grade
extension
has
one
of
the
following
codes
:
| certain |
This
record
meets
the
|
| probable | This 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. |
| possible | This record may be a matching one. Additional review (e.g. by a human) SHOULD be performed before using this as a match. |
| certainly-not |
This
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
|
One
optional
parameter
to
the
The
purpose
of
using
an
MPI
match
operation
search
versus
a
regular
search
is
"userid",
which
that
the
MPI
search
is
used
really
intended
to
pass
the
user
details
from
target
and
find
a
trusted
client
to
specific
single
patient
for
recording
information
about
reducing
errors
through
incorrectly
selecting
the
MPI.
wrong
patient.
Often
MPIs
won't
return
data
if
there
is
insuffience
search
parameter
data,
such
as
a
partial
surname.
This
may
compares
to
a
regular
search
which
can
be
used
by
the
MPI
for
finding
lists
of
patients,
such
as
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
locate
a
patient
trying
to
find
their
own
record.
Note
group
of
patients
that
this
parameter
is
used
where
the
user
would
not
be
expected
to
log
share
a
property
in
common,
such
as
live
in
to
the
MPI
directly;
whether
this
is
appropriate
or
not
is
a
deployment
choice.
specific
location,
or
fit
within
an
age
range
for
performing
population
analysis.
A
formal
definition
for
the
MPI
query
$match
operation
is
published.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description |
| In Common |
| active | token | Whether the patient record is active | Patient.active | |
| address | string |
|
Patient.address | 3 Resources |
| address-city | string | A city specified in an address | Patient.address.city | 3 Resources |
| address-country | string | A country specified in an address | Patient.address.country | 3 Resources |
| address-postalcode | string | A postalCode specified in an address | Patient.address.postalCode | 3 Resources |
| address-state | string | A state specified in an address | Patient.address.state | 3 Resources |
| address-use | token | A use code specified in an address | Patient.address.use | 3 Resources |
| animal-breed | token | The breed for animal patients | Patient.animal.breed | |
| animal-species | token | The species for animal patients | Patient.animal.species | |
| birthdate | date | The patient's date of birth | Patient.birthDate |
|
|
|
date | The date of death has been provided and satisfies this search value |
|
|
| deceased | token | This patient has been marked as deceased, or as a death date entered |
|
|
| token | A value in an email contact |
| 4 Resources | |
| family | string | A portion of the family name of the patient | Patient.name.family | 1 Resources |
| gender | token | Gender of the patient | Patient.gender | 3 Resources |
| general-practitioner | reference | Patient's nominated general practitioner, not the organization that manages the record |
Patient.generalPractitioner
( Practitioner , Organization ) | |
| given | string | A portion of the given name of the patient | Patient.name.given | 1 Resources |
| identifier | token | A patient identifier | Patient.identifier | |
| language | token | Language code (irrespective of use value) | Patient.communication.language | |
| link | reference | All patients linked to the given patient |
Patient.link.other
( Patient , RelatedPerson ) |
|
| name | string |
A
|
Patient.name | |
| organization | reference | The organization at which this person is a patient |
Patient.managingOrganization
( Organization ) |
|
| phone | token | A value in a phone contact |
| 4 Resources |
| phonetic | string | A portion of either family or given name using some kind of phonetic matching algorithm | Patient.name | 3 Resources |
| telecom | token | The value in any kind of telecom details of the patient | Patient.telecom | 4 Resources |