Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New FHIR native workflows for SHR component #2

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Query Patient-level Clinical Data Workflow (FHIR native)

This transaction allows a point of service (PoS) system to save patient-level clinical data to the SHR. The transaction is verified and validated against necessary metadata before it is saved in the SHR. The following sequence diagram shows the steps involved.

| **Workflow Maturity** | <p><img src="https://lh6.googleusercontent.com/Kxkqfa92YGW3mIOmWio0Twi4YLMA92z6mL1MuFzkx4AWS5CX5zbzWid5z4p2W-e6O66llKpaU0r6lzwyXfhbIiWmkVEuPDy6stX5x5L8uC2DkEXs6qUFX-7xxXTlb9hbkg" alt=""></p><p><strong>Newly Defined</strong></p> | <ul><li><strong>Workflow is newly defined</strong></li><li><strong>Initial implementations are being implemented</strong></li></ul> |
| --- | --- | --- |
| Standards | | |
| Assumptions and Prerequisites | | <ul><li>The PoS system is a trusted application known by the HIE and it is registered with the interoperability layer to be able to send and receive data securely (<a href="https://wiki.ohie.org/display/documents/Common+message+security+workflow">Common message security workflow</a>).</li> |
| Actors | | <ul><li>PoS - The point of care system that captures a patient's clinical encounter, it is responsible for sending clinical data on to the HIE.</li><li>IL - Mediates the transactions between the PoS system and the infrastructure services to facilitate easier interoperability.</li><li>CR - The source of truth for patient demographic and identifier detail. It is able to be queried using an identifier to find the enterprise identifier for a particular person.</li><li>FR - The source of truth for facility information. It is able to be queried for details about a particular facility by ID.</li><li>SHR - Stored patients clinical information. It is able to receive and store patient clinical documents.</li></ul> |

## **Interaction Description**

The following is a description of the interaction steps. The specific FHIR query that is used isn't strictly specified as this could be any necessary query conformant to the FHIR API that the PoS in the current implementation finds useful. Instead these interaction describe generic behavior for the HIE to support to ensure patient potential multiple identities are considered and resolved.

[![](https://mermaid.ink/img/pako:eNp9Us1LwzAU_1ceOSnUg5-HHgZSlQ0m1vZoe4jN23ysTWqaDMbY_-7bsg3Mppck_PL7Inlr0RiFIhUDfnvUDT6RnFvZVRqgl9ZRQ73UDnJTxtDkbRpDWREj5biAi5fxpIAS7RLtZaW3FLa7Go3YIYWP6xrePdoV7GiP-WRLkI2jpXR4SOGNBVnB_JsapsYsfM9BjpBDSPFKfB5-SUObrDgm3daQn5UojEQh7qQ8e9zFbRNwckF6DqSd4fDGePaXbftXrTNPAqfgsfR9HaIKHHqjB4z6nnUL9YP-oYbMdJ-kEezeYoCZsdD51lHfYtQzaPmD0n9zmSYS0aHtJCmen_X2vhLuCzusRMpHJe2iEpXeMM_3ikXPipyxIp3JdsBESO9MudKNSJ31eCDtB_DIwp3oNUzpblg3P5jK5Xs?type=png)](https://mermaid.live/edit#pako:eNp9Us1LwzAU_1ceOSnUg5-HHgZSlQ0m1vZoe4jN23ysTWqaDMbY_-7bsg3Mppck_PL7Inlr0RiFIhUDfnvUDT6RnFvZVRqgl9ZRQ73UDnJTxtDkbRpDWREj5biAi5fxpIAS7RLtZaW3FLa7Go3YIYWP6xrePdoV7GiP-WRLkI2jpXR4SOGNBVnB_JsapsYsfM9BjpBDSPFKfB5-SUObrDgm3daQn5UojEQh7qQ8e9zFbRNwckF6DqSd4fDGePaXbftXrTNPAqfgsfR9HaIKHHqjB4z6nnUL9YP-oYbMdJ-kEezeYoCZsdD51lHfYtQzaPmD0n9zmSYS0aHtJCmen_X2vhLuCzusRMpHJe2iEpXeMM_3ikXPipyxIp3JdsBESO9MudKNSJ31eCDtB_DIwp3oNUzpblg3P5jK5Xs)

| **#** | Interaction | Data | Transaction Options |
| ----- | --- | --- | --- |
| 1 | Query FHIR API | Any conformant FHIR Query parameters | [Any FHIR Read Interaction](https://www.hl7.org/fhir/http.html#read) |
| 2 | Lookup patient identities | Known Patient ID | Query Patient Demographic Records by Identifier Workflow |
| 3 | Patient identities | | |
| 4 | Query FHIR API, taking into account all identities | Any conformant FHIR Query parameters | [Any FHIR Read Interaction](https://www.hl7.org/fhir/http.html#read) |
| 5 | FHIR Response | | |
| 6 | Combine responses for multiple identities | | |
| 7 | FHIR Response | | |
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Query Patient-level Clinical Data Workflow
# Query Patient-level Clinical Data Workflow (Document-based)

_\*\*_The transaction queries for previously stored clinical data for a specific patient. The following sequence diagram shows the steps involved in this transaction.
Also see [FHIR native version of this workflow](./query-patient-level-clinical-data-workflow-fhir.md).

The transaction queries for previously stored clinical data for a specific patient. The following sequence diagram shows the steps involved in this transaction.

| **Workflow Maturity** | <p><img src="https://lh5.googleusercontent.com/Vp6XBRGu-U_Dmd5EKNpCZvEEum0CxOcHOj9NgHh8UMMNLMlXHmLcUE_YWueDRr4uqWLzpPfzSBLJ2k33XQIelLypjQ4wyrD17-t33GtLa8fFxW9AYDvXhiJmBl4VaLgKDg" alt=""></p><p> <strong>Mature</strong></p> | <ul><li><strong>One or more OpenHIE implementations of this workflow exist in one or more countries</strong></li><li><strong>Workflow is defined and ARB approved</strong></li><li><strong>Workflow is supported by mature standards</strong></li></ul> |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Save Patient-level Clinical Data Workflow (FHIR native)

This transaction allows a point of service (PoS) system to save patient-level clinical data to the SHR. The transaction is verified and validated against necessary metadata before it is saved in the SHR. The following sequence diagram shows the steps involved.

| **Workflow Maturity** | <p><img src="https://lh6.googleusercontent.com/Kxkqfa92YGW3mIOmWio0Twi4YLMA92z6mL1MuFzkx4AWS5CX5zbzWid5z4p2W-e6O66llKpaU0r6lzwyXfhbIiWmkVEuPDy6stX5x5L8uC2DkEXs6qUFX-7xxXTlb9hbkg" alt=""></p><p><strong>Newly Defined</strong></p> | <ul><li><strong>Workflow is newly defined</strong></li><li><strong>Initial implementations are being implemented</strong></li></ul> |
| --- | --- | --- |
| Standards | | HL7 FHIR |
| Assumptions and Prerequisites | | <ul><li>The PoS system has a curated list of Providers that interact with that system, with knowledge of at least the providers that are relevant to that PoS system.</li><li>The PoS system has a curated list of Facilities that this system serves, with knowledge of at least one member (itself).</li><li>The PoS system is a trusted application known by the HIE and it is registered with the interoperability layer to be able to send and receive data securely (<a href="https://wiki.ohie.org/display/documents/Common+message+security+workflow">Common message security workflow</a>).</li> |
| Actors | | <ul><li>PoS - The point of service system that captures a patient clinical encounter, it is responsible for sending this encounter on to the HIE.</li><li>IL - Mediates the transactions between the PoS system and the infrastructure services to facilitate easier interoperability.</li><li>CR - The source of truth for patient demographic and identifier detail. It is able to be queried to find the identities of a patient.</li><li>SHR - Stored patients clinical information. It is able to receive and store a patient clinical data.</li></ul> |

## **Interaction Description**

The following is a description of the interaction steps.

[![](https://mermaid.ink/img/pako:eNqNVE1v2kAQ_Ssjn4LkVqVJvzjkUEgVJBKQnfZS-7DxjmGE2XV310lQlP_eWRscYgjigICdN7Pvzbyd5yDTEoNBYPFfhSrDEYm5EatEAZTCOMqoFMrBTMfdo_F00j0aRt2T-DqCs1_X4whiNA9oeonyEC734fKSKwzgbz-FGvCzUrJAHxWZowfhcHsFf7XozyncGaFs4eMOzYqULvR8DV6H7aLPU7h6coYLwkw4QmYUodWVyfAVOowYeZHCbBrftbCGdK7NSrjeG1KNyGG0zfySwtCgjwhQ-AgGM21kCJQD52YLtOA04BNZR2oOze1AEkTF5wWpJWBhEUyl6n8Mai9oVHxNmbUvCuORD0nskGl07PWaU7-lMNF6WZVgXXXPo2nUmZ0mtLUOzAr2D1tW3z0rVxnVVtUGbn9PJh2KB8uKgg2Uw-20Ta4btDfAHyncaEn5Gu5re8BZ7AyV7ZhGuNLs13JBmQ1BSMkdYXU5PJJbvHbNT2CT8tH3OGSME6SYMs1JiaKN8lzOqopkr6ZZD4Z5HifZ_7THMsKyEDzmbsOB79xgaoZ7zWEfl-sNO2-Xt6y9QP6QI-1Jn6S1EaLkcaP0-5sHUAtB-e6bPNklB2_h5_tHFCR9pTpWGp1TgTy8ncccQi4yKsitQSi508QcjV9S9rgz--femrbUyuIpZmy6wjvJ5168m8uwIAxWTFOQ5JX57ONJ4Ba4wiQY8E8pzDIJEvXCuKr0Iq94VtoEg1ywk8LAP_l4rbJg4EyFW9Bm57YorJNumsVc7-eX_7nD3qM?type=png)](https://mermaid.live/edit#pako:eNqNVE1v2kAQ_Ssjn4LkVqVJvzjkUEgVJBKQnfZS-7DxjmGE2XV310lQlP_eWRscYgjigICdN7Pvzbyd5yDTEoNBYPFfhSrDEYm5EatEAZTCOMqoFMrBTMfdo_F00j0aRt2T-DqCs1_X4whiNA9oeonyEC734fKSKwzgbz-FGvCzUrJAHxWZowfhcHsFf7XozyncGaFs4eMOzYqULvR8DV6H7aLPU7h6coYLwkw4QmYUodWVyfAVOowYeZHCbBrftbCGdK7NSrjeG1KNyGG0zfySwtCgjwhQ-AgGM21kCJQD52YLtOA04BNZR2oOze1AEkTF5wWpJWBhEUyl6n8Mai9oVHxNmbUvCuORD0nskGl07PWaU7-lMNF6WZVgXXXPo2nUmZ0mtLUOzAr2D1tW3z0rVxnVVtUGbn9PJh2KB8uKgg2Uw-20Ta4btDfAHyncaEn5Gu5re8BZ7AyV7ZhGuNLs13JBmQ1BSMkdYXU5PJJbvHbNT2CT8tH3OGSME6SYMs1JiaKN8lzOqopkr6ZZD4Z5HifZ_7THMsKyEDzmbsOB79xgaoZ7zWEfl-sNO2-Xt6y9QP6QI-1Jn6S1EaLkcaP0-5sHUAtB-e6bPNklB2_h5_tHFCR9pTpWGp1TgTy8ncccQi4yKsitQSi508QcjV9S9rgz--femrbUyuIpZmy6wjvJ5168m8uwIAxWTFOQ5JX57ONJ4Ba4wiQY8E8pzDIJEvXCuKr0Iq94VtoEg1ywk8LAP_l4rbJg4EyFW9Bm57YorJNumsVc7-eX_7nD3qM)

| **#** | Interaction | Data | Transaction Options |
| ----- | --- | --- | --- |
| 1 | FHIR Bundle | A bundle of FHIR resources representing clinical data for a particular patient encounter. Recommended: FHIR IDs are predefined by the PoS to make looking up of saved data easier | [FHIR Transaction POST](https://www.hl7.org/fhir/http.html#transaction) |
| 2 | Translate terminology codes | The IOL or a mediator uses TS workflows to transalate any necessary codes | Any TS workflows necessary |
| 3 | Extract Patient Resource | | |
| 4 | POST Patient (FHIR format) | FHIR Patient resource | [Create Patient Demographic Record Workflow](../patient-identity-management-workflows/create-patient-demographic-record-workflow-1.md) |
| 5 | Create a new record, if matches to existing source id auto link else run linking | | |
| 6 | Record ID | | |
| 7 | Lookup stub patient resource | | |
| 8 | Return patient or NULL | | |
| 9 | Modify bundle (Strip Patient Demographics, add CR ref with Record ID to Patient.link, retain original Patient.id (uuid)) | | |
| 10 | Modify bundle (Replace patient resource in bundle with SHR (FHIR Server) copy retaining Patient.link, add additional CR ref with Record ID to Patient.link) | | |
| 11 | POST Modifed FHIR Bundle | FHIR Bundle | [FHIR Transaction POST](https://www.hl7.org/fhir/http.html#transaction) |
| 12 | Validate FHIR profiles, terminology, facility and patient references | | |
| 13 | Response | | |
| 14 | Response | | |
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Save Patient-level Clinical Data Workflow
# Save Patient-level Clinical Data Workflow (Document-based)

Also see [FHIR native version of this workflow](./save-patient-level-clinical-data-workflow-fhir.md).

This transaction allows a point of service (PoS) system to save patient-level clinical data to the SHR. The transaction is verified and validated against the other registries before it is saved in the SHR. The following sequence diagram shows the steps involved.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,23 @@ See also [Non-Functional Requirements](non-functional-requirements.md).

A [core principle of the OpenHIE architecture](https://wiki.ohie.org/display/resources/Architectural+Principals) is to allow the various infrastructure services (such as the SHR) to be interchangeable. To support this, the [OpenHIE Standards and Profiles](https://wiki.ohie.org/display/documents/OpenHIE+Standards+and+Profiles) used by the Shared Health Record are outlined in the workflows below.

To be an OHIE SHR component, the SHR application must be able to support the OHIE workflows listed below. Implementations may support only the workflows needed to support their use case:
To be an OHIE SHR component, the SHR application must be able to support the OHIE workflows listed below. Implementations may support only the workflows needed to support their use case.

There are two separate options for implementing these workflows. There is a document-based option which was part of the original OpenHIE specification and a newer, more modern and simpler native FHIR version of the workflows. An implementation may choose which workflow set to implement.

### Document-based workflows

| **#** | **SHR Workflows (Described in detail in the later part of this document)** | **Recommendation/ Requirement** |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| \*\*\*\*[**SHRWF-1**](../introduction/shared-health-record/save-patient-level-clinical-data-workflow.md)\*\*\*\* | [Save patient-level clinical data workflow - document-based](../introduction/shared-health-record/save-patient-level-clinical-data-workflow.md) | Requirement |
| \*\*\*\*[**SHRWF-2**](../introduction/shared-health-record/query-patient-level-clinical-data-workflow.md)\*\*\*\* | [Query patient-level clinical data workflow - document-based](../introduction/shared-health-record/query-patient-level-clinical-data-workflow.md) | Requirement |

### Native FHIR-based workflows (Recommended)

| **#** | **SHR Workflows (Described in detail in the later part of this document)** | **Recommendation/ Requirement** |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| \*\*\*\*[**SHRWF-1**](../introduction/shared-health-record/save-patient-level-clinical-data-workflow.md)\*\*\*\* | [Save patient-level clinical data workflow](../introduction/shared-health-record/save-patient-level-clinical-data-workflow.md) | Requirement |
| \*\*\*\*[**SHRWF-2**](../introduction/shared-health-record/query-patient-level-clinical-data-workflow.md)\*\*\*\* | [Query patient-level clinical data workflow](../introduction/shared-health-record/query-patient-level-clinical-data-workflow.md) | Requirement |
| \*\*\*\*[**SHRWF-1**](../introduction/shared-health-record/save-patient-level-clinical-data-workflow.md)\*\*\*\* | [Save patient-level clinical data workflow - FHIR native](../introduction/shared-health-record/save-patient-level-clinical-data-workflow-fhir.md) | Requirement |
| \*\*\*\*[**SHRWF-2**](../introduction/shared-health-record/query-patient-level-clinical-data-workflow.md)\*\*\*\* | [Query patient-level clinical data workflow - FHIR native](../introduction/shared-health-record/query-patient-level-clinical-data-workflow-fhir.md) | Requirement |

## **OpenHIE SHR Functional Requirements**

Expand Down