pyegeria 5.3.3.13.dev4__py3-none-any.whl → 5.3.3.14.dev2__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.
Files changed (93) hide show
  1. pyegeria/.DS_Store +0 -0
  2. pyegeria/commands/.DS_Store +0 -0
  3. pyegeria/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  4. pyegeria/commands/__pycache__/server_status_widget.cpython-312-pytest-7.4.4.pyc +0 -0
  5. pyegeria/commands/cat/__pycache__/__init__.cpython-312.pyc +0 -0
  6. pyegeria/commands/cat/__pycache__/get_asset_graph.cpython-312.pyc +0 -0
  7. pyegeria/commands/cat/__pycache__/get_collection.cpython-312.pyc +0 -0
  8. pyegeria/commands/cat/__pycache__/get_project_dependencies.cpython-312.pyc +0 -0
  9. pyegeria/commands/cat/__pycache__/get_project_structure.cpython-312.pyc +0 -0
  10. pyegeria/commands/cat/__pycache__/get_tech_type_elements.cpython-312.pyc +0 -0
  11. pyegeria/commands/cat/__pycache__/glossary_actions.cpython-312.pyc +0 -0
  12. pyegeria/commands/cat/__pycache__/list_assets.cpython-312.pyc +0 -0
  13. pyegeria/commands/cat/__pycache__/list_cert_types.cpython-312.pyc +0 -0
  14. pyegeria/commands/cat/__pycache__/list_collections.cpython-312.pyc +0 -0
  15. pyegeria/commands/cat/__pycache__/list_deployed_catalogs.cpython-312.pyc +0 -0
  16. pyegeria/commands/cat/__pycache__/list_deployed_database_schemas.cpython-312.pyc +0 -0
  17. pyegeria/commands/cat/__pycache__/list_deployed_databases.cpython-312.pyc +0 -0
  18. pyegeria/commands/cat/__pycache__/list_glossaries.cpython-312.pyc +0 -0
  19. pyegeria/commands/cat/__pycache__/list_projects.cpython-312.pyc +0 -0
  20. pyegeria/commands/cat/__pycache__/list_servers_deployed_imp.cpython-312.pyc +0 -0
  21. pyegeria/commands/cat/__pycache__/list_tech_type_elements.cpython-312.pyc +0 -0
  22. pyegeria/commands/cat/__pycache__/list_tech_types.cpython-312.pyc +0 -0
  23. pyegeria/commands/cat/__pycache__/list_terms.cpython-312.pyc +0 -0
  24. pyegeria/commands/cat/__pycache__/list_todos.cpython-312.pyc +0 -0
  25. pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc +0 -0
  26. pyegeria/commands/cat/link-test.py +185 -0
  27. pyegeria/commands/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  28. pyegeria/commands/cli/__pycache__/egeria_login_tui.cpython-312.pyc +0 -0
  29. pyegeria/commands/cli/__pycache__/egeria_ops.cpython-312.pyc +0 -0
  30. pyegeria/commands/cli/__pycache__/ops_config.cpython-312.pyc +0 -0
  31. pyegeria/commands/doc/.DS_Store +0 -0
  32. pyegeria/commands/doc/Visual Command Reference/.DS_Store +0 -0
  33. pyegeria/commands/doc/Visual Command Reference/cat/.DS_Store +0 -0
  34. pyegeria/commands/doc/Visual Command Reference/cat/show/.DS_Store +0 -0
  35. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/.DS_Store +0 -0
  36. pyegeria/commands/doc/glossary/.DS_Store +0 -0
  37. pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
  38. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
  39. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
  40. pyegeria/commands/my/__pycache__/__init__.cpython-312.pyc +0 -0
  41. pyegeria/commands/my/__pycache__/list_my_profile.cpython-312.pyc +0 -0
  42. pyegeria/commands/my/__pycache__/list_my_roles.cpython-312.pyc +0 -0
  43. pyegeria/commands/my/__pycache__/monitor_my_todos.cpython-312.pyc +0 -0
  44. pyegeria/commands/my/__pycache__/monitor_open_todos.cpython-312.pyc +0 -0
  45. pyegeria/commands/my/__pycache__/todo_actions.cpython-312.pyc +0 -0
  46. pyegeria/commands/ops/__pycache__/__init__.cpython-312.pyc +0 -0
  47. pyegeria/commands/ops/__pycache__/gov_server_actions.cpython-312.pyc +0 -0
  48. pyegeria/commands/ops/__pycache__/list_archives.cpython-312.pyc +0 -0
  49. pyegeria/commands/ops/__pycache__/list_catalog_targets.cpython-312.pyc +0 -0
  50. pyegeria/commands/ops/__pycache__/load_archive.cpython-312.pyc +0 -0
  51. pyegeria/commands/ops/__pycache__/monitor_engine_activity.cpython-312.pyc +0 -0
  52. pyegeria/commands/ops/__pycache__/monitor_engine_activity_c.cpython-312.pyc +0 -0
  53. pyegeria/commands/ops/__pycache__/monitor_gov_eng_status.cpython-312.pyc +0 -0
  54. pyegeria/commands/ops/__pycache__/monitor_integ_daemon_status.cpython-312.pyc +0 -0
  55. pyegeria/commands/ops/__pycache__/monitor_platform_status.cpython-312.pyc +0 -0
  56. pyegeria/commands/ops/__pycache__/monitor_server_startup.cpython-312.pyc +0 -0
  57. pyegeria/commands/ops/__pycache__/monitor_server_status.cpython-312.pyc +0 -0
  58. pyegeria/commands/ops/__pycache__/refresh_integration_daemon.cpython-312.pyc +0 -0
  59. pyegeria/commands/ops/__pycache__/restart_integration_daemon.cpython-312.pyc +0 -0
  60. pyegeria/commands/ops/__pycache__/table_integ_daemon_status.cpython-312.pyc +0 -0
  61. pyegeria/commands/tech/.DS_Store +0 -0
  62. pyegeria/commands/tech/__pycache__/__init__.cpython-312.pyc +0 -0
  63. pyegeria/commands/tech/__pycache__/get_element_info.cpython-312.pyc +0 -0
  64. pyegeria/commands/tech/__pycache__/get_guid_info.cpython-312.pyc +0 -0
  65. pyegeria/commands/tech/__pycache__/get_tech_details.cpython-312.pyc +0 -0
  66. pyegeria/commands/tech/__pycache__/get_tech_type_template.cpython-312.pyc +0 -0
  67. pyegeria/commands/tech/__pycache__/list_anchored_elements.cpython-312.pyc +0 -0
  68. pyegeria/commands/tech/__pycache__/list_asset_types.cpython-312.pyc +0 -0
  69. pyegeria/commands/tech/__pycache__/list_elements_by_property_value.cpython-312.pyc +0 -0
  70. pyegeria/commands/tech/__pycache__/list_elements_for_classification.cpython-312.pyc +0 -0
  71. pyegeria/commands/tech/__pycache__/list_gov_action_processes.cpython-312.pyc +0 -0
  72. pyegeria/commands/tech/__pycache__/list_registered_services.cpython-312.pyc +0 -0
  73. pyegeria/commands/tech/__pycache__/list_related_specification.cpython-312.pyc +0 -0
  74. pyegeria/commands/tech/__pycache__/list_relationship_types.cpython-312.pyc +0 -0
  75. pyegeria/commands/tech/__pycache__/list_relationships.cpython-312.pyc +0 -0
  76. pyegeria/commands/tech/__pycache__/list_tech_templates.cpython-312.pyc +0 -0
  77. pyegeria/commands/tech/__pycache__/list_valid_metadata_values.cpython-312.pyc +0 -0
  78. pyegeria/commands/tech/list_solution_blueprints2.py +6 -2
  79. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.html +28 -21
  80. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.html +31 -24
  81. pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.html +17 -10
  82. pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.html +16 -9
  83. pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.html +16 -9
  84. pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.html +17 -10
  85. pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.html +20 -13
  86. pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.html +16 -9
  87. pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.html +14 -7
  88. pyegeria/mermaid_utilities.py +15 -7
  89. {pyegeria-5.3.3.13.dev4.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/METADATA +1 -1
  90. {pyegeria-5.3.3.13.dev4.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/RECORD +93 -16
  91. {pyegeria-5.3.3.13.dev4.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/entry_points.txt +1 -0
  92. {pyegeria-5.3.3.13.dev4.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/LICENSE +0 -0
  93. {pyegeria-5.3.3.13.dev4.dist-info → pyegeria-5.3.3.14.dev2.dist-info}/WHEEL +0 -0
pyegeria/.DS_Store ADDED
Binary file
Binary file
@@ -0,0 +1,185 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ List certification types
7
+
8
+
9
+ A simple display for certification types
10
+ """
11
+ import argparse
12
+ import os
13
+ import sys
14
+ import time
15
+ import json
16
+
17
+ from rich import box
18
+ from rich.console import Console
19
+ from rich.prompt import Prompt
20
+ from rich.markdown import Markdown
21
+ from rich.table import Table
22
+ from rich.text import Text
23
+
24
+ from pyegeria import (
25
+ InvalidParameterException,
26
+ PropertyServerException,
27
+ UserNotAuthorizedException,
28
+ print_exception_response,
29
+ AssetCatalog,
30
+ ClassificationManager,
31
+ )
32
+
33
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
34
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
35
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
36
+ EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
37
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
38
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
39
+ )
40
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
41
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
42
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
43
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
44
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
45
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
46
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
47
+
48
+
49
+ disable_ssl_warnings = True
50
+
51
+
52
+ def display_certifications(
53
+ search_string: str,
54
+ server: str,
55
+ url: str,
56
+ username: str,
57
+ user_password: str,
58
+ time_out: int = 60,
59
+ jupyter: bool = EGERIA_JUPYTER,
60
+ width: int = EGERIA_WIDTH,
61
+ ):
62
+ console = Console(width=width, force_terminal=not jupyter, soft_wrap=True)
63
+ if (search_string is None) or ((len(search_string) < 3)) and (search_string != "*"):
64
+ raise ValueError(
65
+ "Invalid Search String - must be greater than four characters long"
66
+ )
67
+ g_client = ClassificationManager(
68
+ server, url, user_id=username, user_pwd=user_password
69
+ )
70
+ token = g_client.create_egeria_bearer_token(username, user_password)
71
+
72
+ def generate_table(search_string: str = None) -> Table:
73
+ """Make a new table."""
74
+ table = Table(
75
+ title=f"Certifications Types @ {time.asctime()}",
76
+ header_style="white on dark_blue",
77
+ style="bold white on black",
78
+ row_styles=["bold white on black"],
79
+ title_style="bold white on black",
80
+ caption_style="white on black",
81
+ show_lines=True,
82
+ box=box.ROUNDED,
83
+ caption=f"View Server '{server}' @ Platform - {url}",
84
+ expand=True,
85
+ )
86
+ table.add_column("Title", max_width=15)
87
+ table.add_column("summary")
88
+ table.add_column("domainID")
89
+ table.add_column("Unique Name", width=38)
90
+ table.add_column("Scope", width=38)
91
+ # table.add_column("Qualified Name",max_width=15)
92
+ table.add_column("Description",width=38)
93
+ table.add_column("Details")
94
+
95
+
96
+ certs = g_client.get_elements(search_string, page_size=100, time_out=time_out)
97
+ if type(certs) is str:
98
+ return table
99
+
100
+ for element in certs:
101
+ properties = element["properties"]
102
+ summary = properties.get("summary", "---")
103
+ domain = properties.get("domainIdentifier", "---")
104
+ unique_name = properties.get("qualifiedName", "---")
105
+ scope = properties.get("scope", "---")
106
+ description = properties.get("description", "---")
107
+ details = properties.get("details", "---")
108
+ title = properties.get("title", "---")
109
+ cert_guid = element["elementHeader"]["guid"]
110
+
111
+ related = g_client.get_related_elements(cert_guid)
112
+ if (len(related) > 0) and (type(related) is list):
113
+ rel_md = ""
114
+ for rel in related:
115
+ rel_type = rel["relationshipHeader"]["type"]["typeName"]
116
+ rel_element_props = rel["relatedElement"]["properties"]
117
+ rel_el_md = f"* Rel Type: {rel_type}\n"
118
+ for key in rel_element_props.keys():
119
+ rel_el_md += f"* {key}: {rel_element_props[key]}\n"
120
+ rel_md += f"----\n{rel_el_md}\n"
121
+ else:
122
+ rel_md = "---"
123
+
124
+
125
+ unique_name = "Visit my [link=https://www.willmcgugan.com]blog[/link]!"
126
+ scope = Text("[link=https://egeria-project.org]Egeria[/link]")
127
+ description = Markdown('[egeria]("https://egeria-project.org")')
128
+ details = "https://pdr-associates.com"
129
+ table.add_row(
130
+ title, summary, domain, unique_name, scope, description, details
131
+ )
132
+
133
+ g_client.close_session()
134
+
135
+ return table
136
+
137
+ try:
138
+ # with Live(generate_table(), refresh_per_second=4, screen=True) as live:
139
+ # while True:
140
+ # time.sleep(2)
141
+ # live.update(generate_table())
142
+
143
+ with console.pager(styles=True):
144
+ console.print(generate_table(search_string), soft_wrap=True)
145
+
146
+ except (
147
+ InvalidParameterException,
148
+ PropertyServerException,
149
+ UserNotAuthorizedException,
150
+ ) as e:
151
+ console.print_exception()
152
+ sys.exit(1)
153
+
154
+ except ValueError as e:
155
+ console.print(
156
+ f"\n\n====> Invalid Search String - must be greater than four characters long"
157
+ )
158
+ sys.exit(1)
159
+
160
+
161
+ def main():
162
+ parser = argparse.ArgumentParser()
163
+ parser.add_argument("--server", help="Name of the server to display status for")
164
+ parser.add_argument("--url", help="URL Platform to connect to")
165
+ parser.add_argument("--userid", help="User Id")
166
+ parser.add_argument("--password", help="User Password")
167
+ parser.add_argument("--time_out", help="Time Out")
168
+
169
+ args = parser.parse_args()
170
+
171
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
172
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
173
+ userid = args.userid if args.userid is not None else EGERIA_USER
174
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
175
+ time_out = args.time_out if args.time_out is not None else 60
176
+ try:
177
+ # search_string = Prompt.ask("Enter an asset search string:", default="*")
178
+ search_string = "CertificationType"
179
+ display_certifications(search_string, server, url, userid, user_pass, time_out)
180
+ except KeyboardInterrupt:
181
+ pass
182
+
183
+
184
+ if __name__ == "__main__":
185
+ main()
Binary file
Binary file
Binary file
@@ -93,6 +93,7 @@ def blueprint_list(
93
93
 
94
94
  bp_components = bp.get("solutionComponents",[])
95
95
  comp_md=""
96
+ first_comp = True
96
97
  for component in bp_components:
97
98
  comp = component.get("solutionComponent","")
98
99
  if isinstance(comp,dict) is False:
@@ -111,11 +112,14 @@ def blueprint_list(
111
112
  for prop in comp_actor_props.keys():
112
113
  comp_actor_props_md += f"* {prop}: {comp_actor_props[prop]}\n"
113
114
  comp_actors_list += comp_actor_props_md
114
-
115
+ if first_comp:
116
+ first_comp = False
117
+ else:
118
+ comp_md += "\n\n---\n\n"
115
119
  comp_md = f"Solution Component {comp_name}\n\n"
116
120
  comp_md += f"* Description: {comp_description}\n"
117
121
  comp_md += f"* Planned Deployment: {comp_planned}\n"
118
- comp_md += f"* Actors: {comp_actors_list}\n---\n"
122
+ comp_md += f"* Actors: {comp_actors_list}\n"
119
123
  comp_out = Markdown(comp_md)
120
124
  table.add_row(bp_name, bp_unique_name, bp_desc, comp_out)
121
125
 
@@ -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: 100%;
8
- overflow: hidden;
9
- border: 1px solid #ccc;
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
- b5691fb0-7569-43c1-bd4c-11198a11e733@{ shape: text, label: "*Description*
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~~~b5691fb0-7569-43c1-bd4c-11198a11e733
59
- 2338ad35-78eb-4920-8003-d522b3cecf6b@{ shape: text, label: "*Purpose*
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
- b5691fb0-7569-43c1-bd4c-11198a11e733~~~2338ad35-78eb-4920-8003-d522b3cecf6b
62
- 9f146a62-59f4-482b-8384-48b20ca76fa3@{ shape: text, label: "*Purpose*
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
- 2338ad35-78eb-4920-8003-d522b3cecf6b~~~9f146a62-59f4-482b-8384-48b20ca76fa3
65
- bd1d332d-6e86-4953-8f83-b0a03b5e738c@{ shape: text, label: "*Purpose*
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
- 9f146a62-59f4-482b-8384-48b20ca76fa3~~~bd1d332d-6e86-4953-8f83-b0a03b5e738c
68
- b58f5eba-9cf8-492d-bc86-966611bc7603@{ shape: text, label: "*Purpose*
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
- bd1d332d-6e86-4953-8f83-b0a03b5e738c~~~b58f5eba-9cf8-492d-bc86-966611bc7603
71
- 1fd73811-9f3d-4599-9a22-1300e0931eff@{ shape: text, label: "*Purpose*
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
- b58f5eba-9cf8-492d-bc86-966611bc7603~~~1fd73811-9f3d-4599-9a22-1300e0931eff
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 1fd73811-9f3d-4599-9a22-1300e0931eff color:#000000, fill:#F9F7ED, stroke:#b7c0c7
76
- style b5691fb0-7569-43c1-bd4c-11198a11e733 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
77
- style 9f146a62-59f4-482b-8384-48b20ca76fa3 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
78
- style 2338ad35-78eb-4920-8003-d522b3cecf6b color:#000000, fill:#F9F7ED, stroke:#b7c0c7
79
- style b58f5eba-9cf8-492d-bc86-966611bc7603 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
80
- style bd1d332d-6e86-4953-8f83-b0a03b5e738c color:#000000, fill:#F9F7ED, stroke:#b7c0c7`;
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: 100%;
8
- overflow: hidden;
9
- border: 1px solid #ccc;
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
- c5135483-a30c-4dfc-8729-54d306b0d2cc@{ shape: text, label: "*Description*
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~~~c5135483-a30c-4dfc-8729-54d306b0d2cc
59
- 8033331a-7342-4a66-b85a-0aa1bd35b203@{ shape: text, label: "*Purpose*
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
- c5135483-a30c-4dfc-8729-54d306b0d2cc~~~8033331a-7342-4a66-b85a-0aa1bd35b203
62
- 25ca6519-ef83-4789-a8a9-ef08e8d195a0@{ shape: text, label: "*Purpose*
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
- 8033331a-7342-4a66-b85a-0aa1bd35b203~~~25ca6519-ef83-4789-a8a9-ef08e8d195a0
65
- 68c30b1a-d716-4a34-b656-7b53f21e0d38@{ shape: text, label: "*Purpose*
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
- 25ca6519-ef83-4789-a8a9-ef08e8d195a0~~~68c30b1a-d716-4a34-b656-7b53f21e0d38
68
- 2e6b651b-1235-411d-87f7-5bbb25e91057@{ shape: text, label: "*Purpose*
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
- 68c30b1a-d716-4a34-b656-7b53f21e0d38~~~2e6b651b-1235-411d-87f7-5bbb25e91057
71
- ded87798-758f-4cc2-895f-95467009fe41@{ shape: text, label: "*Purpose*
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
- 2e6b651b-1235-411d-87f7-5bbb25e91057~~~ded87798-758f-4cc2-895f-95467009fe41
74
- baf2f019-afff-487d-9a40-4fcdce8f8b84@{ shape: text, label: "*Purpose*
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
- ded87798-758f-4cc2-895f-95467009fe41~~~baf2f019-afff-487d-9a40-4fcdce8f8b84
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 25ca6519-ef83-4789-a8a9-ef08e8d195a0 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
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 68c30b1a-d716-4a34-b656-7b53f21e0d38 color:#000000, fill:#F9F7ED, stroke:#b7c0c7
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`;