diff --git a/signal-schemas/examples/pds-record-change-2/signal.json b/signal-schemas/examples/pds-record-change-2/signal.json new file mode 100644 index 0000000..2a2112a --- /dev/null +++ b/signal-schemas/examples/pds-record-change-2/signal.json @@ -0,0 +1,81 @@ +{ + "resourceType": "Bundle", + "id": "deb6ed8d-c54a-4489-8609-b15baf927541", + "type": "history", + "timestamp": "2020-06-01T13:00:00Z", + "entry": [ + { + "fullUrl": "urn:uuid:7c38eb82-9186-402f-a120-94c29ceddb48", + "resource": { + "resourceType": "Parameters", + "meta": { + "profile": [ + "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4" + ] + }, + "id": "7c38eb82-9186-402f-a120-94c29ceddb48", + "parameter": [ + { + "name": "subscription", + "valueReference": { + "reference": "https://api.service.nhs.uk/multicast-notification-service/subscriptions" + } + }, + { + "name": "status", + "valueCode": "active" + }, + { + "name": "type", + "valueCode": "event-notification" + }, + { + "name": "notification-event", + "part": [ + { + "name": "event-number", + "valueString": "1" + }, + { + "name": "timestamp", + "valueInstant": "2020-06-01T13:00:00Z" + } + ] + }, + { + "name": "additional-context", + "part": [ + { + "name": "event-type", + "valueString": "pds-record-change-2" + }, + { + "name": "source", + "valueUri": "https://fhir.nhs.uk/Id/nhsSpineASID/477121000324" + }, + { + "name": "subject", + "valueReference": { + "identifier": { + "value": "9912003888" + } + } + }, + { + "name": "version-id", + "valueString": "W/\"4\"" + } + ] + } + ] + }, + "request": { + "method": "GET", + "url": "https://api.service.nhs.uk/multicast-notification-service/subscriptions" + }, + "response": { + "status": "200" + } + } + ] +} \ No newline at end of file diff --git a/specification/multicast-notification-service.yaml b/specification/multicast-notification-service.yaml index e2da640..9aa2b81 100644 --- a/specification/multicast-notification-service.yaml +++ b/specification/multicast-notification-service.yaml @@ -217,6 +217,20 @@ paths: time: '2020-06-01T13:00:00Z' dataref: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/ecc32c41 subject: '9730676240' + pds-record-change-2: + description: "Create a PDS record change event" + value: + specversion: '1.0' + id: 963b28e0-067a-4a3f-bee8-f613c23541b2 + source: https://fhir.nhs.uk/Id/nhsSpineASID/477121000324 + type: pds-record-change-2 + time: '2020-06-01T13:00:00Z' + subject: '9912003888' + versionid: 'W/"16"' + filtering: + changed_name: true + registeredgpodscode: 'XY11' + nhsnumber: '9912003888' pds-death-notification-2: description: "Create a patient death status event" value: diff --git a/specification/requestBody/create-or-update-subscription-body.yaml b/specification/requestBody/create-or-update-subscription-body.yaml index 7d5cbaa..3751ac8 100644 --- a/specification/requestBody/create-or-update-subscription-body.yaml +++ b/specification/requestBody/create-or-update-subscription-body.yaml @@ -110,6 +110,18 @@ content: type: "message" endpoint: "arn:aws:sqs:eu-west-2:123456789012:queue1" payload: "application/json" + pdsRecordChangeSubscription: + description: "PDS record change subscription" + value: + resourceType: "Subscription" + status: "requested" + end: "2022-04-05T17:31:00.000Z" + reason: "Business process A" + criteria: "eventType=pds-record-change-2" + channel: + type: "message" + endpoint: "arn:aws:sqs:eu-west-2:123456789012:queue1" + payload: "application/json" pdsChangeofGPSubscription: description: "PDS change of GP subscription" value: diff --git a/specification/schemas/cloudevents/mns-publish-cloudevent.yaml b/specification/schemas/cloudevents/mns-publish-cloudevent.yaml index 62bbebb..a2f999b 100644 --- a/specification/schemas/cloudevents/mns-publish-cloudevent.yaml +++ b/specification/schemas/cloudevents/mns-publish-cloudevent.yaml @@ -39,12 +39,18 @@ properties: format: uri minLength: 1 example: https://api.service.nhs.uk/personal-demographics/FHIR/R4/Patient/9912003888 + versionid: + description: Version identifier for the resource that the event relates to. + type: string + minLength: 1 + example: "12" filtering: type: object additionalProperties: oneOf: - type: string - type: number + - type: boolean - type: array items: oneOf: