generated from openhie/empty-fhir-ig-custom
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added in some sample workflows and updated sushi-config to create the…
… workflow page. There is an issue with the menu. Added generic user/pass from settings for OpenMRS demo experiment rest file.
- Loading branch information
1 parent
654db8b
commit c49e5ac
Showing
8 changed files
with
181 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,4 +32,5 @@ Thumbs.db | |
input/tests/results | ||
|
||
# .env | ||
.env | ||
.envlocal-templates | ||
local-template |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
@startuml | ||
skinparam svgDimensionStyle false | ||
hide footbox | ||
participant "KenyaEMR 1" as EMR1 | ||
participant "KenyaEMR 2" as EMR2 | ||
participant "Data Mediator" as Data | ||
participant "MPI" as MPI | ||
participant "CQF Ruler" as CQL | ||
participant "Report Generator" as Report | ||
|
||
activate CQL | ||
loop Copy Data to FHIR/CQL Server | ||
activate Data | ||
activate EMR1 | ||
Data -> EMR1: Query for FHIR resource updates\n**GET ///<Resource>//\n ?_lastUpdated=gtYYYY-MM-DD** | ||
EMR1 -> Data: Return FHIR resources | ||
deactivate EMR1 | ||
activate MPI | ||
Data -> MPI: Match Patient records to MPI | ||
MPI -> Data: Return unique identifier | ||
deactivate MPI | ||
Data -> CQL: Save FHIR resources to server\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Data: Return confirmation or error | ||
deactivate Data | ||
end | ||
|
||
loop Copy Data to FHIR/CQL Server | ||
activate Data | ||
activate EMR2 | ||
Data -> EMR2: Query for FHIR resource updates\n**GET ///<Resource>//\n ?_lastUpdated=gtYYYY-MM-DD** | ||
EMR2 -> Data: Return FHIR resources | ||
deactivate EMR2 | ||
activate MPI | ||
Data -> MPI: Match Patient records to MPI | ||
MPI -> Data: Return unique identifier | ||
deactivate MPI | ||
Data -> CQL: Save FHIR resources to server\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Data: Return confirmation or error | ||
deactivate Data | ||
end | ||
|
||
activate Report | ||
opt Update indicator resources | ||
Report -> CQL: Save updated Measure, Library, Terminology resources\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Report: Return confirmation or error | ||
end | ||
|
||
Report -> CQL: Evaluate measure for the period\n**GET /Measure/TXCURR/$evaluate-measure\n ?periodStart=YYYY-MM-DD&periodEnd=YYYY-MM-DD** | ||
CQL -> Report: Return MeasureReport | ||
deactivate Report | ||
deactivate CQL | ||
|
||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
@startuml | ||
skinparam svgDimensionStyle false | ||
hide footbox | ||
participant "KenyaEMR 1" as EMR1 | ||
participant "KenyaEMR 2" as EMR2 | ||
participant "Data Mediator" as Data | ||
participant "CQF Ruler" as CQL | ||
participant "Report Generator" as Report | ||
|
||
activate CQL | ||
loop Copy Data to FHIR/CQL Server | ||
activate Data | ||
activate EMR1 | ||
Data -> EMR1: Query for FHIR resource updates\n**GET ///<Resource>//\n ?_lastUpdated=gtYYYY-MM-DD** | ||
EMR1 -> Data: Return FHIR resources | ||
deactivate EMR1 | ||
Data -> CQL: Save FHIR resources to server\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Data: Return confirmation or error | ||
deactivate Data | ||
end | ||
|
||
loop Copy Data to FHIR/CQL Server | ||
activate Data | ||
activate EMR2 | ||
Data -> EMR2: Query for FHIR resource updates\n**GET ///<Resource>//\n ?_lastUpdated=gtYYYY-MM-DD** | ||
EMR2 -> Data: Return FHIR resources | ||
deactivate EMR2 | ||
Data -> CQL: Save FHIR resources to server\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Data: Return confirmation or error | ||
deactivate Data | ||
end | ||
|
||
activate Report | ||
opt Update indicator resources | ||
Report -> CQL: Save updated Measure, Library, Terminology resources\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Report: Return confirmation or error | ||
end | ||
|
||
Report -> CQL: Evaluate measure for the period\n**GET /Measure/TXCURR/$evaluate-measure\n ?periodStart=YYYY-MM-DD&periodEnd=YYYY-MM-DD** | ||
CQL -> Report: Return MeasureReport | ||
deactivate Report | ||
deactivate CQL | ||
|
||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
@startuml | ||
skinparam svgDimensionStyle false | ||
hide footbox | ||
participant "KenyaEMR" as EMR | ||
participant "Data Mediator" as Data | ||
participant "CQF Ruler" as CQL | ||
participant "Report Generator" as Report | ||
|
||
activate CQL | ||
loop Copy Data to FHIR/CQL Server | ||
activate Data | ||
activate EMR | ||
Data -> EMR: Query for FHIR resource updates\n**GET ///<Resource>//\n ?_lastUpdated=gtYYYY-MM-DD** | ||
EMR -> Data: Return FHIR resources | ||
deactivate EMR | ||
Data -> CQL: Save FHIR resources to server\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Data: Return confirmation or error | ||
deactivate Data | ||
end | ||
|
||
activate Report | ||
opt Update indicator resources | ||
Report -> CQL: Save updated Measure, Library, Terminology resources\n**PUT ///<Resource>/////<id>//**\nor\n**POST ///<Bundle>//** | ||
CQL -> Report: Return confirmation or error | ||
end | ||
|
||
Report -> CQL: Evaluate measure for the period\n**GET /Measure/TXCURR/$evaluate-measure\n ?periodStart=YYYY-MM-DD&periodEnd=YYYY-MM-DD** | ||
CQL -> Report: Return MeasureReport | ||
deactivate Report | ||
deactivate CQL | ||
|
||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
## Simple Iteration | ||
|
||
This iteration is the simplest version where the KenyaEMR data is loaded into a FHIR Server with CQL support. This will work from multiple source data systems to get combined MeasureReports across all imported data. | ||
|
||
This iteration will also be specific to the KenyaEMR data model without needing mapping to unused data elements. Future iterations will be created to use a more standard model that is mapped to the KenyaEMR model. | ||
|
||
<div> | ||
{% include simple-workflow.svg %} | ||
</div> | ||
<div style="clear: left;"></div> | ||
|
||
## Simple Standard Iteration | ||
|
||
This iteration is exactly the same as the Simple Iteration, but the CQL logic will be system agnostic and require mapping of concepts and possibly custom CQL expressions to align with the system specific data model. | ||
|
||
## Multiple Source Iteration | ||
|
||
This iteration adds some further complexity in importing data from multiple EMRs. This doesn't include any deduplication, but shows how any number of systems can send data to the CQL server. | ||
|
||
<div> | ||
{% include multiple-workflow.svg %} | ||
</div> | ||
<div style="clear: left;"></div> | ||
|
||
## Multiple Sources with Deduplication | ||
|
||
This iteration adds in a deduplication service to ensure data from multiple sources aren't counted multiple times. The CQL logic will use the unique identifier from the MPI to avoid counting records mulitple times. | ||
|
||
<div> | ||
{% include dedup-workflow.svg %} | ||
</div> | ||
<div style="clear: left;"></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters