Profiles & Operations Index > Operation: Submit Patient Summary

Operation: Submit Patient Summary

The Submit Patient Summary operation is used to transfer a Patient Summary document and metadata to an Ontario Patient Summary Document Recipient. This encompasses both Create and Update. Update, as described below, is only used to invalidate an existing Patient Summary document.

Scope

This transaction involves a request by an Ontario Patient Summary Document Source to transfer a Patient Summary Bundle, including a Patient Summary Composition and linked resources, to an Ontario Patient Summary Document Recipient. The request is received by the Ontario Patient Summary Recipient which stores the received Bundle and returns an HTTP response code and an OperationOutcome resource if applicable.

For example, an Electronic Medical Record (EMR user updates a patient's record in the EMR, then the EMR extracts Patient Summary data for that patient from the patient's record and submits it to the provincial repository, where it is available for viewing by other Ontario Patient Summary Consumers.

Interaction Diagram

Actor: Ontario Patient Summary Document Source

Role: Submits Patient Summary document bundle containing a Patient Summary Composition and linked resources to the Ontario Patient Summary Document Recipient.

Actor: Ontario Patient Summary Document Recipient

Role: Receives and stores Patient Summary document Bundles from Ontario Patient Summary Document Sources.

Specification

This specification is based on the FHIR R4 Create and Update operations.

Patient Summary Create Request

The Create Request will create a new Patient Summary bundle based upon information available from the Ontario Patient Summary Document Source, if one does not already exist in the repository. If there is already an existing summary for the patient/Health Information Custodian pair, the newly submitted version will replace the existing version in the repository.

POST [base]/Bundle/

Patient Summary Create Response

  • OperationOutcome

Patient Summary Update Request

The Update Request will update an existing Patient Summary document based upon information available from the Ontario Patient Summary Document Source. The only use for the update request for PS-ON will be to invalidate an existing Patient Summary by setting the Composition .status element to 'entered-in-error'.

PUT [base]/Bundle/[id] {?_format=[mime-type]}

Patient Summary Update Response

  • OperationOutcome

Example Create Message

HTTP Method:

POST

Headers:

Content-Type: application/fhir+json

Address:

[base]/Bundle/

Message body:

Link to submit bundle

{
  "resourceType" : "Bundle",
  "meta" : {
    "lastUpdated" : "2021-12-11T14:30:00+01:00",
    "profile" : [
      "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-bundle"
    ]
  },
  "identifier" : {
    "system" : "http://ex-ps-identifier-system.org",
    "value" : "urn:uuid:175bd032-8b00-4728-b2dc-748bb1501aed"
  },
  "type" : "document",
  "timestamp" : "2021-12-11T14:30:00+01:00",
  "entry" : [
    {
      "fullUrl" : "urn:uuid:d792b9de-b97a-4319-b34c-a3fe012ddfa2",
      "resource" : {
        "resourceType" : "Composition",
        "id" : "d792b9de-b97a-4319-b34c-a3fe012ddfa2",
        "identifier" : {
          "system" : "urn:oid:2.16.724.4.8.10.200.10",
          "value" : "0c625f31-6354-4625-baaf-09e8fe26eaef"
        },
        "status" : "final",
        "type" : {
          "coding" : [
            {
              "system" : "http://loinc.org",
              "code" : "60591-5",
              "display" : "Patient Summary Document"
            }
          ]
        },

...

Example Update Message

HTTP Method:

PUT

Headers:

Content-Type: application/fhir+json

Address:

[base]/Bundle/PSON-example-Bundle-03

Message body:

Link to update bundle

{
  "resourceType" : "Bundle",
  "id" : "PSON-example-Bundle-03",
  "meta" : {
    "lastUpdated" : "2021-12-11T14:30:00+01:00",
    "profile" : [
      "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-bundle"
    ]
  },
  "identifier" : {
    "system" : "http://ex-ps-identifier-system.org",
    "value" : "urn:uuid:175bd032-8b00-4728-b2dc-748bb1501aed"
  },
  "type" : "document",
  "timestamp" : "2021-12-11T14:30:00+01:00",
  "entry" : [
    {
      "fullUrl" : "urn:uuid:d792b9de-b97a-4319-b34c-a3fe012ddfa2",
      "resource" : {
        "resourceType" : "Composition",
        "id" : "d792b9de-b97a-4319-b34c-a3fe012ddfa2",
        "identifier" : {
          "system" : "urn:oid:2.16.724.4.8.10.200.10",
          "value" : "0c625f31-6354-4625-baaf-09e8fe26eaef"
        },
        "status" : "entered-in-error",
        "type" : {
          "coding" : [
            {
              "system" : "http://loinc.org",
              "code" : "60591-5",
              "display" : "Patient Summary Document"
            }
          ]
        },

...

Expected Behaviour

Case Scenario Description HTTP Status Code Response Payload
1 A valid Patient Summary bundle is submitted, accepted, and published to the repository HTTP 201 Created. Returns the created resource.
2 An update to an existing Patient Summary bundle is submitted in order to invalidate an existing Patient Summary HTTP 200 OK. Returns the updated resource
3 The submitted Patient Summary Bundle cannot be validated as it does not conform to the specification HTTP 400 Bad Request. Returns an OperationOutcome resource indicating an issue. The client must fix the request and try again.
4 POST operation contains incorrect header value for "Content-Type" - should be "application/fhir+json" HTTP 400 Bad Request. Returns an OperationOutcome resource indicating an issue.
5 Patient Summary API validates the request but cannot return a valid response due to internal issues. HTTP 500 Internal Server Error. Returns an OperationOutcome resource indicating an issue.