Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ 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

# Template temp files
fhircast-template/**/.index.json
fhircast-template/**/.index.db
Empty file modified ebnf/_createAllEbnfPng.sh
100644 → 100755
Empty file.
Empty file modified ebnf/_createEbnfPng.sh
100644 → 100755
Empty file.
Binary file modified ebnf/diagram/EventName.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion ebnf/input/events.ebnf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
EventName ::= (FHIRresource | '*') ('-') ( 'open' | 'close' | 'update' | 'select' | '*' )
EventName ::= (FHIRresource | '*') ('-') ( 'open' | 'close' | 'update' | 'select' | '*' ) ( '.v' Version | '*')?
Binary file modified input/images/EventName.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 9 additions & 9 deletions input/pagecontent/2-3-Events.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,27 +28,27 @@ The event name defines the event. Most FHIRcast events conform to an extensible
Patterned after the SMART on FHIR scope syntax and expressed in EBNF notation, the FHIRcast syntax for context change related events is:

```ebnf
EventName ::= (FHIRresource | '*') ('-') ( 'open' | 'close' | 'update' | 'select' | '*' )
EventName ::= (FHIRresource | '*') ('-') ( 'open' | 'close' | 'update' | 'select' | '*' ) (('.v') Version)?
```

{% include img.html img="EventName.png" caption="Figure: Event-name specification" %}

The `FHIRresource` indicates the focus of the event; the `suffix` defines the type of event.
The `FHIRresource` indicates the focus of the event. The next part defines the type of event. The optional `Version` field allows specifying the version of the event. When this field is omitted, it refers to the most recent version of the event supported by the Hub. Hubs are RECOMMENDED to at least support the most recent version of the events defined in the [standard event catalog](3_Events.html).
Comment thread
bvdh marked this conversation as resolved.

Event names are unique and case-insensitive. It is RECOMMENDED to use [Upper-Camel](https://en.wikipedia.org/wiki/Camel_case) case.

Implementers may define their own events. Such proprietary events SHALL be named with reverse domain notation (e.g. `org.example.patient_transmogrify`). Reverse domain notation SHALL NOT be used by a standard event catalog. Proprietary events SHALL NOT contain a dash ("-").

When subscribing to FHIRcast events a list of events is added. These events may contain wild cards. Wild cards are expressed as a `*` replacing either the `FHIRresource` or `suffix` with `*` indicates any events that match the resulting definition are requested. The event `*` means the Subscriber subscribes to any event. The table below shows some typical examples.
When subscribing to FHIRcast events a list of events is added. These events may contain wild cards. Wild cards are expressed as a `*`. The use of a `*` indicates that any events that match the resulting definition are requested. The event `*` means the Subscriber subscribes to any event. The table below shows some typical examples.

{:.grid}
| **Event** | **Description** |
|=======|=============|
| `*` | All events |
| `*-*` | All events with a FHIRcast defined postfix |
| **Event** | **Description** |
|=============|===================|
| `*` | All events |
| `*-*` | All events with a FHIRcast defined postfix |
| `Patient-*` | All events that use the `Patient` FHIR resource |
| `*-update` | All update events |
| `*-select` | All select events |
| `*-update` | All update events |
| `*-select` | All select events |

### Context

Expand Down
8 changes: 5 additions & 3 deletions input/pagecontent/2-7-Conformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ A simple JSON document is returned using the `application/json` mime type, with
{:.grid}
Field | Optionality | Type | Description
------------------ | ----------- | ----- | ---
`eventsSupported` | Required | array | Array of FHIRcast events supported by the Hub.
`eventsSupported` | Required | array | Array of event names of the FHIRcast event supported by the Hub. This array SHALL include both the versioned as well as the unversioned version of the events.
`websocketSupport` | Required | boolean | SHALL have the static value: `true`, indicating support for websockets.
`fhircastVersion` | Optional | string | `STU1`, `STU2`, or `STU3` - indicating support for a specific version of FHIRcast. Hubs SHOULD indicate the version of FHIRcast supported.
`fhirVersion` | Required | string | The FHIR version the Hub supports, the value SHALL be a code (not display) from [FHIR versions](http://hl7.org/fhir/ValueSet/FHIR-version).
`getCurrentSupport` | Optional | boolean | `true` or `false` indicating support for the "[Get Current Context](2-9-GetCurrentContext.html)" API.

A field of `webhookSupport` SHALL be ignored.
Expand All @@ -37,9 +38,10 @@ HTTP/1.1 200 OK
Content-Type: application/json

{
"eventsSupported": ["Patient-open", "Patient-close", "SyncError", "com.example.researchstudy-transmogrify"],
"eventsSupported": ["Patient-open", "Patient-open.v1.0", "Patient-close", "Patient-close.v1.0", "SyncError", "SyncError.v1.0", "com.example.researchstudy-transmogrify"],
"websocketSupport": true,
"fhircastVersion": "STU3"
"fhircastVersion": "STU3",
"fhirVersion": "4.0.1"
}
```

Expand Down
8 changes: 6 additions & 2 deletions input/pagecontent/3-1-1-template.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
This section presents the template to use for defining new events.

### Event-name: [FHIR resource]-[suffix]

eventMaturity | [0 - Draft](3-1-2-eventmaturitymodel.html)
### Event-name: [FHIR resource]-[suffix]-[version]

{:.grid}
| Event-maturity | [0 - Draft](3-1-2-eventmaturitymodel.html) |
| Version | <current version> |
| All Versions | <list of all versions of this event> |

### Workflow

Expand Down
1 change: 0 additions & 1 deletion input/pagecontent/3-2-0-infrastructureevents.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ 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) |

5 changes: 4 additions & 1 deletion input/pagecontent/3-2-1-SyncError.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: SyncError

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html) |
| Version | 1.1
Comment thread
bvdh marked this conversation as resolved.
| All versions | [1.0](https://fhircast.hl7.org/events/syncerror/), [1.1](3-2-1-SyncError.html) |

### Workflow

Expand Down
2 changes: 1 addition & 1 deletion input/pagecontent/3-2-2-Heartbeat.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

### Event-name: Heartbeat event

eventMaturity | [1 - Submitted](3-1-2-eventmaturitymodel.html)
eventMaturity | [1 - Submitted](3-2-2-eventmaturitymodel.html)

### Workflow

Expand Down
6 changes: 5 additions & 1 deletion input/pagecontent/3-2-3-UserLogout.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
### Event-name: UserLogout

eventMaturity | [1 - Submitted](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [1 - Submitted](3-1-2-eventmaturitymodel.html) |
| Version | 2.0 |
| All Versions | [1.0](https://fhircast.hl7.org/events/userlogout/), [2.0](3-2-3-UserLogout.html) |


### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-2-4-UserHibernate.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: UserHibernate

eventMaturity | [1 - Submitted](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [1 - Submitted](3-1-2-eventmaturitymodel.html) |
| Version | [1.0](3-2-4-UserHibernate.html) |
| All versions | [1.0](3-2-4-UserHibernate.html) |

### Workflow

Expand Down
7 changes: 5 additions & 2 deletions input/pagecontent/3-3-1-Patient-open.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event name: `Patient-open`
### Event name: Patient-open

eventMaturity | [3 - Considered](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [3 - Considered](3-1-2-eventmaturitymodel.html)|
| Version | 2.0 |
| All Versions | [1.0](https://fhircast.hl7.org/events/patient-open/), [2.0](3-3-1-Patient-open.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-3-2-Patient-close.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: Patient-close

eventMaturity | [3 - Considered](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [3 - Considered](3-1-2-eventmaturitymodel.html)|
| Version | 2.0 |
| All versions | [1.0](https://fhircast.hl7.org/events/patient-close/), [2.0](3-3-2-Patient-close.html) |

### Workflow

Expand Down
7 changes: 5 additions & 2 deletions input/pagecontent/3-4-1-Encounter-open.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: `Encounter-open`
### Event-name: Encounter-open

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-4-1-Encounter-open.html) |
| All versions | [1.0](3-4-1-Encounter-open.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-4-2-Encounter-close.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: Encounter-close

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-4-2-Encounter-close.html) |
| All versions | [1.0](3-4-2-Encounter-close.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-5-1-ImagingStudy-open.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: ImagingStudy-open

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | 2.0 |
| All versions | [1.0](https://fhircast.hl7.org/events/imagingstudy-open/), [2.0](3-5-1-ImagingStudy-open.html) |

### Workflow

Expand Down
7 changes: 5 additions & 2 deletions input/pagecontent/3-5-2-ImagingStudy-close.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: ImagingStudy-close
### Event-name: `ImagingStudy-close`

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | 2.0 |
| All versions | [1.0](https://fhircast.hl7.org/events/imagingstudy-close/), [2.0](3-5-2-ImagingStudy-close.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-6-1-DiagnosticReport-open.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: DiagnosticReport-open

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-6-1-DiagnosticReport-open.html) |
| All versions | [1.0](3-6-1-DiagnosticReport-open.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-6-2-DiagnosticReport-close.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: DiagnosticReport-close

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-6-2-DiagnosticReport-close.html) |
| All versions | [1.0](3-6-2-DiagnosticReport-close.html) |

### Workflow

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-6-3-DiagnosticReport-update.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: DiagnosticReport-update

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-6-3-DiagnosticReport-update.html) |
| All versions | [1.0](3-6-3-DiagnosticReport-update.html) |

The `DiagnosticReport-update` event is used by Subscribers to support content sharing in communication with a Hub which also supports content sharing. A `DiagnosticReport-update` request will be posted to the Hub when a Subscriber desires a to add, change, or remove exchanged information in the anchor context. For a `DiagnosticReport-update`, the anchor context (see: [`anchor context`](5_glossary.html)) is the `DiagnosticReport` context established by the corresponding `DiagnosticReport-open`. One or more update requests MAY occur while the anchor context is open.

Expand Down
5 changes: 4 additions & 1 deletion input/pagecontent/3-6-4-DiagnosticReport-select.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
### Event-name: DiagnosticReport-select

eventMaturity | [2 - Tested](3-1-2-eventmaturitymodel.html)
{:.grid}
| Event-maturity | [2 - Tested](3-1-2-eventmaturitymodel.html)|
| Version | [1.0](3-6-4-DiagnosticReport-select.html) |
| All versions | [1.0](3-6-4-DiagnosticReport-select.html) |

### Workflow
A `DiagnosticReport-select` request will be made to the Hub when a Subscriber desires to indicate that one or more FHIR resources contained in the DiagnosticReport context's content are to be made visible, in focus, or otherwise "selected". It is assumed that a FHIR resource (e.g., Observation) with the specified `id` is contained in the specified [`anchor context's`](5_glossary.html) content, the Hub MAY or MAY NOT provide validation of its presence.
Expand Down
6 changes: 3 additions & 3 deletions input/pagecontent/3_Events.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ The sections in this chapter are:

| **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.2 Heartbeat event](3-2-2-Heartbeat.html) |
| [3.2.3 UserLogout event](3-2-3-UserLogout.html) |
| [3.2.4 UserHibernate event](3-2-4-UserHibernate.html) |

| **3.3 Patient Events** |
| [3.3.1 Patient-open event](3-3-1-Patient-open.html) |
Expand Down
4 changes: 4 additions & 0 deletions input/pagecontent/7_design-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,7 @@ Similarly, the conformance statement related to WebSocketsupport was retained.
### Content sharing approach

Two base use cases for content-exchange were identified during use case analysis. One employs a transactional, event-based exchange mechanism while the second uses content sharing content persisted in a FHIR server. It is also possible to use both methods concurrently. A detailed description of these approaches is found in the content sharing section of the specification.

### FHIRcast event versioning

The event definitions can evolve independently of the specification. In some deployments, there might be a need to retain support of older event versions, especially in the case where there are breaking changes. In order to support deployments where older versions of events are used, a versioning scheme has been added to events.
1 change: 0 additions & 1 deletion sushi-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ menu:
Content Sharing: 2-10-ContentSharing.html
Events:
Introduction: 3_Events.html
FHIRcast Event Definitions: 3-1-0-eventstructures.html
Event Template: 3-1-1-template.html
Event Maturity Model: 3-1-2-eventmaturitymodel.html
Infrastructure Events: 3-2-0-infrastructureevents.html
Expand Down