Overview


The pan-Canadian FHIR Exchange (CA:FeX) is an implementable, testable interoperability specification based on HL7 FHIR Implementation Guides, that defines building blocks to enable creating, consuming and sharing clinical data via FHIR RESTful exchange patterns.

For details, refer to the pan-Canadian FHIR Exchange Interoperability Specifications (CA:FeX v2.1.0 DRAFT-preBallot).

The following are some examples of the benefits of CA:FeX:

Actors


The actors defined by CA:FeX are described below.

Actor 

Description

Data Source

Submits data to a Data Recipient

Data Consumer

Queries a Data Responder and retrieves data matching a set of criteria

Data Recipient

Receives data from a Data Source

Data Responder

Returns data matching a set of criteria queried by Data Consumer

Actor Options


CA:FeX actor options are organized into four options providing implementers with choices that most suit their context and needs, while minimizing implementation details not relevant to them. Implementers may choose to opt into one or more actor option. The table below summarizes the CA:FeX actor options.

Actor Option

Description

A. Bundle Option

Exchange of data using /Bundle endpoint

B. Metadata Option

Exchange of data through metadata resources

C. Single Resource Option

Exchange of data using FHIR single resource endpoints

D. Summary Option

Exchange of document using $summary operation

Transaction Naming Convention


CA:FeX transactions aim to follow a consistent numbering convention for specific types of data exchange. The table below summarizes the numbering conventions commonly used for different types of transactions (see details in the next section "Actors and Transactions")

Transaction NumberDescriptionExample
CA:FeX-1Submit Data

Submit FHIR Document (CA:FeX-1A)

Generate Metadata (CA:FeX-1B)

CA:FeX-2Search Data

Search FHIR Document (CA:FeX-2A)

Fetch DocumentReference (CA:FeX-2B)

CA:FeX-3Retrieve Data

Retrieve FHIR Document (CA:FeX-3A)

Retrieve Document (CA:FeX-3B)

For example, CA:FeX-1A likely involves a Submit Data action and CA:FeX-2B involves a Search Data action.

Actors and Transactions


The following diagram provides an overview of the CA:FeX Actors, Transactions and their interactions.


The tables below list the transactions for each actor directly involved in CA:FeX. To claim compliance with CA:FeX, an actor shall support all required transactions (labeled “R”).

Bundle Option (A)

Actor

Transaction

Endpoint Info (Summary)

Optionality

Data Source

Submit FHIR Document [CA:FeX-1A]

/Bundle

R

Data Consumer


Search FHIR Document [CA:FeX-2A]

/Bundle

R

Retrieve FHIR Document [CA:FeX-3A]

/Bundle

R

Data Recipient

Submit FHIR Document [CA:FeX-1A]

/Bundle

R

Data Responder


Search FHIR Document [CA:FeX-2A]

/Bundle

R

Retrieve FHIR Document [CA:FeX-3A]

/Bundle

R


Metadata Option (B)

Actor

Transaction 

Endpoint Info (Summary)

Optionality

Notes

Data Source

Generate Metadata [CA:FeX-1B]

$generate-metadata

R

Based on MHD

Data Consumer


Fetch DocumentReference [CA:FeX-2B]

$docref

R

Based on IPA

Retrieve Document [CA:FeX-3B]

/Bundle, /Binary

R


Data Recipient

Generate Metadata [CA:FeX-1B]

$generate-metadata

R

Based on MHD

Data Responder


Fetch DocumentReference [CA:FeX-2B]

$docref

R

Based on IPA

Retrieve Document [CA:FeX-3B]

/Bundle, /Binary

R



Single Resource Option (C)

Actor

Transaction

Endpoint Info (Summary)

Optionality

Data Source

Submit Resource [CA:FeX-1C]

/<type>

R

Data Consumer


Search Resource [CA:FeX-2C]

/<type>

R

Retrieve Resource [CA:FeX-3C]

/<type>

R

Data Recipient

Submit Resource [CA:FeX-1C]

/<type>

R

Data Responder


Search Resource [CA:FeX-2C]

/<type>

R

Retrieve Resource [CA:FeX-3C]

/<type>

R


Summary Option (D)

Actor

Transaction

Endpoint Info (Summary)

Optionality

Notes

Data Consumer

Retrieve Patient Summary [CA:FeX-3D]

/Patient/$summary

/Patient/[id]/$summary

R

Based on IPS

Data Responder

Retrieve Patient Summary [CA:FeX-3D]

/Patient/$summary

/Patient/[id]/$summary

R

Based on IPS