pyegeria 5.3.3.13.dev3__py3-none-any.whl → 5.3.3.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyegeria/.DS_Store +0 -0
- pyegeria/commands/.DS_Store +0 -0
- pyegeria/commands/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/__pycache__/server_status_widget.cpython-312-pytest-7.4.4.pyc +0 -0
- pyegeria/commands/cat/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_asset_graph.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_collection.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_project_dependencies.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_project_structure.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/get_tech_type_elements.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/glossary_actions.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_assets.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_cert_types.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_collections.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_catalogs.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_database_schemas.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_deployed_databases.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_glossaries.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_projects.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_servers_deployed_imp.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_tech_type_elements.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_tech_types.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_terms.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_todos.cpython-312.pyc +0 -0
- pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc +0 -0
- pyegeria/commands/cat/link-check.py +185 -0
- pyegeria/commands/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/egeria_login_tui.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/egeria_ops.cpython-312.pyc +0 -0
- pyegeria/commands/cli/__pycache__/ops_config.cpython-312.pyc +0 -0
- pyegeria/commands/doc/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/.DS_Store +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/.DS_Store +0 -0
- pyegeria/commands/doc/glossary/.DS_Store +0 -0
- pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
- pyegeria/commands/my/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/list_my_profile.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/list_my_roles.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/monitor_my_todos.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/monitor_open_todos.cpython-312.pyc +0 -0
- pyegeria/commands/my/__pycache__/todo_actions.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/gov_server_actions.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/list_archives.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/list_catalog_targets.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/load_archive.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_engine_activity.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_engine_activity_c.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_gov_eng_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_integ_daemon_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_platform_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_server_startup.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/monitor_server_status.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/refresh_integration_daemon.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/restart_integration_daemon.cpython-312.pyc +0 -0
- pyegeria/commands/ops/__pycache__/table_integ_daemon_status.cpython-312.pyc +0 -0
- pyegeria/commands/tech/.DS_Store +0 -0
- pyegeria/commands/tech/__pycache__/__init__.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_element_info.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_guid_info.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_tech_details.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/get_tech_type_template.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_anchored_elements.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_asset_types.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_elements_by_property_value.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_elements_for_classification.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_gov_action_processes.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_registered_services.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_related_specification.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_relationship_types.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_relationships.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_tech_templates.cpython-312.pyc +0 -0
- pyegeria/commands/tech/__pycache__/list_valid_metadata_values.cpython-312.pyc +0 -0
- pyegeria/commands/tech/list_information_supply_chains.py +1 -1
- pyegeria/commands/tech/list_solution_blueprints2.py +21 -10
- pyegeria/commands/tech/work/mermaid_graphs/Automated Manufacturing Control.html +121 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Management Solution Blueprint.html +213 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html +28 -21
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.html +31 -24
- pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html +17 -10
- pyegeria/commands/tech/work/mermaid_graphs/Employee Management Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Hazardous Material Management Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Inventory Management.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html +16 -9
- pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html +16 -9
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Medicine Order Fulfillment Solution Blueprint.html +124 -0
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html +17 -10
- pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.html +20 -13
- pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting Solution Blueprint.html +149 -0
- pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.html +16 -9
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +15 -9
- pyegeria/mermaid_utilities.py +37 -22
- {pyegeria-5.3.3.13.dev3.dist-info → pyegeria-5.3.3.14.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.13.dev3.dist-info → pyegeria-5.3.3.14.dist-info}/RECORD +101 -17
- {pyegeria-5.3.3.13.dev3.dist-info → pyegeria-5.3.3.14.dist-info}/entry_points.txt +1 -0
- {pyegeria-5.3.3.13.dev3.dist-info → pyegeria-5.3.3.14.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.13.dev3.dist-info → pyegeria-5.3.3.14.dist-info}/WHEEL +0 -0
@@ -0,0 +1,213 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Component for Solution Blueprint - Clinical Trial Management Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Clinical Trial Management Solution Blueprint </h3>
|
23
|
+
GUID : c4f8d707-7c85-4125-b5fd-c3257a2ef2ef
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
subgraph c4f8d707-7c85-4125-b5fd-c3257a2ef2ef [Components and Actors]
|
62
|
+
6bd76008-d1ad-4ace-8a88-3505fbb71caa@{ shape: text, label: "*Description*
|
63
|
+
**A description of how a clinical trial is managed in Coco Pharmaceuticals.**"}
|
64
|
+
37b8560d-84d4-434b-9b0d-105420fcc924@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Certify Hospital**"}
|
66
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661@{ shape: trap-t, label: "*Solution Actor Role*
|
67
|
+
**Clinical Trial Manager**"}
|
68
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Certifier"|37b8560d-84d4-434b-9b0d-105420fcc924
|
69
|
+
72a86eec-9734-4bc0-babb-4fec0aa7c9ff@{ shape: docs, label: "*Solution Component*
|
70
|
+
**Assemble Treatment Assessment Report**"}
|
71
|
+
48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5@{ shape: rect, label: "*Solution Component*
|
72
|
+
**Treatment Efficacy Evidence**"}
|
73
|
+
48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5-->|"Solution Linking Wire"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
|
74
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Author"|72a86eec-9734-4bc0-babb-4fec0aa7c9ff
|
75
|
+
b5c8da4c-f925-4cf1-8294-e43cd2c1a584@{ shape: rect, label: "*Solution Component*
|
76
|
+
**Analyse Patient Data**"}
|
77
|
+
b5c8da4c-f925-4cf1-8294-e43cd2c1a584-->|"Solution Linking Wire"|48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5
|
78
|
+
7f5dca65-50b4-4103-9ac7-3a406a09047a@{ shape: subproc, label: "*Solution Component*
|
79
|
+
**Weekly Measurements Onboarding Pipeline**"}
|
80
|
+
07705e15-efff-4f80-8992-f04ac85e0ef1@{ shape: rect, label: "*Solution Component*
|
81
|
+
**Landing Folder Cataloguer**"}
|
82
|
+
07705e15-efff-4f80-8992-f04ac85e0ef1-->|"Solution Linking Wire"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
83
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
84
|
+
b0290339-c96c-4b05-904f-12fc98e54e14@{ shape: trap-t, label: "*Solution Actor Role*
|
85
|
+
**Certified Data Engineer**"}
|
86
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Steward"|7f5dca65-50b4-4103-9ac7-3a406a09047a
|
87
|
+
d48f579f-76d3-4c49-b1b4-575f5645a9d0@{ shape: lin-cyl, label: "*Solution Component*
|
88
|
+
**Treatment Validation Sandbox**"}
|
89
|
+
26c07ca4-3b8e-484b-812b-36c1ace4b275@{ shape: rect, label: "*Solution Component*
|
90
|
+
**Populate Sandbox**"}
|
91
|
+
26c07ca4-3b8e-484b-812b-36c1ace4b275-->|"Solution Linking Wire"|d48f579f-76d3-4c49-b1b4-575f5645a9d0
|
92
|
+
ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec@{ shape: processes, label: "*Solution Component*
|
93
|
+
**Hospital Processes**"}
|
94
|
+
a8bd84ca-0aae-4534-b0e8-87e8659467a6@{ shape: trap-t, label: "*Solution Actor Role*
|
95
|
+
**Clinical Trial Participating Hospital Coordinator**"}
|
96
|
+
a8bd84ca-0aae-4534-b0e8-87e8659467a6-->|"Coordinator on behalf of hospital"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
|
97
|
+
30adaab5-8870-47a8-8ae9-facbf84cb05a@{ shape: trap-t, label: "*Solution Actor Role*
|
98
|
+
**Clinical Trial Participating Hospital**"}
|
99
|
+
30adaab5-8870-47a8-8ae9-facbf84cb05a-->|"Owner"|ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec
|
100
|
+
d48f579f-76d3-4c49-b1b4-575f5645a9d0-->|"Solution Linking Wire"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
101
|
+
ece17806-836c-4756-b3a2-2d12dde215f6@{ shape: trap-t, label: "*Solution Actor Role*
|
102
|
+
**New Treatment Data Scientist**"}
|
103
|
+
ece17806-836c-4756-b3a2-2d12dde215f6-->|"Data Analyser"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
104
|
+
0c757e35-8a42-4d5f-b01b-c72a6cea65cc@{ shape: trap-t, label: "*Solution Actor Role*
|
105
|
+
**New Treatment Researcher.**"}
|
106
|
+
0c757e35-8a42-4d5f-b01b-c72a6cea65cc-->|"Results Interpreter"|b5c8da4c-f925-4cf1-8294-e43cd2c1a584
|
107
|
+
e9c2f911-ffcb-40c6-aeee-8c4d43811576@{ shape: subproc, label: "*Solution Component*
|
108
|
+
**Onboard Hospital**"}
|
109
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|e9c2f911-ffcb-40c6-aeee-8c4d43811576
|
110
|
+
849b0b42-f465-452b-813c-477d6398e082@{ shape: subproc, label: "*Solution Component*
|
111
|
+
**Set up clinical trial**"}
|
112
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|849b0b42-f465-452b-813c-477d6398e082
|
113
|
+
a5d4d638-6836-47e5-99d0-fdcde637e13f@{ shape: lin-cyl, label: "*Solution Component*
|
114
|
+
**Weekly Measurements Data Lake Folder**"}
|
115
|
+
7f5dca65-50b4-4103-9ac7-3a406a09047a-->|"Solution Linking Wire"|a5d4d638-6836-47e5-99d0-fdcde637e13f
|
116
|
+
0bf2547c-937c-41b6-814f-6284849271a1@{ shape: odd, label: "*Solution Component*
|
117
|
+
**Treatment Assessment Report Validation and Delivery**"}
|
118
|
+
72a86eec-9734-4bc0-babb-4fec0aa7c9ff-->|"Solution Linking Wire"|0bf2547c-937c-41b6-814f-6284849271a1
|
119
|
+
f6bc847b-868d-43cc-b767-41f5fe3e47d1@{ shape: trap-t, label: "*Solution Actor Role*
|
120
|
+
**Clinical Trial Sponsor**"}
|
121
|
+
f6bc847b-868d-43cc-b767-41f5fe3e47d1-->|"Reviewer"|0bf2547c-937c-41b6-814f-6284849271a1
|
122
|
+
a5d4d638-6836-47e5-99d0-fdcde637e13f-->|"Solution Linking Wire"|26c07ca4-3b8e-484b-812b-36c1ace4b275
|
123
|
+
fb32bef2-e79f-4893-b500-2e547f24d482@{ shape: subproc, label: "*Solution Component*
|
124
|
+
**Set up Data Lake Folder**"}
|
125
|
+
b0290339-c96c-4b05-904f-12fc98e54e14-->|"Initiator"|fb32bef2-e79f-4893-b500-2e547f24d482
|
126
|
+
1c150d6e-30cf-481c-9afb-3b06c9c9e78f@{ shape: lin-cyl, label: "*Solution Component*
|
127
|
+
**Hospital Landing Area Folder**"}
|
128
|
+
ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec-->|"Solution Linking Wire"|1c150d6e-30cf-481c-9afb-3b06c9c9e78f
|
129
|
+
1c150d6e-30cf-481c-9afb-3b06c9c9e78f-->|"Solution Linking Wire"|07705e15-efff-4f80-8992-f04ac85e0ef1
|
130
|
+
11c7c850-c67c-41cc-9423-d74db47cbf3a@{ shape: subproc, label: "*Solution Component*
|
131
|
+
**Nominate Hospital**"}
|
132
|
+
f37f3735-28a1-4e03-9ff5-3fe2f137f661-->|"Initiator"|11c7c850-c67c-41cc-9423-d74db47cbf3a
|
133
|
+
end
|
134
|
+
style 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
135
|
+
style ece17806-836c-4756-b3a2-2d12dde215f6 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
136
|
+
style e9c2f911-ffcb-40c6-aeee-8c4d43811576 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
137
|
+
style 6bd76008-d1ad-4ace-8a88-3505fbb71caa color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
138
|
+
style a5d4d638-6836-47e5-99d0-fdcde637e13f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
139
|
+
style 0bf2547c-937c-41b6-814f-6284849271a1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
140
|
+
style 30adaab5-8870-47a8-8ae9-facbf84cb05a color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
141
|
+
style b0290339-c96c-4b05-904f-12fc98e54e14 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
142
|
+
style 26c07ca4-3b8e-484b-812b-36c1ace4b275 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
143
|
+
style 1c150d6e-30cf-481c-9afb-3b06c9c9e78f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
144
|
+
style 07705e15-efff-4f80-8992-f04ac85e0ef1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
145
|
+
style a8bd84ca-0aae-4534-b0e8-87e8659467a6 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
146
|
+
style 0c757e35-8a42-4d5f-b01b-c72a6cea65cc color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
147
|
+
style c4f8d707-7c85-4125-b5fd-c3257a2ef2ef color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
148
|
+
style 37b8560d-84d4-434b-9b0d-105420fcc924 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
149
|
+
style 11c7c850-c67c-41cc-9423-d74db47cbf3a color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
150
|
+
style 849b0b42-f465-452b-813c-477d6398e082 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
151
|
+
style 7f5dca65-50b4-4103-9ac7-3a406a09047a color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
152
|
+
style ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
153
|
+
style 72a86eec-9734-4bc0-babb-4fec0aa7c9ff color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
154
|
+
style b5c8da4c-f925-4cf1-8294-e43cd2c1a584 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
155
|
+
style f6bc847b-868d-43cc-b767-41f5fe3e47d1 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
156
|
+
style d48f579f-76d3-4c49-b1b4-575f5645a9d0 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
157
|
+
style f37f3735-28a1-4e03-9ff5-3fe2f137f661 color:#FFFFFF, fill:#AA00FF, stroke:#E1D5E7
|
158
|
+
style fb32bef2-e79f-4893-b500-2e547f24d482 color:#FFFFFF, fill:#838cc7, stroke:#3079ab`;
|
159
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
160
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
161
|
+
|
162
|
+
var doPan = false;
|
163
|
+
var eventsHandler;
|
164
|
+
var panZoom;
|
165
|
+
var mousepos;
|
166
|
+
|
167
|
+
eventsHandler = {
|
168
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
169
|
+
|
170
|
+
, mouseDownHandler: function (ev) {
|
171
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
172
|
+
doPan = true;
|
173
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
174
|
+
}
|
175
|
+
;
|
176
|
+
}
|
177
|
+
|
178
|
+
, mouseMoveHandler: function (ev) {
|
179
|
+
if (doPan) {
|
180
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
181
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
182
|
+
window.getSelection().removeAllRanges();
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
, mouseUpHandler: function (ev) {
|
187
|
+
doPan = false;
|
188
|
+
}
|
189
|
+
|
190
|
+
, init: function (options) {
|
191
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
192
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
193
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
194
|
+
}
|
195
|
+
|
196
|
+
, destroy: function (options) {
|
197
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
198
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
199
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
panZoom = svgPanZoom('#mySvgId', {
|
203
|
+
zoomEnabled: true
|
204
|
+
, controlIconsEnabled: true
|
205
|
+
, fit: 1
|
206
|
+
, center: 1
|
207
|
+
, customEventsHandler: eventsHandler
|
208
|
+
})
|
209
|
+
};
|
210
|
+
await drawDiagram();
|
211
|
+
</script>
|
212
|
+
</body>
|
213
|
+
|
@@ -1,12 +1,13 @@
|
|
1
1
|
|
2
|
+
<!DOCTYPE html>
|
2
3
|
<html>
|
3
4
|
<head>
|
4
5
|
<style type="text/css">
|
5
6
|
#mySvgId {
|
6
7
|
width: 100%;
|
7
|
-
height:
|
8
|
-
overflow:
|
9
|
-
border:
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
10
11
|
position: relative;
|
11
12
|
margin-bottom: 10px;
|
12
13
|
}
|
@@ -17,7 +18,13 @@
|
|
17
18
|
</style>
|
18
19
|
</head>
|
19
20
|
|
21
|
+
<title>Information Supply Chain - Clinical Trial Subject Onboarding </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Clinical Trial Subject Onboarding </h3>
|
23
|
+
GUID : 39a035f0-3b2b-45fe-adb8-ee8a19581f6a
|
24
|
+
|
25
|
+
|
20
26
|
<body>
|
27
|
+
|
21
28
|
<div id="graphDiv"></div>
|
22
29
|
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
30
|
<script type="module">
|
@@ -53,31 +60,31 @@
|
|
53
60
|
|
54
61
|
39a035f0-3b2b-45fe-adb8-ee8a19581f6a@{ shape: flip-tri, label: "*Information Supply Chain*
|
55
62
|
**Clinical Trial Subject Onboarding**"}
|
56
|
-
|
63
|
+
46a5c6e0-adcd-4459-9eb2-9dfd7ef9aceb@{ shape: text, label: "*Description*
|
57
64
|
**Delivering the data necessary to add a person as a subject in a clinical trial.**"}
|
58
|
-
39a035f0-3b2b-45fe-adb8-ee8a19581f6a~~~
|
59
|
-
|
65
|
+
39a035f0-3b2b-45fe-adb8-ee8a19581f6a~~~46a5c6e0-adcd-4459-9eb2-9dfd7ef9aceb
|
66
|
+
ec855564-e5c6-4b6c-bf6b-20cd67f06b9f@{ shape: text, label: "*Purpose*
|
60
67
|
**Ensure patient subject is aware of the process and potential risks in participation.**"}
|
61
|
-
|
62
|
-
|
68
|
+
46a5c6e0-adcd-4459-9eb2-9dfd7ef9aceb~~~ec855564-e5c6-4b6c-bf6b-20cd67f06b9f
|
69
|
+
2d2907d5-dfa1-4c7a-8ffe-cbd706072bd8@{ shape: text, label: "*Purpose*
|
63
70
|
**Ensure patient subject has given permission for Coco Pharmaceuticals to acquire, store and process their personal data needed for the clinical trial.**"}
|
64
|
-
|
65
|
-
|
71
|
+
ec855564-e5c6-4b6c-bf6b-20cd67f06b9f~~~2d2907d5-dfa1-4c7a-8ffe-cbd706072bd8
|
72
|
+
43a5c89e-3af2-4fd2-89ce-98f06bbed8ac@{ shape: text, label: "*Purpose*
|
66
73
|
**Ensure incoming data is validated and catalogued.**"}
|
67
|
-
|
68
|
-
|
74
|
+
2d2907d5-dfa1-4c7a-8ffe-cbd706072bd8~~~43a5c89e-3af2-4fd2-89ce-98f06bbed8ac
|
75
|
+
3063dabe-df4f-4841-9cbf-4fddc452b666@{ shape: text, label: "*Purpose*
|
69
76
|
**Ensure data and process owners are informed of key milestones and issues requiring attention.**"}
|
70
|
-
|
71
|
-
|
77
|
+
43a5c89e-3af2-4fd2-89ce-98f06bbed8ac~~~3063dabe-df4f-4841-9cbf-4fddc452b666
|
78
|
+
2ed89fe6-e28a-48a6-8f37-657efabd0e62@{ shape: text, label: "*Purpose*
|
72
79
|
**Ensure the process of data capture and validation is transparent and auditable.**"}
|
73
|
-
|
80
|
+
3063dabe-df4f-4841-9cbf-4fddc452b666~~~2ed89fe6-e28a-48a6-8f37-657efabd0e62
|
74
81
|
style 39a035f0-3b2b-45fe-adb8-ee8a19581f6a color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
75
|
-
style
|
76
|
-
style
|
77
|
-
style
|
78
|
-
style
|
79
|
-
style
|
80
|
-
style
|
82
|
+
style ec855564-e5c6-4b6c-bf6b-20cd67f06b9f color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
83
|
+
style 2d2907d5-dfa1-4c7a-8ffe-cbd706072bd8 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
84
|
+
style 43a5c89e-3af2-4fd2-89ce-98f06bbed8ac color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
85
|
+
style 3063dabe-df4f-4841-9cbf-4fddc452b666 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
86
|
+
style 2ed89fe6-e28a-48a6-8f37-657efabd0e62 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
87
|
+
style 46a5c6e0-adcd-4459-9eb2-9dfd7ef9aceb color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
81
88
|
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
82
89
|
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
83
90
|
|
@@ -1,12 +1,13 @@
|
|
1
1
|
|
2
|
+
<!DOCTYPE html>
|
2
3
|
<html>
|
3
4
|
<head>
|
4
5
|
<style type="text/css">
|
5
6
|
#mySvgId {
|
6
7
|
width: 100%;
|
7
|
-
height:
|
8
|
-
overflow:
|
9
|
-
border:
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
10
11
|
position: relative;
|
11
12
|
margin-bottom: 10px;
|
12
13
|
}
|
@@ -17,7 +18,13 @@
|
|
17
18
|
</style>
|
18
19
|
</head>
|
19
20
|
|
21
|
+
<title>Information Supply Chain - Clinical Trial Treatment Validation </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Clinical Trial Treatment Validation </h3>
|
23
|
+
GUID : 1f71e403-1187-4f03-a1dd-ae7dc105f06f
|
24
|
+
|
25
|
+
|
20
26
|
<body>
|
27
|
+
|
21
28
|
<div id="graphDiv"></div>
|
22
29
|
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
30
|
<script type="module">
|
@@ -53,27 +60,27 @@
|
|
53
60
|
|
54
61
|
1f71e403-1187-4f03-a1dd-ae7dc105f06f@{ shape: flip-tri, label: "*Information Supply Chain*
|
55
62
|
**Clinical Trial Treatment Validation**"}
|
56
|
-
|
63
|
+
cfea745a-ad42-4d6d-a69d-6bcfa09ca2d0@{ shape: text, label: "*Description*
|
57
64
|
**Delivering data relating to a clinical trial from the hospitals to the Coco Researchers so that they can then determine the efficacy of the treatment to report to the regulators.**"}
|
58
|
-
1f71e403-1187-4f03-a1dd-ae7dc105f06f~~~
|
59
|
-
|
65
|
+
1f71e403-1187-4f03-a1dd-ae7dc105f06f~~~cfea745a-ad42-4d6d-a69d-6bcfa09ca2d0
|
66
|
+
d467f775-2db7-46aa-8f53-8c8b162585d6@{ shape: text, label: "*Purpose*
|
60
67
|
**Deliver patient measurement data from hospitals to data scientists in research.**"}
|
61
|
-
|
62
|
-
|
68
|
+
cfea745a-ad42-4d6d-a69d-6bcfa09ca2d0~~~d467f775-2db7-46aa-8f53-8c8b162585d6
|
69
|
+
5cdf8613-5704-49c3-9fef-1933b559193b@{ shape: text, label: "*Purpose*
|
63
70
|
**Ensure incoming data is only from certified hospitals.**"}
|
64
|
-
|
65
|
-
|
71
|
+
d467f775-2db7-46aa-8f53-8c8b162585d6~~~5cdf8613-5704-49c3-9fef-1933b559193b
|
72
|
+
4fb3a484-600c-4915-83d0-55450554f3ee@{ shape: text, label: "*Purpose*
|
66
73
|
**Ensure incoming data is validated and catalogued.**"}
|
67
|
-
|
68
|
-
|
74
|
+
5cdf8613-5704-49c3-9fef-1933b559193b~~~4fb3a484-600c-4915-83d0-55450554f3ee
|
75
|
+
f0a4c74a-01e6-44df-99b5-84153e02b012@{ shape: text, label: "*Purpose*
|
69
76
|
**Ensure data and process owners are informed of key milestones and issues requiring attention.**"}
|
70
|
-
|
71
|
-
|
77
|
+
4fb3a484-600c-4915-83d0-55450554f3ee~~~f0a4c74a-01e6-44df-99b5-84153e02b012
|
78
|
+
a45f95b6-cc69-4931-a0d2-93849af35b98@{ shape: text, label: "*Purpose*
|
72
79
|
**Ensure the process of data capture and treatment validation is transparent and auditable.**"}
|
73
|
-
|
74
|
-
|
80
|
+
f0a4c74a-01e6-44df-99b5-84153e02b012~~~a45f95b6-cc69-4931-a0d2-93849af35b98
|
81
|
+
6b4073ce-218b-4cec-ad9d-4eb36452a5c0@{ shape: text, label: "*Purpose*
|
75
82
|
**Ensure the treatment validation report is complete and regulatory compliant.**"}
|
76
|
-
|
83
|
+
a45f95b6-cc69-4931-a0d2-93849af35b98~~~6b4073ce-218b-4cec-ad9d-4eb36452a5c0
|
77
84
|
38635d38-f728-400d-a8ec-7c26e68b7c0f@{ shape: hex, label: "*Information Supply Chain Segment*
|
78
85
|
**Weekly Measurements Onboarding**"}
|
79
86
|
38635d38-f728-400d-a8ec-7c26e68b7c0f-->|"capture and catalog,
|
@@ -135,26 +142,26 @@ d48f579f-76d3-4c49-b1b4-575f5645a9d0-->|"retrieve patient data,
|
|
135
142
|
72a86eec-9734-4bc0-babb-4fec0aa7c9ff-->|"publish results,
|
136
143
|
[Solution Linking Wire]"|0bf2547c-937c-41b6-814f-6284849271a1
|
137
144
|
style 48bc201e-3d4e-4beb-bdb2-0fd9d134f6d5 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
145
|
+
style d467f775-2db7-46aa-8f53-8c8b162585d6 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
146
|
+
style cfea745a-ad42-4d6d-a69d-6bcfa09ca2d0 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
138
147
|
style e4303326-e418-4f77-b8e7-fd5d34717594 color:#004563, fill:#b7c0c7, stroke:#004563
|
148
|
+
style 4fb3a484-600c-4915-83d0-55450554f3ee color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
139
149
|
style 4fc47e60-f1b5-469c-b666-e1f4570e749f color:#004563, fill:#b7c0c7, stroke:#004563
|
140
|
-
style 2e6b651b-1235-411d-87f7-5bbb25e91057 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
141
|
-
style ded87798-758f-4cc2-895f-95467009fe41 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
142
150
|
style 7f5dca65-50b4-4103-9ac7-3a406a09047a color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
143
151
|
style ee2bb773-e630-4cf9-bdf1-7c2dd64fe4ec color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
144
|
-
style c5135483-a30c-4dfc-8729-54d306b0d2cc color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
145
152
|
style a5d4d638-6836-47e5-99d0-fdcde637e13f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
146
153
|
style 72a86eec-9734-4bc0-babb-4fec0aa7c9ff color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
147
|
-
style baf2f019-afff-487d-9a40-4fcdce8f8b84 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
148
154
|
style 38635d38-f728-400d-a8ec-7c26e68b7c0f color:#004563, fill:#b7c0c7, stroke:#004563
|
149
155
|
style 7edca02c-e726-4570-815c-280bdf5498b9 color:#004563, fill:#b7c0c7, stroke:#004563
|
150
156
|
style b5c8da4c-f925-4cf1-8294-e43cd2c1a584 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
151
157
|
style 0bf2547c-937c-41b6-814f-6284849271a1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
158
|
+
style 6b4073ce-218b-4cec-ad9d-4eb36452a5c0 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
152
159
|
style d48f579f-76d3-4c49-b1b4-575f5645a9d0 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
153
160
|
style 1f71e403-1187-4f03-a1dd-ae7dc105f06f color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
154
|
-
style
|
155
|
-
style 8033331a-7342-4a66-b85a-0aa1bd35b203 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
161
|
+
style f0a4c74a-01e6-44df-99b5-84153e02b012 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
156
162
|
style 04ae768e-3816-47bc-bddb-c9ae25018684 color:#004563, fill:#b7c0c7, stroke:#004563
|
157
|
-
style
|
163
|
+
style 5cdf8613-5704-49c3-9fef-1933b559193b color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
164
|
+
style a45f95b6-cc69-4931-a0d2-93849af35b98 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
158
165
|
style 26c07ca4-3b8e-484b-812b-36c1ace4b275 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
159
166
|
style 1c150d6e-30cf-481c-9afb-3b06c9c9e78f color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
160
167
|
style 07705e15-efff-4f80-8992-f04ac85e0ef1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab`;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
|
2
|
+
<!DOCTYPE html>
|
2
3
|
<html>
|
3
4
|
<head>
|
4
5
|
<style type="text/css">
|
5
6
|
#mySvgId {
|
6
7
|
width: 100%;
|
7
|
-
height:
|
8
|
-
overflow:
|
9
|
-
border:
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
10
11
|
position: relative;
|
11
12
|
margin-bottom: 10px;
|
12
13
|
}
|
@@ -17,7 +18,13 @@
|
|
17
18
|
</style>
|
18
19
|
</head>
|
19
20
|
|
21
|
+
<title>Information Supply Chain - Employee Expense Payment </title>
|
22
|
+
<h3 style="text-align: center;">Information Supply Chain - Employee Expense Payment </h3>
|
23
|
+
GUID : 79d1d83f-6a37-4c32-bf3f-eb8b4358027c
|
24
|
+
|
25
|
+
|
20
26
|
<body>
|
27
|
+
|
21
28
|
<div id="graphDiv"></div>
|
22
29
|
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
23
30
|
<script type="module">
|
@@ -53,22 +60,22 @@
|
|
53
60
|
|
54
61
|
79d1d83f-6a37-4c32-bf3f-eb8b4358027c@{ shape: flip-tri, label: "*Information Supply Chain*
|
55
62
|
**Employee Expense Payment**"}
|
56
|
-
|
63
|
+
4cc3609e-0cc2-4521-a21b-199c957b8f6f@{ shape: text, label: "*Description*
|
57
64
|
**Managing the collection of expense data, its approval and the subsequent payment authorization flows.**"}
|
58
|
-
79d1d83f-6a37-4c32-bf3f-eb8b4358027c~~~
|
59
|
-
|
65
|
+
79d1d83f-6a37-4c32-bf3f-eb8b4358027c~~~4cc3609e-0cc2-4521-a21b-199c957b8f6f
|
66
|
+
8769c05e-0a9a-467a-9717-4db823f83275@{ shape: text, label: "*Purpose*
|
60
67
|
**Ensure employees are reimbursed for their expenses in a timely manner.**"}
|
61
|
-
|
68
|
+
4cc3609e-0cc2-4521-a21b-199c957b8f6f~~~8769c05e-0a9a-467a-9717-4db823f83275
|
62
69
|
88c42780-6fb1-49e2-a584-8af90cdc7728@{ shape: rounded, label: "*Software Server*
|
63
70
|
**System:coco-hrim**"}
|
64
71
|
ad8eab54-c2f7-494d-82d0-bf5985e5a58d@{ shape: rounded, label: "*Software Server*
|
65
72
|
**System:coco-expenses**"}
|
66
73
|
88c42780-6fb1-49e2-a584-8af90cdc7728-->|"payment authorization [Data Flow]"|ad8eab54-c2f7-494d-82d0-bf5985e5a58d
|
74
|
+
style 4cc3609e-0cc2-4521-a21b-199c957b8f6f color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
67
75
|
style ad8eab54-c2f7-494d-82d0-bf5985e5a58d color:#000000, fill:#e0ab18, stroke:#004563
|
76
|
+
style 8769c05e-0a9a-467a-9717-4db823f83275 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
|
68
77
|
style 79d1d83f-6a37-4c32-bf3f-eb8b4358027c color:#FFFFFF, fill:#004563, stroke:#b7c0c7
|
69
|
-
style
|
70
|
-
style 88c42780-6fb1-49e2-a584-8af90cdc7728 color:#000000, fill:#e0ab18, stroke:#004563
|
71
|
-
style 36905eb3-ebc3-4f78-92bd-81ab7f04b0c8 color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
78
|
+
style 88c42780-6fb1-49e2-a584-8af90cdc7728 color:#000000, fill:#e0ab18, stroke:#004563`;
|
72
79
|
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
73
80
|
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
74
81
|
|
@@ -0,0 +1,124 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<style type="text/css">
|
6
|
+
#mySvgId {
|
7
|
+
width: 100%;
|
8
|
+
height: 600px;
|
9
|
+
overflow: scroll;
|
10
|
+
border: 2px solid #ccc;
|
11
|
+
position: relative;
|
12
|
+
margin-bottom: 10px;
|
13
|
+
}
|
14
|
+
svg {
|
15
|
+
cursor: grab;
|
16
|
+
}
|
17
|
+
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<title>Component for Solution Blueprint - Employee Management Solution Blueprint </title>
|
22
|
+
<h3 style="text-align: center;">Component for Solution Blueprint - Employee Management Solution Blueprint </h3>
|
23
|
+
GUID : 4558ef22-9cde-4dcb-aebe-45d5acfa818a
|
24
|
+
|
25
|
+
|
26
|
+
<body>
|
27
|
+
|
28
|
+
<div id="graphDiv"></div>
|
29
|
+
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
|
30
|
+
<script type="module">
|
31
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
32
|
+
|
33
|
+
mermaid.initialize({startOnLoad: false});
|
34
|
+
await mermaid.run({
|
35
|
+
querySelector: '.mermaid',
|
36
|
+
postRenderCallback: (id) => {
|
37
|
+
const container = document.getElementById("diagram-container");
|
38
|
+
const svgElement = container.querySelector("svg");
|
39
|
+
|
40
|
+
// Initialize Panzoom
|
41
|
+
const panzoomInstance = Panzoom(svgElement, {
|
42
|
+
maxScale: 5,
|
43
|
+
minScale: 0.5,
|
44
|
+
step: 0.1,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Add mouse wheel zoom
|
48
|
+
container.addEventListener("wheel", (event) => {
|
49
|
+
panzoomInstance.zoomWithWheel(event);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
|
55
|
+
const drawDiagram = async function () {
|
56
|
+
const element = document.querySelector('#graphDiv');
|
57
|
+
const graphDefinition = `
|
58
|
+
flowchart TD
|
59
|
+
%%{init: {"flowchart": {"htmlLabels": false}} }%%
|
60
|
+
|
61
|
+
subgraph 4558ef22-9cde-4dcb-aebe-45d5acfa818a [Components and Actors]
|
62
|
+
6783d689-9efb-4b90-9269-c00acacdc7d2@{ shape: text, label: "*Description*
|
63
|
+
**A description of how information about Coco Pharmaceuticals employees is managed.**"}
|
64
|
+
02cdce9a-7630-479a-90de-fd7698d098f1@{ shape: subproc, label: "*Solution Component*
|
65
|
+
**Employee Expense Tool**"}
|
66
|
+
end
|
67
|
+
style 4558ef22-9cde-4dcb-aebe-45d5acfa818a color:#3079ab, fill:#b7c0c7, stroke:#3079ab
|
68
|
+
style 02cdce9a-7630-479a-90de-fd7698d098f1 color:#FFFFFF, fill:#838cc7, stroke:#3079ab
|
69
|
+
style 6783d689-9efb-4b90-9269-c00acacdc7d2 color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
|
70
|
+
const {svg} = await mermaid.render('mySvgId', graphDefinition);
|
71
|
+
element.innerHTML = svg.replace(/( )*max-width:( 0-9\.)*px;/i, '');
|
72
|
+
|
73
|
+
var doPan = false;
|
74
|
+
var eventsHandler;
|
75
|
+
var panZoom;
|
76
|
+
var mousepos;
|
77
|
+
|
78
|
+
eventsHandler = {
|
79
|
+
haltEventListeners: ['mousedown', 'mousemove', 'mouseup']
|
80
|
+
|
81
|
+
, mouseDownHandler: function (ev) {
|
82
|
+
if (event.target.className == "[object SVGAnimatedString]") {
|
83
|
+
doPan = true;
|
84
|
+
mousepos = {x: ev.clientX, y: ev.clientY}
|
85
|
+
}
|
86
|
+
;
|
87
|
+
}
|
88
|
+
|
89
|
+
, mouseMoveHandler: function (ev) {
|
90
|
+
if (doPan) {
|
91
|
+
panZoom.panBy({x: ev.clientX - mousepos.x, y: ev.clientY - mousepos.y});
|
92
|
+
mousepos = {x: ev.clientX, y: ev.clientY};
|
93
|
+
window.getSelection().removeAllRanges();
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
, mouseUpHandler: function (ev) {
|
98
|
+
doPan = false;
|
99
|
+
}
|
100
|
+
|
101
|
+
, init: function (options) {
|
102
|
+
options.svgElement.addEventListener('mousedown', this.mouseDownHandler, false);
|
103
|
+
options.svgElement.addEventListener('mousemove', this.mouseMoveHandler, false);
|
104
|
+
options.svgElement.addEventListener('mouseup', this.mouseUpHandler, false);
|
105
|
+
}
|
106
|
+
|
107
|
+
, destroy: function (options) {
|
108
|
+
options.svgElement.removeEventListener('mousedown', this.mouseDownHandler, false);
|
109
|
+
options.svgElement.removeEventListener('mousemove', this.mouseMoveHandler, false);
|
110
|
+
options.svgElement.removeEventListener('mouseup', this.mouseUpHandler, false);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
panZoom = svgPanZoom('#mySvgId', {
|
114
|
+
zoomEnabled: true
|
115
|
+
, controlIconsEnabled: true
|
116
|
+
, fit: 1
|
117
|
+
, center: 1
|
118
|
+
, customEventsHandler: eventsHandler
|
119
|
+
})
|
120
|
+
};
|
121
|
+
await drawDiagram();
|
122
|
+
</script>
|
123
|
+
</body>
|
124
|
+
|