visit the hl7 website
Provincial Client Registry (PCR) HL7 FHIR® Contribution Implementation Guide v1.0.0-draft1
fhir-logo
  • Index
  • Home
    • Home
    • Introduction
    • Relationship to other Specifications
    • Scope
    • Glossary
  • Business Context
    • Business Context
    • Business Model
    • Business Data
    • Use Cases
    • Business Rules
    • Contribution Models
  • Technical Context
    • Technical Context
    • Implementer Responsibility
    • Conformance Rules
    • Connectivity Summary
  • FHIR Artifacts
    • FHIR Artifacts
    • Interactions
    • Operations
    • Profiles
    • Terminology
    • System URIs
    • Examples
    • Capability Statement
    • Response Handling
    • Downloads
  • Change Log
    • Change Log
    • Known Issues & Future Developments
    • Revision History
    1. Index
    2. FHIR Artifacts
    3. Interactions
    4. Patient Update

For a full list of available versions, see the Directory of published versions

4.1.3. Patient Update

Patient Update provides a RESTful approach to maintaining an existing Patient's Record within PCR based on changes to demographic and identifying information submitted by a Contributor. In a Patient Update request, updated patient information is provided to PCR, which validates the submission and evaluates the changes against existing patient identities using contributor authority, survivorship, source authority, and identity management rules. PCR assesses the submitted updates in accordance with governance and stewardship policies to determine how the information should be applied to the Patient's Record.

4.1.3.1. Usage

In the PCR Patient Update operation, the request must contain a Patient resource populated with the updated information for the individual being maintained. The completeness, accuracy, and authority of the information provided directly influence PCR's ability to appropriately apply the requested changes while preserving patient identity integrity and data quality. PCR records the source contribution, updates the Patient's Record in accordance with established governance policies, and maintains auditability, lineage, and stewardship controls to ensure patient information remains accurate, current, and trusted across connected healthcare organizations.

NOTE: FHIR's Conditional Update is not allowed at this time. Contributors must search for the patient in PCR to get the Patient id before performing an update.

PUT: Patient Update

Actor: Contributor
Role: Submits a Patient Contribution resource to the PCR.

Actor: PCR Role: Receives, authenticates, validates, and stores incoming patient information from the Contributor.

4.1.3.2. Specification

The FHIR IR specification is based on the HL7 FHIR R4 Update operation.

Patient Update Request

Patient Submission

The update interaction is performed by an HTTP PUT command as shown:

PUT [base-submit]/Patient/$id or PUT [base-submit]/Patient?{search parameters}

Patient Update Response

PCR OperationOutcome

Example Update Patient Request

HTTP Method:

PUT

Headers:

Content-Type: application/fhir+json

Address:

[base-submit]/Patient/1234567

Message Body:

{
"resourceType": "Patient",
"id": "patient-contribution-example",
"meta": {
"profile": [
"http://ontariohealth.ca/fhir/pcr/StructureDefinition/profile-patient-contribution"
]
},
"identifier": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR"
}
]
},
"system": "https://hospital.example.ca/mrn",
"value": "MRN123456"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Smith",
"given": [
"Michael",
"John"
],
"_given": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier",
"valueCode": "MID"
}
]
},
null
]
}
],
"gender": "male",
"birthDate": "1985-06-15",
"address": [
{
"use": "home",
"type": "postal",
"line": [
"100 Main Street"
],
"city": "Toronto",
"state": "ON",
"postalCode": "M5V2T6",
"country": "CAN"
}
]
}

Example Validation Failure HTTP Response: 400 Bad Request

Message Body:

{
"resourceType": "OperationOutcome",
"id": "operationoutcome-example-error",
"meta": {
"profile": [
"http://ontariohealth.ca/fhir/pcr/StructureDefinition/pcr-operationoutcome-contribution"
]
},
"issue": [
{
"severity": "error",
"code": "required",
"details": {
"text": "Patient family name is required."
},
"expression": [
"Patient.name[0].family"
]
}
]
}

Example Patient Not Found HTTP Response: 404 Not Found

Message Body:

{
"resourceType": "OperationOutcome",
"id": "operationoutcome-example-notfound",
"meta": {
"profile": [
"http://ontariohealth.ca/fhir/pcr/StructureDefinition/pcr-operationoutcome-contribution"
]
},
"issue": [
{
"severity": "error",
"code": "not-found",
"details": {
"text": "No Patient resource was found for id 987654."
},
"expression": [
"Patient.id"
]
}
]
}

Example Version Conflict HTTP Response: 412 Precondition Failed

Message Body:

{
"resourceType": "OperationOutcome",
"id": "operationoutcome-example-versionconflict",
"meta": {
"profile": [
"http://ontariohealth.ca/fhir/pcr/StructureDefinition/pcr-operationoutcome-contribution"
]
},
"issue": [
{
"severity": "error",
"code": "conflict",
"details": {
"text": "The submitted resource version does not match the current server version. Retrieve the latest Patient version and resubmit the update."
},
"expression": [
"Patient.meta.versionId"
]
}
]
}

4.1.3.3. Supported Profiles

Patient Submission

PCR OperationOutcome

4.1.3.4. Expected Behavior

Outcome Header HTTP Response Payload OperationOutcome Expected Handling
Patient updated 200 OK Yes Return the updated Patient resource, updated ETag, and version metadata.
Validation failure 400 Bad Request Yes Return computable validation details and expression path where applicable.
Patient not found 404 Not Found Yes Indicate that the referenced Patient id does not exist or cannot be resolved.
Unauthorized 401 Unauthorized or 403 Forbidden No
Governance or survivorship conflict 409 Conflict No
Version conflict 412 Precondition Failed Yes Indicate version mismatch when If-Match or version-aware update control fails.
Service failure 5xx Server Error No
Version: 1.0.0 FHIR Version: R4.0.1

Powered by SIMPLIFIER.NET

HL7® and FHIR® are the registered trademarks of Health Level Seven International