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 Create

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

4.1.2. Patient Create

Patient Create provides a RESTful approach to establishing a new Patient's Record within PCR based on demographic and identifying information submitted by a Contributor. In a Patient Create request, patient information is provided to PCR, which validates the submission and evaluates the data against existing managed patient identities using identity resolution, duplicate prevention, and source authority rules. PCR assesses the likelihood that the submitted information corresponds to an existing patient and applies governance policies to determine whether a new identity should be created or whether an existing identity should be referenced.

4.1.2.1. Usage

In the PCR Patient Create operation, the request must include a Patient resource populated with the information known about the individual being registered. The completeness and quality of the information provided directly influence PCR's ability to accurately evaluate potential matches and prevent duplicate patient creation. If no existing Patient's Record is determined to represent the individual, PCR creates a new Patient's Record, records the source contribution, and establishes the patient record in accordance with approved identity management, stewardship, and auditability requirements.

NOTE: FHIR's Conditional Create is not allowed at this time.

POST: Patient Create

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.2.2. Specification

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

Patient Create Request

Patient Submission

The create interaction is performed by an HTTP POST command as shown:

POST [base-submit]/Patient/

Patient Create Response

PCR OperationOutcome

Example Create Patient Request

HTTP Method:

POST

Headers:

Content-Type: application/fhir+json

Address:

[base-submit]/Patient/

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 Duplicate or Conflict Condition HTTP Response: 409 Conflict

Message Body:

{
"resourceType": "OperationOutcome",
"id": "operationoutcome-example-duplicate",
"meta": {
"profile": [
"http://ontariohealth.ca/fhir/pcr/StructureDefinition/pcr-operationoutcome-contribution"
]
},
"issue": [
{
"severity": "error",
"code": "duplicate",
"details": {
"text": "A patient matching the supplied identifiers already exists."
}
}
]
}

4.1.2.3. Supported Profiles

Patient Submission

PCR OperationOutcome

4.1.2.4. Expected Behavior

Outcome Header HTTP Response Payload OperationOutcome
Patient successfully created 201 Created Yes (Created Patient resource returned)
Existing patient identified and duplicate prevention rules applied 200 OK or policy-specific outcome Yes
Validation failure 400 Bad Request Yes (Validation details and expression path returned where applicable)
Contributor not authorized 401 Unauthorized or 403 Forbidden No
Duplicate prevention conflict 409 Conflict No (Business-rule confict details for contributor remediation returned)
Processing failure or service unavailable 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