diff --git a/.gitignore b/.gitignore
index fecc7e5b..51f0a111 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,8 +17,5 @@ template/
output/
updateWebsite.sh
nginx.conf
-fhircast-template/content/.index.json
-fhircast-template/content/assets/.index.json
-fhircast-template/content/assets/ico/.index.json
-fhircast-template/content/assets/images/.index.json
-fhircast-template/includes/.index.json
+fhircast-template/**/.index.json
+fhircast-template/**/.index.db
diff --git a/FHIR-fhircast.xml b/FHIR-fhircast.xml
index e292ac61..49d1c85b 100644
--- a/FHIR-fhircast.xml
+++ b/FHIR-fhircast.xml
@@ -30,8 +30,8 @@
-
-
+
+
@@ -75,7 +75,6 @@
-
@@ -105,13 +104,13 @@
+
-
+
+
-
-
\ No newline at end of file
diff --git a/fhircast-template/content/.index.json b/fhircast-template/content/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/content/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/fhircast-template/content/assets/.index.json b/fhircast-template/content/assets/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/content/assets/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/fhircast-template/content/assets/ico/.index.json b/fhircast-template/content/assets/ico/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/content/assets/ico/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/fhircast-template/content/assets/images/.index.json b/fhircast-template/content/assets/images/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/content/assets/images/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/fhircast-template/includes/.index.json b/fhircast-template/includes/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/includes/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/fhircast-template/package/.index.json b/fhircast-template/package/.index.json
deleted file mode 100644
index dbe759e5..00000000
--- a/fhircast-template/package/.index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "index-version" : 2,
- "files" : []
-}
diff --git a/input/fsh/FHIRcastDiagnosticReportClose.fsh b/input/fsh/FHIRcastDiagnosticReportClose.fsh
index 9a9cb0f7..fcdf4f6e 100644
--- a/input/fsh/FHIRcastDiagnosticReportClose.fsh
+++ b/input/fsh/FHIRcastDiagnosticReportClose.fsh
@@ -23,7 +23,7 @@ A logical id of the resource must be provided. The provided `id` SHALL be the sa
* identifier ^short = "At least one identifier of the DiagnosticReport SHOULD be provided in an [FHIR resource]-close request."
* identifier ^definition =
"""
-At least one `identifier` of the DiagnosticReport SHOULD be provided in a [FHIR resource]-close request. This could be a business identifier provided in the DiagnosticReport-open event or a business identifier provided subsequently in a [DiagnosticReport-update](3-6-3-diagnosticreport-update.html) event.
+At least one `identifier` of the DiagnosticReport SHOULD be provided in a [FHIR resource]-close request. This could be a business identifier provided in the DiagnosticReport-open event or a business identifier provided subsequently in a [DiagnosticReport-update](3-6-3-DiagnosticReport-update.html) event.
"""
* basedOn 0..* MS
* basedOn ^short = "At least one business identifier of the DiagnosticReport SHOULD be provided in a [FHIR resource]-open request (see detailed description)."
diff --git a/input/fsh/FHIRcastDiagnosticReportOpen.fsh b/input/fsh/FHIRcastDiagnosticReportOpen.fsh
index 7bbe8273..68c93fcc 100644
--- a/input/fsh/FHIRcastDiagnosticReportOpen.fsh
+++ b/input/fsh/FHIRcastDiagnosticReportOpen.fsh
@@ -37,7 +37,7 @@ The Study Instance UID SHALL be included as a business identifier if it is known
* status ^short = "Status of the DiagnosticReport, note this may not be known and hence have a value of `unknown`; however, is included since it is required by FHIR"
* status ^definition =
"""
-While initially the `status` of the report may begin as `unknown` or `preliminary` (or something else), throughout the lifecycle of the context the report's status may transition. For example, a reporting application may enable a clinician to sign the report. In such a situation this change in status could become final and would be communicated through a [`DiagnosticReport-update`](3-6-3-diagnosticreport-update.html)
+While initially the `status` of the report may begin as `unknown` or `preliminary` (or something else), throughout the lifecycle of the context the report's status may transition. For example, a reporting application may enable a clinician to sign the report. In such a situation this change in status could become final and would be communicated through a [`DiagnosticReport-update`](3-6-3-DiagnosticReport-update.html)
event prior to the DiagnosticReport context being closed by a DiagnosticReport-close event.
"""
* subject 1..1
diff --git a/input/pagecontent/2-3-Events.md b/input/pagecontent/2-3-Events.md
index a6c95a45..b078e2c6 100644
--- a/input/pagecontent/2-3-Events.md
+++ b/input/pagecontent/2-3-Events.md
@@ -17,7 +17,7 @@ Field | Optionality | Type | Description
`hub.event` | Required | string | The event that triggered this notification, taken from the list of events from the subscription request.
`context` | Required | array | An array of named FHIR objects corresponding to the user's context after the given event has occurred.
-The notification's `hub.event` and `context` fields inform the Subscriber of the current state of the user's session. The `hub.event` is a user workflow event, from the [Event Catalog](3_Events.html) (or an organization-specific event in reverse-domain name notation). The `context` is an array of named FHIR resources (similar to [CDS Hooks's context](https://cds-hooks.hl7.org/1.0/#http-request_1) field) that describe the current content of the user's session. Each event in the [Event Catalog](3_Events.html) defines what context is included in the notification. The context contains zero, one, or more FHIR resources. Hubs SHOULD use the [FHIR _elements parameter](https://www.hl7.org/fhir/search.html#elements) to limit the size of the data being passed while also including additional, local identifiers that are likely already in use in production implementations. Subscribers SHALL accept a full FHIR resource or the [_elements](https://www.hl7.org/fhir/search.html#elements)-limited resource as defined in the Event Catalog.
+The notification's `hub.event` and `context` fields inform the Subscriber of the current state of the user's session. The `hub.event` is a user workflow event, from the [Event Catalog](3_Events.html) (or an organization-specific event in reverse-domain name notation). The `context` is an array of named FHIR resources (similar to [CDS Hooks's context](https://cds-hooks.hl7.org/1.0/#http-request_1) field) that describes the current content of the user's session. Each event in the [Event Catalog](3_Events.html) defines what context is included in the notification. The context contains zero, one, or more FHIR resources. Hubs SHOULD use the [FHIR _elements parameter](https://www.hl7.org/fhir/search.html#elements) to limit the size of the data being passed while also including additional, local identifiers that are likely already in use in production implementations. Subscribers SHALL accept a full FHIR resource or the [_elements](https://www.hl7.org/fhir/search.html#elements)-limited resource as defined in the Event Catalog.
The Subscriber requesting a context change SHALL ensure consistency of the FHIR resources in the `context` array. For example, the Hub will not check that the Patient resource in an Encounter-open `context` array is in fact the patient associated with the encounter in the real world.
@@ -50,9 +50,11 @@ When subscribing to FHIRcast events a list of events is added. These events may
| `*-update` | All update events |
| `*-select` | All select events |
-### Context
+### Event Context
-Describes the set of contextual data associated with this event. Only data logically and necessarily associated with the purpose of this workflow related event should be represented in context. An event SHALL contain all required data fields, MAY contain optional data fields and SHALL NOT contain any additional fields.
+The event context describes the set of contextual data associated with this event. Only data logically and necessarily associated with the purpose of this workflow related event should be represented in context. An event SHALL contain all required data fields, MAY contain optional data fields and SHALL NOT contain any additional fields.
+
+The Subscriber requesting a context change SHALL ensure consistency of the FHIR resources in the `context` array. For example, the Hub will not check that the Patient resource in an Encounter-open `context` array is in fact the patient associated with the encounter in the real world.
All fields available within an event's context SHALL be defined in a table where each field is described by the following attributes:
@@ -63,6 +65,7 @@ All fields available within an event's context SHALL be defined in a table where
A Hub SHALL at least send the elements indicated in *FHIR operation to generate context*; a Subscriber SHALL gracefully handle receiving a full FHIR resource in the context of a notification. For example, when the [`ImagingStudy-open`](3-5-1-ImagingStudy-open.html) event occurs, the notification sent to a Subscriber includes an ImagingStudy FHIR resource, which contains at least the elements defined in the *_elements* query parameter, as indicated in the event's definition. For ImagingStudy, this is defined as: `ImagingStudy/{id}?_elements=identifier`. (The *_elements* query parameter is defined in the [FHIR specification](https://www.hl7.org/fhir/search.html#elements)).
+
The key used for indicating a context change event's FHIR resource SHALL be the lower-case resourceType of the resource. In the case the resource refers to other FHIR resources that represent their own context, these can be included as well. The resources to include are defined in the corresponding event definition in the [event catalog](3_Events.html).
The Hub SHALL only return FHIR resources that the Subscriber is authorized to receive with the existing OAuth 2.0 access_token's granted `fhircast/` scopes.
@@ -73,7 +76,9 @@ The FHIRcast specification supports many different events. These events are defi
#### Context-change events
-FHIRcast context-change events that describe context changes SHALL conform to the following extensible syntax. Patterned after the SMART on FHIR scope syntax and expressed in EBNF notation, the FHIRcast syntax for context-change related event names is:
+FHIRcast context-change events change the current [context](5_glossary.html) of a topic. The current context of a topic is defined as the set of resources that define what the user is currently working on. It can be represented as a single resource (e.g. Patient) or as a set (e.g. Patient, Encounter, ImagingStudy and DiagnosticReport). For each resource type, the context can hold one resource. Context-change events signal changes in this set.
+
+Context-change events SHALL conform to the following extensible syntax. Patterned after the SMART on FHIR scope syntax and expressed in EBNF notation, the FHIRcast syntax for context-change related event names is:
```ebnf
ContextChangeEventName ::= ( FHIRresource ) '-' ( 'open' | 'close' )
@@ -83,8 +88,18 @@ ContextChangeEventName ::= ( FHIRresource ) '-' ( 'open' | 'close' )
Context change events SHALL include the resource the context change relates to. Common FHIR resources are: Patient, Encounter, ImagingStudy, and DiagnosticReport.
+An `-open` event signals that the resource in the event now is the anchor-resource for that resource type in the current context.
+
+An `-close` event signals that the resource in the event should be removed from the current context.
+
+The key used for indicating a context change event's anchor FHIR resource SHALL be the lower-case resourceType of the resource as defined in the [resource type valueset]( http://build.fhir.org/valueset-version-independent-resource-types.html) of the resource. The [patient-open](3-3-1-Patient-open.html) event uses the `patient` key to signal the new Patient in context, the [encounter-open](3-4-1-Encounter-open.html) event uses the `encounter` key to indicate the new Encounter in anchor resource. Note that due to legacy reasons, some events in the [event catalog](3_Events.html) deviate from this pattern, `study` is used instead of `imagingstudy` for [imagingstudy events](3-5-0-imagingstudyevents.html) and `report` is used instead of `diagnosticreport` for [diagnosticreport events](3-6-0-diagnosticreportevents.html)).
+
In the case the resource refers to other FHIR resources that represent their own context, these can be included as well. For example, an [`Encounter-open`](3-4-1-Encounter-open.html) also refers to the patient that is the subject of the Encounter. What resources to include is defined in the corresponding event definition in the [event catalog](3_Events.html).
+The keys to refer to these anchor FHIR resources SHALL be named as they are named in the deriveable event. E.g. the [`Encounter-open`](3-4-1-Encounter-open.html) event also signals to the patient that is the subject of the Encounter using the `patient` key. What additional anchor-resources to include in an context-change event is defined in the corresponding event definition in the [event catalog](3_Events.html).
+
+An context-change event SHOULD NOT refer to non-anchor resources (resource that are not to be included in the context). In the case this is absolutely required, the key of these resources SHALL be named any arbitrary string which is not a value from the [resource type valueset]( http://build.fhir.org/valueset-version-independent-resource-types.html).
+
FHIRcast defines profiles for FHIR resources used in `*-open` and `*-close` events documented in the [`event catalog`](3_Events.html). Each resource used to establish context has a profile for when that resource is used in an `*-open` event and a different profile for when that resource is used in a `*-close` event. The profiles for *-`open` events mandate more attributes than those for `*-close` events since all Subscribers need enough information to identify the appropriate information associated with the context resource(s) in their application enabling them to participate in a common context.
FHIRcast does not mandate that contextual subjects have any FHIR persistance; sufficient information to establish a common context may simply be exchanged using FHIR resources as the structure to hold the necessary information without the resources ever existing in a FHIR server (in fact it may be that there is no FHIR server in the infrastructure associated with any Subscriber synchronizing in a FHIRcast topic). As this is an FHIR R4 implementation guide, all profiles and examples conform to FHIR R4 resource specifications. Where relevant/required, notes have been added to the description of the resource profiles indicating how to use the resources in a FHIRcast session using FHIR R5-based resources.
@@ -105,10 +120,9 @@ FHIRcast supports all events that follow this format. The most common events def
#### Infrastructure events
-This event category contains events required to maintain a FHIRcast session. The main events in this category are:
+This event category contains events required to maintain a FHIRcast session. The main event in this category is:
-| [`SyncError`](3-2-1-SyncError.html) | indicates refusal to follow context or inability to deliver an event
-| [`Heartbeat.html`](3-2-2-Heartbeat.html) | for monitoring the connection to the hub
+| [`syncerror`](3-2-1-SyncError.html) | indicates refusal to follow context or inability to deliver an event
#### Selection events
diff --git a/input/pagecontent/2-5-EventNotification.md b/input/pagecontent/2-5-EventNotification.md
index 981c405a..4faaa6b2 100644
--- a/input/pagecontent/2-5-EventNotification.md
+++ b/input/pagecontent/2-5-EventNotification.md
@@ -116,10 +116,9 @@ In addition to distributing [`SyncError`](3-2-1-SyncError.html) events sent by o
Upon communicating a `SyncError` resulting from an unresponsive Subscriber, the Hub SHALL unsubscribe the Subscriber.
-The Hub SHALL NOT generate [`SyncError`](3-2-1-SyncError.html) events in the following situations:
+The Hub SHALL NOT generate [`syncerror`](3-2-1-SyncError.html) events in the following situation:
-1. A Subscriber fails to respond to a [`Heartbeat.html`](3-2-2-Heartbeat.html) event (because occasional missed Heartbeat.htmls are expected and are not a context synchronization failure).
-2. A Subscriber closes its WebSocket connection to the Hub with a [Connection Close Reason](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1) of 1000 (normal closure) or 1001 (going away).
+1. A Subscriber closes its WebSocket connection to the Hub with a [Connection Close Reason](https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1) of 1000 (normal closure) or 1001 (going away).
During a normal shutdown of a Subscriber, it SHALL unsubscribe, and provide a WebSocket Connection Close Reason of 1000 and not rely upon the Hub recognizing and unsubscribing it as an unresponsive Subscriber.
diff --git a/input/pagecontent/2-9-GetCurrentContext.md b/input/pagecontent/2-9-GetCurrentContext.md
index e40c428d..e3fa74a4 100644
--- a/input/pagecontent/2-9-GetCurrentContext.md
+++ b/input/pagecontent/2-9-GetCurrentContext.md
@@ -12,7 +12,7 @@ GET `base-hub-URL/{topic}`
### Get Current Context Response
-This method returns an object containing the current context of a topic; where the current context is the most recent *-open event according to the Subscriber's subscription. The current context is made up of one or more "top-level" contextual resources and the type of the anchor context SHALL be in the `context.type` field. For example, if the current context was established using a [`Patient-open`](3-3-1-patient-open.html) request the returned object will contain `context.type: "Patient"`. If the current context was created by a [`DiagnosticReport-open`](3-6-1-diagnosticreport-open.html) request the returned object will contain `context.type: "DiagnosticReport"`. If there is no context currently established, the `context.type` SHALL contain an empty string and the `context` SHALL be an empty array.
+This method returns an object containing the current context of a topic; where the current context is the most recent *-open event according to the Subscriber's subscription. The current context is made up of one or more "top-level" contextual resources and the type of the anchor context SHALL be in the `context.type` field. For example, if the current context was established using a [`Patient-open`](3-3-1-Patient-open.html) request the returned object will contain `context.type: "Patient"`. If the current context was created by a [`DiagnosticReport-open`](3-6-1-DiagnosticReport-open.html) request the returned object will contain `context.type: "DiagnosticReport"`. If there is no context currently established, the `context.type` SHALL contain an empty string and the `context` SHALL be an empty array.
If an established context is closed without another being opened, the Hub SHALL return an empty context (which as specified above is indicated by returning an empty string for the `context.type` and an empty array in `context`). See [Multi-tab Considerations](4-4-multitab-considerations.html) for additional discussion on multiple context scenarios.
diff --git a/input/pagecontent/3-1-1-template.md b/input/pagecontent/3-1-1-template.md
index a07581f0..29debd45 100644
--- a/input/pagecontent/3-1-1-template.md
+++ b/input/pagecontent/3-1-1-template.md
@@ -10,7 +10,18 @@ Describe when this event occurs in a workflow. Describe how the context fields r
### Context
-Define context values that are provided when this event occurs, and indicate whether they must be provided, and the FHIR query used to generate the resource.
+Define context values that are provided when this event occurs, and indicate whether they must be provided, and the FHIR query used to generate the resource using a table as presented below.
+
+{:.grid}
+Key | Optionality | FHIR operation to generate context | Description
+----- | -------- | ---- | ----
+`` | REQUIRED or OPTIONAL | `` | Description of the context value.
+
+where:
+* `` refers to the name of the key to used in the event context
+* `` refers to a FHIR query, optionally including an `_element` expression that can be used to limit the size of the event.
+
+An example context definition is:
{:.grid}
Key | Optionality | FHIR operation to generate context | Description
@@ -20,6 +31,8 @@ Key | Optionality | FHIR operation to generate context | Description
### Examples
+Include an example message in json.
+
```json
{
"timestamp": "2018-01-08T01:37:05.14",
diff --git a/input/pagecontent/3-2-0-infrastructureevents.md b/input/pagecontent/3-2-0-infrastructureevents.md
index edb45ad5..308d5beb 100644
--- a/input/pagecontent/3-2-0-infrastructureevents.md
+++ b/input/pagecontent/3-2-0-infrastructureevents.md
@@ -1,8 +1,7 @@
Supporting events used in basic FHIRcast interactions.
| **Infrastructure Events** |
-| [SyncError event](3-2-1-SyncError.html) |
-| [Heartbeat event](3-2-2-Heartbeat.html) |
-| [UserLogout event](3-2-3-UserLogout.html) |
-| [UserHibernate event](3-2-4-UserHibernate.html) |
+| [Sync error event](3-2-1-SyncError.html) |
+| [User logout event](3-2-3-UserLogout.html) |
+| [User hibernate event](3-2-4-UserHibernate.html) |
diff --git a/input/pagecontent/3-2-4-UserHibernate.md b/input/pagecontent/3-2-4-UserHibernate.md
index 4d89c456..00d4dfbe 100644
--- a/input/pagecontent/3-2-4-UserHibernate.md
+++ b/input/pagecontent/3-2-4-UserHibernate.md
@@ -1,4 +1,4 @@
-### Event-name: UserHibernate.html
+### Event-name: UserHibernate
eventMaturity | [1 - Submitted](3-1-2-eventmaturitymodel.html)
diff --git a/input/pagecontent/3-6-1-DiagnosticReport-open.md b/input/pagecontent/3-6-1-DiagnosticReport-open.md
index 3abd0be3..5fb25a77 100644
--- a/input/pagecontent/3-6-1-DiagnosticReport-open.md
+++ b/input/pagecontent/3-6-1-DiagnosticReport-open.md
@@ -27,7 +27,7 @@ Other attributes of the DiagnosticReport, ImagingStudy, Encounter, and Patient r
#### Content Sharing Support
-If a Hub supports content sharing, when it distributes a `DiagnosticReport-open` event the Hub associates a `context.versionId` with the [`anchor context`](5_glossary.html). Subscribers MUST submit this `context.versionId` in subsequent [`DiagnosticReport-update`](3-6-3-diagnosticreport-update.html) requests. If a Subscriber is not subscribed to the [`DiagnosticReport-update`](3-6-3-diagnosticreport-update.html) event the `context.versionId` can be safely ignored.
+If a Hub supports content sharing, when it distributes a `DiagnosticReport-open` event the Hub associates a `context.versionId` with the [`anchor context`](5_glossary.html). Subscribers MUST submit this `context.versionId` in subsequent [`DiagnosticReport-update`](3-6-3-DiagnosticReport-update.html) requests. If a Subscriber is not subscribed to the [`DiagnosticReport-update`](3-6-3-DiagnosticReport-update.html) event the `context.versionId` can be safely ignored.
### Examples
@@ -179,7 +179,7 @@ The following example shows a report being opened that contains a single primary
#### DiagnosticReport-open Event Example
-The event distributed by the Hub includes a context version in the `context.versionId` event attribute which will be used by Subscribers to make subsequent [`DiagnosticReport-update`](3-6-3-diagnosticreport-update.html) requests.
+The event distributed by the Hub includes a context version in the `context.versionId` event attribute which will be used by Subscribers to make subsequent [`DiagnosticReport-update`](3-6-3-DiagnosticReport-update.html) requests.
```json
{
diff --git a/input/pagecontent/3_Events.md b/input/pagecontent/3_Events.md
index 7bd2d251..9f2a91a3 100644
--- a/input/pagecontent/3_Events.md
+++ b/input/pagecontent/3_Events.md
@@ -7,10 +7,9 @@ The sections in this chapter are:
| [3.1.2 Event maturity model](3-1-2-eventmaturitymodel.html) |
| **3.2 Infrastructure Events** |
-| [3.2.1 SyncError event](3-2-1-SyncError.html) |
-| [3.2.2 Heartbeat.html event](3-2-2-Heartbeat.html) |
-| [3.2.3 UserLogout.html event](3-2-3-UserLogout.html) |
-| [3.2.4 UserHibernate.html event](3-2-4-UserHibernate.html) |
+| [3.2.1 Sync error event](3-2-1-SyncError.html) |
+| [3.2.2 User logout event](3-2-3-UserLogout.html) |
+| [3.2.3 User hibernate event](3-2-4-UserHibernate.html) |
| **3.3 Patient Events** |
| [3.3.1 Patient-open event](3-3-1-Patient-open.html) |
diff --git a/input/pagecontent/4-2-syncconsiderations.md b/input/pagecontent/4-2-syncconsiderations.md
index 0dccaba4..b3f5f423 100644
--- a/input/pagecontent/4-2-syncconsiderations.md
+++ b/input/pagecontent/4-2-syncconsiderations.md
@@ -105,12 +105,12 @@ Although not intended, applications do fail. In this case the event is received
#### Connection is lost
-This error scenario is the Hub losing contact with a Subscriber. This may be due to a Subscriber crash or a network failure. In these cases, the Subscriber would not be aware of the fact that the context has changed or that the context change events are not received. To mitigate this situation, Subscribers are recommended to register for `Heartbeat.html` events.
+This error scenario is the Hub losing contact with a Subscriber. This may be due to a Subscriber crash or a network failure. In these cases, the Subscriber should not be aware of the fact that connection is lost due to the fact that the websocket disconnects.
{:.grid}
|System|Failure mode|Possible actions|
|--|--|--|
-| Subscribing Client | No event received from Hub within the Heartbeat.html time-out. | Present a clear indication to the end-user that the connection has been lost. Resubscribe to the topic. If supported by the Hub, receive [current context upon resubscription](2-4-Subscribing.html#current-context-notification-upon-successful-subscription) or retrieve the context manually using [Get Current Context](2-9-GetCurrentContext.html). |
+| Subscribing Client | Websocket connection is dropped. | Present a clear indication to the end-user that the connection has been lost. Resubscribe to the topic. If supported by the Hub, receive [current context upon resubscription](2-4-Subscribing.html#current-context-notification-upon-successful-subscription) or retrieve the context manually using [Get Current Context](2-9-GetCurrentContext.html). |
| Hub | Subscriber failed to respond to an event | Update all Subscribers with a SyncError event using information from the `subscriber.name` field from the original subscription of the Subscriber which failed to respond to an event |
@@ -188,6 +188,5 @@ A Hub that sends a `SyncError` event (e.g. after it is not able to deliver an ev
### Open topics
-* Should a Subscriber get all SyncError's or only those related to events to which it subscribed?
-* Does a Hub send an `SyncError` for each Subscriber that cannot be reached or refused, or is the Hub allowed to combine them in one.
-* When the Hub/Subscriber resends an context change event, is the `Heartbeat.html` still needed?
+* Should a Subscriber get all syncerror's or only those related to events to which it subscribed?
+* Does a Hub send an `syncerror` for each Subscriber that cannot be reached or refused, or is the Hub allowed to combine them in one.
diff --git a/input/pagecontent/4-7-hybrid-content-sharing.md b/input/pagecontent/4-7-hybrid-content-sharing.md
index a2bc36eb..08662ca7 100644
--- a/input/pagecontent/4-7-hybrid-content-sharing.md
+++ b/input/pagecontent/4-7-hybrid-content-sharing.md
@@ -23,5 +23,5 @@ The FHIR server SHALL be updated based on the transaction information in a `-upd
A FHIR server MAY support one of the following FHIRcast specific `SubscriptionTopics`:
-* *[topic-based](SubscriptionTopic-FhirCastContainerTopicTopic.html)*, subscribes to content changes in the container for an anchor in the indicated topic.
-* *[resource-based](SubscriptionTopic-FhirCastContainerResourceTopic.html)*, subscribes to content changes in the container for an anchor with a specific id.
+* *[topic-based](SubscriptionTopic-container-update-topic.html)*, subscribes to content changes in the container for an anchor in the indicated topic.
+* *[resource-based](SubscriptionTopic-container-update-resource.html)*, subscribes to content changes in the container for an anchor with a specific id.
diff --git a/input/pagecontent/5_glossary.md b/input/pagecontent/5_glossary.md
index 5ab9f28a..737f9f78 100644
--- a/input/pagecontent/5_glossary.md
+++ b/input/pagecontent/5_glossary.md
@@ -2,11 +2,14 @@
{:.grid}
Term | Description
---- | ---
-**Anchor Context** | a context that is used as a container for shared content, typical anchor contexts are FHIR resources such as `ImagingStudy` and `DiagnosticReport`
+
+**Anchor Context** | a context that is used as a container for shared content, typical anchor contexts are FHIR resources such as Patient, Encounter, ImagingStudy, and DiagnosticReport
+**Anchor resource** | a FHIR resource that is used as a container for shared content, typical anchor resource are resources such as Patient, Encounter, ImagingStudy, and DiagnosticReport
**Container** | the set of resources related to an anchor resource consisting of the resource itself, all resources referring to the resource and all resources the anchor resource refers to.
**Content** | FHIR resources created during a user's interaction with the anchor context and shared with other Subscribers; shared content either directly or indirectly references the anchor context - for example, if the anchor context is a `DiagnosticReport` the user may make a measurement resulting in a FHIR observation containing measurement information which is shared with other Subscribers.
-**Context** | a FHIR resource associated with a session which indicates a subject on which applications should synchronize as appropriate to their functionality
-**Current Context** | the context associated with a session that is active at a given time, that is the context of the last *-open for which no *-close has occurred.
+**Context** | a set of FHIR resources associated with a session which indicates a subject on which applications should synchronize as appropriate to their functionality
+**Current Context** | the context associated with a session that is active at a given time
+**Event Context** | the `context` field in a context change event.
**Hub** | handles subscription requests, session change requests, and distributes events to Subscribers
**Session Event** | a user initiated workflow event, communicated to Subscribers, containing the current context or shared content
**Subscriber** | an application which subscribes to and requests or receives session events
diff --git a/sushi-config.yaml b/sushi-config.yaml
index 8511d685..cb2ecc9f 100644
--- a/sushi-config.yaml
+++ b/sushi-config.yaml
@@ -58,13 +58,11 @@ pages:
3-2-0-infrastructureevents.md:
title: Infrastructure Events
3-2-1-SyncError.md:
- title: SyncError Event
- 3-2-2-Heartbeat.md:
- title: HeartBeat Event
+ title: Sync error Event
3-2-3-UserLogout.md:
- title: UserLogout Event
+ title: User logout Event
3-2-4-UserHibernate.md:
- title: userhibernate Event
+ title: User hibernate Event
3-3-0-patientevents.md:
title: Patient Events
3-3-1-Patient-open.md: