Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 39e7ba2

Browse files
authored
profile: add ORMS component and repository (#46)
1 parent 11cf86f commit 39e7ba2

3 files changed

Lines changed: 69 additions & 65 deletions

File tree

profile/README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Feel free to let us know if you spot anything, or maybe even contribute 🙂
1818

1919
## Quick links
2020

21+
- Opal website: https://www.opalmedapps.com
22+
- Short brochure that introduces the Opal platform: https://www.opalmedapps.com/en/\_files/ugd/959010_5c87a4238c0e4a1b95a4d63eda7f559f.pdf
2123
- Documentation on Opal's architecture: https://docs.opalmedapps.com/development/architecture/
2224
- Setting up your local development environment: https://docs.opalmedapps.com/development/local-dev-setup/
2325
- Deploying Opal: https://docs.opalmedapps.com/install/
@@ -35,15 +37,13 @@ Currently, this service is provided by Google's [Firebase](https://firebase.goog
3537
> In the Details section below, repositories of components of the Opal platform are shown in parenthesis.
3638
> These are also shown in purple in the diagram above.
3739
> There is no repository for the *Integration Engine* as this is a hospital-specific integration system.
38-
> The repository for the *Live Clinic Management Dashboards* (virtual waiting room and clinician dashboard) have not yet been added to GitHub.
39-
> Please check back soon for them.
4040
4141
<details>
4242
<summary>Details about Opal components</summary>
4343

4444
### Registration
4545

46-
Users register for an Opal account using a registration code that is generated by healthcare professionals inside the hospital using the OpalADMIN application (`opal-admin` and `opal-admin-legacy`).
46+
Users register for an Opal account using a registration code that is generated by healthcare professionals inside the hospital using the OpalAdmin application (`opal-admin` and `opal-admin-legacy`).
4747
On their mobile phone or browser, the user accesses the Opal registration web app (`opal-registration`) from which they securely communicate with the Opal Listener (`opal-listener`) running inside the hospital via *Firebase* (currently *Realtime Database*).
4848
Once registered, the user is provided with their own personal Opal account using which they can access the patient's hospital data via the Opal App (`opal-app`).
4949

@@ -71,9 +71,14 @@ To protect the patient data, the data is also end-to-end-encrypted.
7171
All requests and responses are encrypted on either side so that data cannot be read within the *Realtime Database*.
7272
This is to ensure that only the Opal PIE in the hospital and the Opal App can access the unencrypted data.
7373

74-
#### OpalADMIN
74+
#### OpalAdmin
7575

76-
The OpalADMIN (`opal-admin` and `opal-admin-legacy`) application is used by the clinical and administrative staff to set up the rules for publishing data for patients (which data from the source systems and how the data are presented to the patient, e.g., aliasing of clinical terms and provision of additional explanatory content).
76+
The OpalAdmin (`opal-admin` and `opal-admin-legacy`) application is used by the clinical and administrative staff to set up the rules for publishing data for patients (which data from the source systems and how the data are presented to the patient, e.g., aliasing of clinical terms and provision of additional explanatory content).
77+
78+
#### Opal Room Management System (ORMS)
79+
80+
*ORMS* provides live clinic management dashboards consisting of a virtual waiting room and clinician dashboard.
81+
Patients can check-in via a kiosk, via the Opal App or via SMS and get called to their treating room via TV screens, by the Opal App, and/or by SMS message.
7782

7883
</details>
7984

@@ -84,11 +89,11 @@ Repositories that begin with "opal" are components of the Opal platform.
8489

8590
- **opal-app:** The patient-facing web and mobile application (referred to as the *Opal Patient Portal*) used by users to access their patient data. [JavaScript, AngularJS, Cordova, Onsen UI].
8691

87-
- **opal-admin:** The staff-facing web application (referred to as *OpalADMIN*) used to create and manage the publishing of data and education materials to patients as well as access management for patients and staff (clinicians and administrative personnel).
88-
Note: This repository is Python/Django-based and contains the code base for all new features and functionality to OpalADMIN. [Python, Django]
92+
- **opal-admin:** The staff-facing web application (referred to as *OpalAdmin*) used to create and manage the publishing of data and education materials to patients as well as access management for patients and staff (clinicians and administrative personnel).
93+
Note: This repository is Python/Django-based and contains the code base for all new features and functionality to OpalAdmin. [Python, Django]
8994

90-
- **opal-admin-legacy:** The staff-facing web application (referred to as *OpalADMIN Legacy*) used to create and manage the publishing of data and education materials to patients as well as access management for patients and staff (clinicians and administrative personnel).
91-
Note: this repository is PHP and Perl-based and contains the legacy version of OpalADMIN.
95+
- **opal-admin-legacy:** The staff-facing web application (referred to as *OpalAdmin Legacy*) used to create and manage the publishing of data and education materials to patients as well as access management for patients and staff (clinicians and administrative personnel).
96+
Note: this repository is PHP and Perl-based and contains the legacy version of OpalAdmin.
9297
It is used for maintenance-only development and should not be used to develop any new features or functionality. [PHP, Perl, JavaScript, AngularJS]
9398

9499
- **opal-listener:** The Opal listener application (referred to as the *Opal Listener*) that runs in the background and handles requests from the Opal Patient Portal and the Opal Registration site via Firebase. [Node.js]
@@ -98,8 +103,14 @@ Repositories that begin with "opal" are components of the Opal platform.
98103
- **opal-db-management:** Opal's database utility used to manage revisions and data for the Opal legacy databases.
99104
Note: The current Opal database is managed using the Django framework in `opal-admin`. [Alembic, Python, MySQL]
100105

106+
- **opal-rms:** The live clinician dashboards that may be used to manage patients according to set conditions.
107+
Includes the Opal Virtual Waiting Room used by clinicians for waiting room management as well as the Clinician Dashboard that can be used for remote monitoring of patients who submit data (from wearables or questionnaires) via Opal.
108+
Also provides web interfaces for kiosks and TV screens.
109+
Note: This repository is PHP-based and contains what is intended to become the legacy version of ORMS.
110+
It should ideally not be used to develop any new features or functionality and will ultimately be migrated to `opal-admin`. [PHP, JavaScript, AngularJS]
111+
101112
- **deploy-pie:** Copier template to deploy the Opal PIE.
102-
The Opal PIE is the Opal Patient Information Exchange, consisting of the Opal Listener, OpalADMIN, OpalADMIN Legacy, and all associated databases and scripts.
113+
The Opal PIE is the Opal Patient Information Exchange, consisting of the Opal Listener, OpalAdmin, OpalAdmin Legacy, and all associated databases and scripts.
103114

104115
- **docs:** Opal's documentation site written in Markdown. [MkDocs, mkdocs-material]
105116

profile/architecture.excalidraw

Lines changed: 48 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@
331331
"version": 225,
332332
"versionNonce": 1324303803,
333333
"isDeleted": false,
334-
"boundElements": null,
334+
"boundElements": [],
335335
"updated": 1744151791898,
336336
"link": null,
337337
"locked": false,
@@ -708,7 +708,7 @@
708708
"version": 559,
709709
"versionNonce": 969634331,
710710
"isDeleted": false,
711-
"boundElements": null,
711+
"boundElements": [],
712712
"updated": 1744155321117,
713713
"link": null,
714714
"locked": false,
@@ -801,7 +801,7 @@
801801
"version": 502,
802802
"versionNonce": 668701237,
803803
"isDeleted": false,
804-
"boundElements": null,
804+
"boundElements": [],
805805
"updated": 1744155316730,
806806
"link": null,
807807
"locked": false,
@@ -838,7 +838,7 @@
838838
"version": 1539,
839839
"versionNonce": 1571538773,
840840
"isDeleted": false,
841-
"boundElements": null,
841+
"boundElements": [],
842842
"updated": 1744155313206,
843843
"link": null,
844844
"locked": false,
@@ -1522,8 +1522,8 @@
15221522
},
15231523
{
15241524
"type": "rectangle",
1525-
"version": 2237,
1526-
"versionNonce": 1788179931,
1525+
"version": 2247,
1526+
"versionNonce": 1116810767,
15271527
"isDeleted": false,
15281528
"id": "-deEWjutQZC1dOkxJmVes",
15291529
"fillStyle": "solid",
@@ -1535,7 +1535,7 @@
15351535
"x": 365.3308978748596,
15361536
"y": 561.416060801489,
15371537
"strokeColor": "#1e1e1e",
1538-
"backgroundColor": "transparent",
1538+
"backgroundColor": "#9775fa",
15391539
"width": 108.35601825028084,
15401540
"height": 75,
15411541
"seed": 181763899,
@@ -1555,20 +1555,20 @@
15551555
"type": "arrow"
15561556
}
15571557
],
1558-
"updated": 1744142468054,
1558+
"updated": 1748273074988,
15591559
"link": null,
15601560
"locked": false
15611561
},
15621562
{
15631563
"id": "qHsha9n1d0ohkxJS9_nV3",
15641564
"type": "text",
1565-
"x": 371.9489094414063,
1566-
"y": 566.5160608014891,
1567-
"width": 95.1199951171875,
1568-
"height": 64.80000000000001,
1565+
"x": 386.6289059318848,
1566+
"y": 588.1160608014891,
1567+
"width": 65.76000213623047,
1568+
"height": 21.6,
15691569
"angle": 0,
1570-
"strokeColor": "#1e1e1e",
1571-
"backgroundColor": "transparent",
1570+
"strokeColor": "#ffffff",
1571+
"backgroundColor": "#9775fa",
15721572
"fillStyle": "solid",
15731573
"strokeWidth": 1,
15741574
"strokeStyle": "solid",
@@ -1581,20 +1581,20 @@
15811581
"index": "b2J",
15821582
"roundness": null,
15831583
"seed": 871882715,
1584-
"version": 584,
1585-
"versionNonce": 259737627,
1584+
"version": 604,
1585+
"versionNonce": 67774529,
15861586
"isDeleted": false,
15871587
"boundElements": [],
1588-
"updated": 1744142467272,
1588+
"updated": 1748273113613,
15891589
"link": null,
15901590
"locked": false,
1591-
"text": "Live Clinic\nManagement\nDashboards",
1591+
"text": "opal-rms",
15921592
"fontSize": 16,
15931593
"fontFamily": 6,
15941594
"textAlign": "center",
15951595
"verticalAlign": "middle",
15961596
"containerId": "-deEWjutQZC1dOkxJmVes",
1597-
"originalText": "Live Clinic Management Dashboards",
1597+
"originalText": "opal-rms",
15981598
"autoResize": true,
15991599
"lineHeight": 1.35
16001600
},
@@ -1739,10 +1739,10 @@
17391739
{
17401740
"id": "gW9opx4QnEgI-s2_Ny6nC",
17411741
"type": "arrow",
1742-
"x": 271.9683713276272,
1743-
"y": 485.36824172595374,
1744-
"width": 1.165034456617832,
1745-
"height": 76.04781907553507,
1742+
"x": 272.0106091265208,
1743+
"y": 485.3682417259539,
1744+
"width": 0.843362797553425,
1745+
"height": 76.04781907553479,
17461746
"angle": 0,
17471747
"strokeColor": "#1e1e1e",
17481748
"backgroundColor": "transparent",
@@ -1756,11 +1756,11 @@
17561756
"index": "b2P",
17571757
"roundness": null,
17581758
"seed": 326168373,
1759-
"version": 1966,
1760-
"versionNonce": 1649229493,
1759+
"version": 1968,
1760+
"versionNonce": 1186688911,
17611761
"isDeleted": false,
17621762
"boundElements": [],
1763-
"updated": 1744142776285,
1763+
"updated": 1748273104246,
17641764
"link": null,
17651765
"locked": false,
17661766
"points": [
@@ -1769,8 +1769,8 @@
17691769
0
17701770
],
17711771
[
1772-
1.165034456617832,
1773-
76.04781907553507
1772+
0.843362797553425,
1773+
76.04781907553479
17741774
]
17751775
],
17761776
"lastCommittedPoint": null,
@@ -1793,7 +1793,7 @@
17931793
"type": "arrow",
17941794
"x": 305.0906158060325,
17951795
"y": 452.9134909801644,
1796-
"width": 115.71357666873024,
1796+
"width": 113.1088281729098,
17971797
"height": 106.0904985084212,
17981798
"angle": 0,
17991799
"strokeColor": "#1e1e1e",
@@ -1808,11 +1808,11 @@
18081808
"index": "b2Q",
18091809
"roundness": null,
18101810
"seed": 1810071995,
1811-
"version": 2324,
1812-
"versionNonce": 2062406971,
1811+
"version": 2327,
1812+
"versionNonce": 366505473,
18131813
"isDeleted": false,
18141814
"boundElements": [],
1815-
"updated": 1744142468054,
1815+
"updated": 1748273083743,
18161816
"link": null,
18171817
"locked": false,
18181818
"points": [
@@ -1821,7 +1821,7 @@
18211821
0
18221822
],
18231823
[
1824-
115.71357666873024,
1824+
113.1088281729098,
18251825
106.0904985084212
18261826
]
18271827
],
@@ -2201,10 +2201,10 @@
22012201
{
22022202
"id": "N8TDGj-FfHkbk2WaGwfTP",
22032203
"type": "arrow",
2204-
"x": 111.81507490921912,
2205-
"y": 440.53642919851103,
2204+
"x": 111.81507490921913,
2205+
"y": 440.5364291985111,
22062206
"width": 133.2732700396934,
2207-
"height": 119.51986765515682,
2207+
"height": 119.51986765515676,
22082208
"angle": 0,
22092209
"strokeColor": "#1e1e1e",
22102210
"backgroundColor": "transparent",
@@ -2218,11 +2218,11 @@
22182218
"index": "b3W",
22192219
"roundness": null,
22202220
"seed": 1681940693,
2221-
"version": 2467,
2222-
"versionNonce": 1814950645,
2221+
"version": 2469,
2222+
"versionNonce": 1877255599,
22232223
"isDeleted": false,
22242224
"boundElements": [],
2225-
"updated": 1744142785398,
2225+
"updated": 1748273104246,
22262226
"link": null,
22272227
"locked": false,
22282228
"points": [
@@ -2232,7 +2232,7 @@
22322232
],
22332233
[
22342234
133.2732700396934,
2235-
119.51986765515682
2235+
119.51986765515676
22362236
]
22372237
],
22382238
"lastCommittedPoint": null,
@@ -2835,7 +2835,7 @@
28352835
"version": 80,
28362836
"versionNonce": 553758357,
28372837
"isDeleted": false,
2838-
"boundElements": null,
2838+
"boundElements": [],
28392839
"updated": 1744142419144,
28402840
"link": null,
28412841
"locked": false,
@@ -2946,7 +2946,7 @@
29462946
"version": 333,
29472947
"versionNonce": 1404669845,
29482948
"isDeleted": false,
2949-
"boundElements": null,
2949+
"boundElements": [],
29502950
"updated": 1744142790755,
29512951
"link": null,
29522952
"locked": false,
@@ -2998,7 +2998,7 @@
29982998
"version": 107,
29992999
"versionNonce": 1534496469,
30003000
"isDeleted": false,
3001-
"boundElements": null,
3001+
"boundElements": [],
30023002
"updated": 1744141953538,
30033003
"link": null,
30043004
"locked": false,
@@ -3041,7 +3041,7 @@
30413041
"version": 108,
30423042
"versionNonce": 780052411,
30433043
"isDeleted": false,
3044-
"boundElements": null,
3044+
"boundElements": [],
30453045
"updated": 1744141950658,
30463046
"link": null,
30473047
"locked": false,
@@ -3565,14 +3565,6 @@
35653565
"frameId": null,
35663566
"roundness": null,
35673567
"boundElements": [
3568-
{
3569-
"id": "z8siaNk_8deXe78vbm3KH",
3570-
"type": "arrow"
3571-
},
3572-
{
3573-
"id": "H0qg1jJON4q3kDhQ9rkdT",
3574-
"type": "arrow"
3575-
},
35763568
{
35773569
"id": "rE9ZooiyRckMXoTYgNGR_",
35783570
"type": "arrow"
@@ -3788,7 +3780,7 @@
37883780
"version": 246,
37893781
"versionNonce": 1959075221,
37903782
"isDeleted": false,
3791-
"boundElements": null,
3783+
"boundElements": [],
37923784
"updated": 1744152002319,
37933785
"link": null,
37943786
"locked": false,
@@ -3840,7 +3832,7 @@
38403832
"version": 153,
38413833
"versionNonce": 984342069,
38423834
"isDeleted": false,
3843-
"boundElements": null,
3835+
"boundElements": [],
38443836
"updated": 1744291773263,
38453837
"link": null,
38463838
"locked": false,
@@ -3859,7 +3851,8 @@
38593851
"gridSize": 20,
38603852
"gridStep": 5,
38613853
"gridModeEnabled": false,
3862-
"viewBackgroundColor": "#ffffff"
3854+
"viewBackgroundColor": "#ffffff",
3855+
"lockedMultiSelections": {}
38633856
},
38643857
"files": {}
38653858
}

profile/architecture.png

-2.36 KB
Loading

0 commit comments

Comments
 (0)