Patch Operations
Add Identifier
Description:
Add a new identifier for the patient.
Path |
Operation |
Value Type |
/identifier/-
|
add
|
Identifier
|
Example:
{
"path": "/identifier/-",
"op": "add",
"value": {
"type": {
"coding": [
{
"code": "MR",
"system": "http://hl7.org/fhir/v2/0203"
}
]
},
"system": "urn:oid:1.1.1.1.1.1",
"value": "<unique identifier>",
"period": {
"start": "2016-01-02T00:00:00-05:00",
"end": "2020-01-02T00:00:00-05:00"
}
}
}
Note:
- Must not contain the
assigner
and use
fields.
- Must contain the
type
, system
, and value
fields, and must include a time component with a timezone when specifying a period
.
Test Identifier ID
Description:
Test the value of the
Identifier.id
of the identifier at the given
{index}
in the list of patient identifiers.
Path |
Operation |
Value Type |
/identifier/{index}/id
|
test
|
string
|
Example:
{
"path": "/identifier/0/id",
"op": "test",
"value": "CI-9926250-1"
}
Remove Identifier
Description:
Remove the identifier at the given
{index}
in the list of patient identifiers.
Path |
Operation |
Value Type |
/identifier/{index}
|
remove
|
N/A
|
Example:
{
"path": "/identifier/1",
"op": "remove"
}
Note: Requires a test operation to be provided for the
Identifier.id
of the identifier intended to be removed.
Replace Identifier System
Description:
Replace the
Identifier.system
of the identifier at the given
{index}
in the list of patient identifiers.
Path |
Operation |
Value Type |
/identifier/{index}/system
|
replace
|
uri
|
Example:
{
"path": "/identifier/1/system",
"op": "replace",
"value": "urn:oid:2.16.840.1.113883.3.13.6"
}
Note: Requires a test operation to be provided for the
Identifier.id
of the identifier whose
system
is intended to be replaced.
Replace Identifier Value
Description:
Replace the
Identifier.value
of the identifier at the given
{index}
in the list of patient identifiers.
Path |
Operation |
Value Type |
/identifier/{index}/value
|
replace
|
string
|
Example:
{
"path": "/identifier/0/value",
"op": "replace",
"value": "<unique identifier>"
}
Note: Requires a test operation to be provided for the
Identifier.id
of the identifier whose
value
is intended to be replaced.
Replace Identifier Period
Description:
Replace the
Identifier.period
of the identifier at the given
{index}
in the list of patient identifiers.
Path |
Operation |
Value Type |
/identifier/{index}/period
|
replace
|
Period
|
Example:
{
"path": "/identifier/1/period",
"op": "replace",
"value": {
"start": "2016-01-02T00:00:00-05:00",
"end": "2022-01-02T00:00:00-05:00"
}
}
Note:
- Requires a test operation to be provided for the
Identifier.id
of the identifier whose period
is intended to be replaced.
- The
start
and end
when provided must include a time component with a timezone.
- When either
start
or end
are not provided its value will be unset.
Test NameID
Description:
Test the value of the
HumanName.id
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/id
|
test
|
string
|
Example:
{
"path": "/name/0/id",
"op": "test",
"value": "CI-5786010-0"
}
Note: This operation is only supported for the first name in the list of patient names (
{index}
== 0).
Replace Name Family
Description:
Replace the
HumanName.family
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/family
|
replace
|
String
|
Example:
{
"path": "/name/0/family",
"op": "replace",
"value": "Potter"
}
Note:
- Requires a test operation to be provided for the
HumanName.id
of the name whose family
is intended to be replaced.
- This operation is only supported for the first name in the list of patient names (
{index}
== 0).
Replace Name Given
Description:
Replace the
HumanName.given
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/given
|
replace
|
String
|
Example:
{
"path": "/name/0/given",
"op": "replace",
"value": [
"Harry",
"James"
]
}
Note:
- Requires a test operation to be provided for the
HumanName.id
of the name whose given
is intended to be replaced.
- This operation is only supported for the first name in the list of patient names (
{index}
== 0).
- If fewer values for given are provided in the list than previously set, the additional older values will be unset.
Replace Name Prefix
Description:
Replace the
HumanName.prefix
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/prefix
|
replace
|
String
|
Example:
{
"path": "/name/0/prefix",
"op": "replace",
"value": "Mr."
}
Note:
- Requires a test operation to be provided for the
HumanName.id
of the name whose prefix
is intended to be replaced.
- This operation is only supported for the first name in the list of patient names (
{index}
== 0).
- If no prefix value is provided the prefix on the name will be unset.
Replace Name Suffix
Description:
Replace the
HumanName.suffix
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/suffix
|
replace
|
String
|
Example:
{
"path": "/name/2/suffix",
"op": "replace",
"value": "Jr."
}
Note:
- Requires a test operation to be provided for the
HumanName.id
of the name whose suffix
is intended to be replaced.
- This operation is only supported for the first name in the list of patient names (
{index}
== 0).
- If no suffix value is provided the suffix on the name will be unset.
Replace Name Period
Description:
Replace the
HumanName.period
of the name at the given
{index}
in the list of patient names.
Path |
Operation |
Value Type |
/name/{index}/period
|
replace
|
Period
|
Example:
{
"path": "/name/0/period",
"op": "replace",
"value": {
"start": "2016-01-02T00:00:00-05:00"
}
}
Note:
- Requires a test operation to be provided for the
HumanName.id
of the name whose period
is intended to be replaced.
- This operation is only supported for the first name in the list of patient names (
{index}
== 0).
- Must not contain the
end
field.
- The
start
must include a time component with a timezone.
Add Telecom
Description:
Add a new contact detail for the patient.
Path |
Operation |
Value Type |
/telecom/-
|
add
|
ContactPoint
|
Example:
{
"path": "/telecom/-",
"op": "add",
"value": {
"system": "phone",
"value": "8168229121",
"use": "home",
"rank": 1,
"extension": [
{
"valueString": "12345",
"url": "http://hl7.org/fhir/StructureDefinition/contactpoint-extension"
}
],
"period": {
"start": "2012-05-17T15:33:18.000Z"
}
}
}
Note: Must contain the
system
,
use
, and
value
fields, and must include a time component with a timezone when specifying a
period
.
Test Telecom ID
Description:
Test the value of the
ContactPoint.id
of the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}/id
|
test
|
string
|
Example:
{
"path": "/telecom/0/id",
"op": "test",
"value": "CI-PH-2807950-0"
}
Remove Telecom
Description:
Remove the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}
|
remove
|
N/A
|
Example:
{
"path": "/telecom/1",
"op": "remove"
}
Note: Requires a test operation to be provided for the
ContactPoint.id
of the telecom intended to be removed.
Replace Telecom Value
Description:
Replace the
ContactPoint.value
of the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}/value
|
replace
|
string
|
Example:
{
"path": "/telecom/1/value",
"op": "replace",
"value": "987-654-3210"
}
Note: Requires a test operation to be provided for the
ContactPoint.id
of the telecom whose
value
is intended to be replaced.
Replace Telecom Rank
Description:
Replace the
ContactPoint.rank
of the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}/rank
|
replace
|
positiveInt
|
Example:
{
"path": "/telecom/1/rank",
"op": "replace",
"value": 2
}
Note: Requires a test operation to be provided for the
ContactPoint.id
of the telecom whose
rank
is intended to be replaced.
Replace Telecom Extension
Description:
Replaces the phone extension of the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}/extension
|
replace
|
Extension
|
Example:
{
"path": "/telecom/1/extension",
"op": "replace",
"value": [
{
"valueString": "12345",
"url": "http://hl7.org/fhir/StructureDefinition/contactpoint-extension"
}
]
}
Note:
- Requires a test operation to be provided for the
ContactPoint.id
of the telecom whose extension
value is intended to be replaced.
- The
system
field of the telecom whose extension
is intended to be replaced must be 'phone'.
- If no
valueString
is provided, the phone extension will be unset.
- The
url
value must be http://hl7.org/fhir/StructureDefinition/contactpoint-extension.
Replace Telecom Period
Description:
Replace the
ContactPoint.period
of the telecom at the given
{index}
in the list of patient telecoms.
Path |
Operation |
Value Type |
/telecom/{index}/period
|
replace
|
Period
|
Example:
{
"path": "/telecom/1/period",
"op": "replace",
"value": {
"start": "2016-01-02T00:00:00-05:00",
"end": "2022-01-02T00:00:00-05:00"
}
}
Note:
- Requires a test operation to be provided for the
ContactPoint.id
of the telecom whose period
is intended to be replaced.
- The
start
and end
when provided must include a time component with a timezone.
- When either
start
or end
are not provided its value will be unset.
Replace Gender
Description:
Replace the gender that the patient is considered to have for administration and record keeping purposes.
Path |
Operation |
Value Type |
/gender
|
replace
|
code
|
Example:
{
"path": "/gender",
"op": "replace",
"value": "female"
}
Replace Birth Date
Description:
Replace the date of birth for the individual.
Path |
Operation |
Value Type |
/birthDate
|
replace
|
date
|
Example:
{
"path": "/birthDate",
"op": "replace",
"value": "1990-09-15"
}
Add Address
Description:
Add a new address for the patient.
Path |
Operation |
Value Type |
/address/-
|
add
|
Address
|
Example:
{
"path": "/address/-",
"op": "add",
"value": {
"use": "home",
"line": [
"1212 Faircastle Drive",
"Apartment 406"
],
"city": "KC",
"district": "Jackson",
"state": "KS",
"postalCode": "64199",
"country": "United States of America",
"period": {
"start": "2012-05-17T15:33:18.000Z"
}
}
}
Note:
- Must not contain the
text
field.
- Must contain the
use
field, and must include a time component with a timezone when specifying a period
.
Test Address ID
Description:
Test the value of the
Address.id
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/id
|
test
|
string
|
Example:
{
"path": "/address/0/id",
"op": "test",
"value": "CI-2671902-0"
}
Remove Address
Description:
Remove the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}
|
remove
|
N/A
|
Example:
{
"path": "/address/1",
"op": "remove"
}
Note: Requires a test operation to be provided for the
Address.id
of the address intended to be removed.
Replace Address Line
Description:
Replace the
Address.line
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/line
|
replace
|
string
|
Example:
{
"path": "/address/1/line",
"op": "replace",
"value": [
"1212 Faircastle Drive",
"Apartment 410"
]
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose line
is intended to be replaced.
- If no line is provided, all the lines on the address will be unset.
- If fewer values for line are provided in the list than previously set, the additional older values will be unset.
Replace Address City
Description:
Replace the
Address.city
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/city
|
replace
|
string
|
Example:
{
"path": "/address/1/city",
"op": "replace",
"value": "St. Louis"
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose city
is intended to be replaced.
- If no city is provided, the city on the address will be unset.
Replace Address District
Description:
Replace the
Address.district
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/district
|
replace
|
string
|
Example:
{
"path": "/address/1/district",
"op": "replace",
"value": "Johnson"
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose district
is intended to be replaced.
- If no district is provided, the district on the address will be unset.
Replace Address State
Description:
Replace the
Address.state
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/state
|
replace
|
string
|
Example:
{
"path": "/address/1/state",
"op": "replace",
"value": "MO"
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose state
is intended to be replaced.
- If no state is provided, the state on the address will be unset.
Replace Address Postal Code
Description:
Replace the
Address.postalCode
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/postalCode
|
replace
|
string
|
Example:
{
"path": "/address/1/postalCode",
"op": "replace",
"value": "66209"
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose postalCode
is intended to be replaced.
- If no postalCode is provided, the postalCode on the address will be unset.
Replace Address Country
Description:
Replace the
Address.country
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/country
|
replace
|
string
|
Example:
{
"path": "/address/1/country",
"op": "replace",
"value": "Canada"
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose country
is intended to be replaced.
- If no country is provided, the country on the address will be unset.
Replace Address Period
Description:
Replace the
Address.period
of the address at the given
{index}
in the list of patient addresses.
Path |
Operation |
Value Type |
/address/{index}/period
|
replace
|
Period
|
Example:
{
"path": "/address/1/period",
"op": "replace",
"value": {
"start": "2016-01-02T00:00:00-05:00",
"end": "2022-01-02T00:00:00-05:00"
}
}
Note:
- Requires a test operation to be provided for the
Address.id
of the address whose period
is intended to be replaced.
- The
start
and end
when provided must include a time component with a timezone.
- When either
start
or end
are not provided its value will be unset.
Replace Marital Status
Description:
Replace the patient's most recent marital (civil) status.
Path |
Operation |
Value Type |
/maritalStatus
|
replace
|
CodeableConcept
|
Example:
{
"path": "/maritalStatus",
"op": "replace",
"value": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus",
"code": "S"
}
]
}
}
Replace Communication
Description:
Replace the language which may be used to communicate with the patient about his health.
Path |
Operation |
Value Type |
/communication
|
replace
|
BackboneElement
|
Example:
{
"path": "/communication",
"op": "replace",
"value": [
{
"language": {
"coding": [
{
"system": "urn:ietf:bcp:47",
"code": "en",
}
]
},
"preferred": true
}
]
}
Note: Patient.communication
value should a list with only a single element.
Add General Practitioner
Description:
Add a new nominated care provider.
Path |
Operation |
Value Type |
/generalPractitioner/-
|
add
|
Reference
|
Example:
{
"path": "/generalPractitioner/-",
"op": "add",
"value": {
"reference": "Practitioner/995932"
}
}
Note: Must be a reference to a
Practitioner
.
Test General Practitioner ID
Description:
Test the value of the
Reference.id
of the general practitioner at the given
{index}
in the list of the patient's nominated care providers.
Path |
Operation |
Value Type |
/generalPractitioner/{index}/id
|
test
|
string
|
Example:
{
"path": "/generalPractitioner/1/id",
"op": "test",
"value": "CI-312732-2"
}
Remove General Practitioner
Description:
Remove the general practitoner at the given
{index}
in the list of the patient's nominated care providers.
Path |
Operation |
Value Type |
/generalPractitioner/{index}
|
remove
|
N/A
|
Example:
{
"path": "/generalPractitioner/1",
"op": "remove"
}
Note: Requires a test operation to be provided for the
Reference.id
of the general practitioner intended to be removed.
Replace Extension
Description:
Replace the value of an extension that adds additional information about the patient.
Path |
Operation |
Value Type |
/extension
|
replace
|
Extension
|
Example:
{
"path": "/extension",
"op": "replace",
"value": [
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex",
"valueCode": "M"
},
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
"extension": [
{
"url": "ombCategory",
"valueCoding": {
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2106-3",
"display": "White"
}
},
{
"url": "detailed",
"valueCoding": {
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2110-5",
"display": "English"
}
}
]
},
{
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
"extension": [
{
"url": "ombCategory",
"valueCoding": {
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2135-2",
"display": "Hispanic or Latino"
}
},
{
"url": "detailed",
"valueCoding": {
"system": "urn:oid:2.16.840.1.113883.6.238",
"code": "2156-8",
"display": "Costa Rican"
}
}
]
},
{
"url": "https://fhir-ehr.cerner.com/r4/StructureDefinition/communication-preference",
"extension": [
{
"extension": [
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/4640016",
"code": "2572136733",
"display": "Appointment Reminder",
"userSelected": false
}
],
"text": "Appointment Reminder"
},
"url": "communication-type"
},
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/23042",
"code": "4054467",
"display": "Phone",
"userSelected": false
}
]
},
"url": "contact-method"
},
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/43",
"code": "163",
"display": "Business",
"userSelected": false
}
],
"text": "Home"
},
"url": "contact-type"
},
{
"valueDateTime": "2019-12-26T15:41:52.000Z",
"url": "verified-datetime"
}
],
"url": "https://fhir-ehr.cerner.com/r4/StructureDefinition/communication-preference"
}
]
}
]
}
Note:
Supported extensions that can be replaced:
- US Core Birth Sex
- US Core Race
- US Core Ethnicity
Test Communication Preference ID
Description:
Test the value of the
CommunicationPreference.id
of the Communication Preference at the given
{index}
in the list of the patient's extensions.
Path |
Operation |
Value Type |
/extension/{index}/id
|
test
|
string
|
Example:
{
"path": "/extension/1/id",
"op": "test",
"value": "151534123"
}
Remove Communication PreferenceID
Description:
Remove the CommunicationPreference at the given
{index}
in the list of the patient's extensions.
Path |
Operation |
Value Type |
/extension/{index}
|
remove
|
N/A
|
Example:
{
"path": "/extension/1",
"op": "remove"
}
Note: Requires a test operation to be provided for the
CommunicationPreference.id
of the Communication Preference intended to be removed.
Add Communication Preference
Description:
Add a new Communication Preference extension for the patient.
Path |
Operation |
Value Type |
/extension/-
|
add
|
Communication Preference
|
Example:
{
"path": "/extension/-",
"op": "add",
"value": {
"url": "https://fhir-ehr.cerner.com/r4/StructureDefinition/communication-preference",
"extension": [
{
"extension": [
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/4640016",
"code": "485602703",
"display": "Appointment Reminder",
"userSelected": false
}
],
"text": "Appointment Reminder"
},
"url": "communication-type"
},
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/23042",
"code": "4054467",
"display": "Phone",
"userSelected": false
}
]
},
"url": "contact-method"
},
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/ec2458f2-1e24-41c8-b71b-0e701af7583d/codeSet/43",
"code": "163",
"display": "Business",
"userSelected": false
}
],
"text": "Home"
},
"url": "contact-type"
},
{
"valueDateTime": "2019-12-26T15:41:52.000Z",
"url": "verified-datetime"
}
],
"url": "https://fhir-ehr.cerner.com/r4/StructureDefinition/communication-preference"
}
]
}
}
Note: Must be a valid
CommunicationPreference
extension.
Replace Communication PreferenceID
Description:
Replace the CommunicationPreference at the given
{index}
in the list of the patient's extensions. At a time only one communication Preference can be changed.
Path |
Operation |
Value Type |
/extension/{index}
|
replace
|
Communication Preference
|
Example:
{
"path": "/extension/0",
"op": "replace",
"value": {
"url": "https://fhir-ehr.cerner.com/r4/StructureDefinition/communication-preference",
"extension": [
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/dacc6494-e336-45ad-8729-b789ff8663c6/codeSet/4640016",
"code": "2572145011",
"display": "Clinical Communications",
"userSelected": true
}
]
},
"url": "communication-type"
},
{
"valueCodeableConcept": {
"coding": [
{
"system": "https://fhir.cerner.com/34fc7274-1120-4899-937d-a9ea1becc848/codeSet/23042",
"code": "4054468"
}
]
},
"url": "contact-method"
}
]
}
}
Note:
- Requires a test operation to be provided for the
CommunicationPreference.id
of the Communication Preference intended to be removed.
- Test operation path and replace extension path index should be same.