diff --git a/.gitignore b/.gitignore index f16ae46..241c679 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ venv/ ENV/ env.bak/ venv.bak/ +.idea/ \ No newline at end of file diff --git a/CMS/resources/clinic_management_system_ERD.pgerd b/CMS/resources/clinic_management_system_ERD.pgerd new file mode 100644 index 0000000..f5f3f60 --- /dev/null +++ b/CMS/resources/clinic_management_system_ERD.pgerd @@ -0,0 +1 @@ +{"version":"80600","data":{"id":"ae1420dc-6fc3-45ca-a637-46ec601bc6db","offsetX":62.82794386479293,"offsetY":44.994816292515694,"zoom":81.11300011475858,"gridSize":15,"layers":[{"id":"388310f9-2a86-40b1-aaed-b5e3a67c20ce","type":"diagram-links","isSvg":true,"transformed":true,"models":{"2914055f-841c-4a0d-a20e-6fd2df9232cb":{"id":"2914055f-841c-4a0d-a20e-6fd2df9232cb","locked":true,"type":"onetomany","source":"28534a5d-8008-4a5c-b90c-47919a0628ae","sourcePort":"4856b922-425d-412e-a173-b559c221b785","target":"866e488e-757b-40f4-b843-5fd6acdeadd2","targetPort":"c18715a6-1b51-4006-8fa4-bc22f8b43a04","points":[{"id":"40c6ac40-db8f-4fbf-b606-ea7fe518ee73","type":"point","x":204.00990118767587,"y":92.95326506457421},{"id":"9b2ed721-5b9a-440f-8a7d-37d011157612","type":"point","x":204.00990118767587,"y":118.34777804477598},{"id":"398ad4b1-7e22-430c-b10c-fd9a61a8b6ea","type":"point","x":225.98699425015414,"y":118.34777804477598}],"labels":[],"width":1,"color":"gray","curvyness":50,"selectedColor":"rgb(0,192,255)","data":{"local_table_uid":"866e488e-757b-40f4-b843-5fd6acdeadd2","local_column_attnum":1,"referenced_table_uid":"28534a5d-8008-4a5c-b90c-47919a0628ae","referenced_column_attnum":0}},"a5b0fee0-beb9-4cd1-bb0e-a020da5e8dd1":{"id":"a5b0fee0-beb9-4cd1-bb0e-a020da5e8dd1","locked":true,"type":"onetomany","source":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","sourcePort":"1c256d7f-5287-47b1-90a7-261f809be3d9","target":"866e488e-757b-40f4-b843-5fd6acdeadd2","targetPort":"8859526f-b200-4ede-ac4c-42132d1a4919","points":[{"id":"654ec45d-4d40-4832-8650-8f55707aeaa1","type":"point","x":495.9900746036134,"y":92.95326506457421},{"id":"3cc589aa-9869-43f9-9ab0-c28c40ba46d2","type":"point","x":495.9900746036134,"y":143.74225340144255},{"id":"3b13a8c5-669b-4ba7-8e07-3a4511ab504b","type":"point","x":459.0067969153495,"y":143.74225340144255}],"labels":[],"width":1,"color":"gray","curvyness":50,"selectedColor":"rgb(0,192,255)","data":{"local_table_uid":"866e488e-757b-40f4-b843-5fd6acdeadd2","local_column_attnum":2,"referenced_table_uid":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","referenced_column_attnum":0}},"4aaf5c07-dab7-4dcf-80f7-cf72acf691b5":{"id":"4aaf5c07-dab7-4dcf-80f7-cf72acf691b5","locked":true,"type":"onetomany","source":"28534a5d-8008-4a5c-b90c-47919a0628ae","sourcePort":"4856b922-425d-412e-a173-b559c221b785","target":"5c71a774-a9d4-410b-914b-7f604f5472d9","targetPort":"9c8906d6-60f5-4878-a086-4407f48f63c3","points":[{"id":"d4408763-65bc-4dfd-b2b2-e689bb28be05","type":"point","x":204.00990118767587,"y":92.95326506457421},{"id":"1be90018-a6f9-48dc-a334-bb9f5921b0c6","type":"point","x":204.00990118767587,"y":553.3415164818016},{"id":"970c2243-a951-4461-9d80-d7a052c7106b","type":"point","x":225.98699425015414,"y":553.3415164818016}],"labels":[],"width":1,"color":"gray","curvyness":50,"selectedColor":"rgb(0,192,255)","data":{"local_table_uid":"5c71a774-a9d4-410b-914b-7f604f5472d9","local_column_attnum":1,"referenced_table_uid":"28534a5d-8008-4a5c-b90c-47919a0628ae","referenced_column_attnum":0}},"b111d4c1-c62e-4820-94a5-6140a7b0be5f":{"id":"b111d4c1-c62e-4820-94a5-6140a7b0be5f","locked":true,"type":"onetomany","source":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","sourcePort":"1c256d7f-5287-47b1-90a7-261f809be3d9","target":"5c71a774-a9d4-410b-914b-7f604f5472d9","targetPort":"023c70c8-ef26-4be7-ba4d-94892189f538","points":[{"id":"ef8078fc-550e-497f-b52a-a46abc620a6b","type":"point","x":495.9900746036134,"y":92.95326506457421},{"id":"11256025-6371-4131-b351-3573280e4e85","type":"point","x":495.9900746036134,"y":578.7360482737708},{"id":"5f8f379d-4345-4fb2-b31b-d19c21b9434f","type":"point","x":459.0067969153495,"y":578.7360482737708}],"labels":[],"width":1,"color":"gray","curvyness":50,"selectedColor":"rgb(0,192,255)","data":{"local_table_uid":"5c71a774-a9d4-410b-914b-7f604f5472d9","local_column_attnum":2,"referenced_table_uid":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","referenced_column_attnum":0}}}},{"id":"f971590e-f6bf-4a00-ab28-a018401c8fa7","type":"diagram-nodes","isSvg":false,"transformed":true,"models":{"28534a5d-8008-4a5c-b90c-47919a0628ae":{"id":"28534a5d-8008-4a5c-b90c-47919a0628ae","type":"table","selected":true,"x":0,"y":0,"ports":[{"id":"083fd056-abc4-4b02-9eb8-7fd93139abbe","type":"onetomany","x":0.9900938195385924,"y":92.95326506457421,"name":"coll-port-0-left","alignment":"left","parentNode":"28534a5d-8008-4a5c-b90c-47919a0628ae","links":[]},{"id":"4856b922-425d-412e-a173-b559c221b785","type":"onetomany","x":174.00990118767587,"y":92.95326506457421,"name":"coll-port-0-right","alignment":"right","parentNode":"28534a5d-8008-4a5c-b90c-47919a0628ae","links":["2914055f-841c-4a0d-a20e-6fd2df9232cb","4aaf5c07-dab7-4dcf-80f7-cf72acf691b5"]}],"name":"Untitled","color":"rgb(0,192,255)","portsInOrder":[],"portsOutOrder":["083fd056-abc4-4b02-9eb8-7fd93139abbe","4856b922-425d-412e-a173-b559c221b785"],"otherInfo":{"data":{"name":"patient","coll_inherits":[],"hastoasttable":true,"toast_autovacuum_enabled":"x","autovacuum_enabled":"x","primary_key":[{"columns":[{"column":"patient_id","cid":"c106"}],"include":[],"cid":"c105"}],"foreign_key":[],"partition_keys":[],"partitions":[],"partition_type":"range","is_partitioned":false,"columns":[{"name":"patient_id","is_primary_key":true,"attnum":0,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c107"},{"name":"first_name","is_primary_key":false,"attnum":1,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c108","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"last_name","is_primary_key":false,"attnum":2,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c109","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"birth_date","is_primary_key":false,"attnum":3,"cltype":"date","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c110"},{"name":"gender","is_primary_key":false,"attnum":4,"cltype":"\"char\"","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c111"},{"name":"address","is_primary_key":false,"attnum":5,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c112"},{"name":"phone","is_primary_key":false,"attnum":6,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c113","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"email","is_primary_key":false,"attnum":7,"cltype":"character varying","attlen":"100","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c114","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"registration_date","is_primary_key":false,"attnum":8,"cltype":"timestamp without time zone","attlen":"","min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c115"},{"name":"last_visit","is_primary_key":false,"attnum":9,"cltype":"timestamp without time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c116","defval":"NULL"},{"name":"Insurance","is_primary_key":false,"attnum":10,"cltype":"character varying","attlen":"255","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c117","defval":"NULL","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"created_at","is_primary_key":false,"attnum":11,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c118","defval":"CURRENT_TIMESTAMP"},{"name":"updated_at","is_primary_key":false,"attnum":12,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c119","defval":"CURRENT_TIMESTAMP"}],"schema":"public","unique_constraint":[{"columns":[{"column":"email","cid":"c121"}],"include":[],"cid":"c120","name":"patient_email_unique"}]},"note":"","metadata":{"data_failed":false,"is_promise":false,"fillColor":null,"textColor":null}}},"4d140e65-530e-4516-aa5c-23b2e32bc2d6":{"id":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","type":"table","selected":false,"x":525,"y":0,"ports":[{"id":"1c256d7f-5287-47b1-90a7-261f809be3d9","type":"onetomany","x":525.9900746036134,"y":92.95326506457421,"name":"coll-port-0-left","alignment":"left","parentNode":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","links":["a5b0fee0-beb9-4cd1-bb0e-a020da5e8dd1","b111d4c1-c62e-4820-94a5-6140a7b0be5f"]},{"id":"b28a5595-9260-4299-a602-c67930887503","type":"onetomany","x":699.009914892344,"y":92.95326506457421,"name":"coll-port-0-right","alignment":"right","parentNode":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","links":[]}],"name":"Untitled","color":"rgb(0,192,255)","portsInOrder":[],"portsOutOrder":["1c256d7f-5287-47b1-90a7-261f809be3d9","b28a5595-9260-4299-a602-c67930887503"],"otherInfo":{"data":{"name":"doctor","coll_inherits":[],"hastoasttable":true,"toast_autovacuum_enabled":"x","autovacuum_enabled":"x","primary_key":[{"columns":[{"column":"doctor_id","cid":"c168"}],"include":[],"cid":"c167","name":"doctor_pkey"}],"foreign_key":[],"partition_keys":[],"partitions":[],"partition_type":"range","is_partitioned":false,"columns":[{"name":"doctor_id","is_primary_key":true,"attnum":0,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c169"},{"name":"first_name","is_primary_key":false,"attnum":1,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c170","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"last_name","is_primary_key":false,"attnum":2,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c171","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"birth_date","is_primary_key":false,"attnum":6,"cltype":"date","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c172"},{"name":"email","is_primary_key":false,"attnum":4,"cltype":"character varying","attlen":"100","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c173","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"phone","is_primary_key":false,"attnum":5,"cltype":"character varying","attlen":"20","attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c174","min_val_attlen":1,"max_val_attlen":2147483647},{"name":"hire_date","is_primary_key":false,"attnum":7,"cltype":"date","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c175"},{"name":"specialty","is_primary_key":false,"attnum":3,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c176"},{"name":"qualification","is_primary_key":false,"attnum":8,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c177"},{"name":"office_location","is_primary_key":false,"attnum":10,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c178"},{"name":"department","is_primary_key":false,"attnum":9,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c179"},{"name":"created_at","is_primary_key":false,"attnum":11,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c180","defval":"CURRENT_TIMESTAMP"},{"name":"updated_at","is_primary_key":false,"attnum":12,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c181","defval":"CURRENT_TIMESTAMP"}],"schema":"public","unique_constraint":[{"name":"doctor_email_unique","comment":"","columns":[{"column":"email","cid":"c183"}],"include":[],"cid":"c182"}]},"note":"","metadata":{"data_failed":false,"is_promise":false,"fillColor":null,"textColor":null}}},"866e488e-757b-40f4-b843-5fd6acdeadd2":{"id":"866e488e-757b-40f4-b843-5fd6acdeadd2","type":"table","selected":false,"x":255,"y":0,"ports":[{"id":"c18715a6-1b51-4006-8fa4-bc22f8b43a04","type":"onetomany","x":255.98699425015414,"y":118.34777804477598,"name":"coll-port-1-left","alignment":"left","parentNode":"866e488e-757b-40f4-b843-5fd6acdeadd2","links":["2914055f-841c-4a0d-a20e-6fd2df9232cb"]},{"id":"47a7aea4-7526-4306-a0f2-2835f3dd0cdd","type":"onetomany","x":429.0067969153495,"y":118.34777804477598,"name":"coll-port-1-right","alignment":"right","parentNode":"866e488e-757b-40f4-b843-5fd6acdeadd2","links":[]},{"id":"9d22ee36-0169-47c9-90a0-f679f88c25ee","type":"onetomany","x":255.98699425015414,"y":143.74225340144255,"name":"coll-port-2-left","alignment":"left","parentNode":"866e488e-757b-40f4-b843-5fd6acdeadd2","links":[]},{"id":"8859526f-b200-4ede-ac4c-42132d1a4919","type":"onetomany","x":429.0067969153495,"y":143.74225340144255,"name":"coll-port-2-right","alignment":"right","parentNode":"866e488e-757b-40f4-b843-5fd6acdeadd2","links":["a5b0fee0-beb9-4cd1-bb0e-a020da5e8dd1"]}],"name":"Untitled","color":"rgb(0,192,255)","portsInOrder":[],"portsOutOrder":["c18715a6-1b51-4006-8fa4-bc22f8b43a04","47a7aea4-7526-4306-a0f2-2835f3dd0cdd","9d22ee36-0169-47c9-90a0-f679f88c25ee","8859526f-b200-4ede-ac4c-42132d1a4919"],"otherInfo":{"data":{"name":"appointment","coll_inherits":[],"hastoasttable":true,"toast_autovacuum_enabled":"x","autovacuum_enabled":"x","primary_key":[{"columns":[{"column":"appointment_id","cid":"c199"}],"include":[],"cid":"c198","name":"appointment_pkey"}],"foreign_key":[{"name":"fk_appointment_patient_id","confmatchtype":false,"autoindex":true,"coveringindex":"fki_fk_appointment_patient_id","columns":[{"local_column":"patient_id","local_column_cid":"c198","referenced":"patient_id","references":"28534a5d-8008-4a5c-b90c-47919a0628ae","references_table_name":"patient","cid":"c201"}],"confupdtype":"c","confdeltype":"r","cid":"c200","convalidated":true},{"name":"fk_appointment_doctor_id","confmatchtype":false,"autoindex":true,"coveringindex":"fki_fk_appointment_doctor_id","columns":[{"local_column":"doctor_id","local_column_cid":"c442","referenced":"doctor_id","references":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","references_table_name":"doctor","cid":"c203"}],"confupdtype":"c","confdeltype":"r","cid":"c202","convalidated":true}],"partition_keys":[],"partitions":[],"partition_type":"range","is_partitioned":false,"columns":[{"name":"appointment_id","is_primary_key":true,"attnum":0,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c204"},{"name":"patient_id","is_primary_key":false,"attnum":1,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c205"},{"name":"doctor_id","is_primary_key":false,"attnum":2,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c206"},{"name":"appointment_date","is_primary_key":false,"attnum":3,"cltype":"date","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c207"},{"name":"appointment_time","is_primary_key":false,"attnum":4,"cltype":"timestamp without time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c208"},{"name":"status","is_primary_key":false,"attnum":5,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c209","defval":""},{"name":"reason","is_primary_key":false,"attnum":6,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c210","defval":""},{"name":"created_at","is_primary_key":false,"attnum":7,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c211","defval":"CURRENT_TIMESTAMP"},{"name":"updated_at","is_primary_key":false,"attnum":8,"cltype":"timestamp with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c212","defval":"CURRENT_TIMESTAMP"}],"schema":"public"},"note":"","metadata":{"data_failed":false,"is_promise":false,"fillColor":null,"textColor":null}}},"5c71a774-a9d4-410b-914b-7f604f5472d9":{"id":"5c71a774-a9d4-410b-914b-7f604f5472d9","type":"table","selected":false,"x":255,"y":435,"ports":[{"id":"9c8906d6-60f5-4878-a086-4407f48f63c3","type":"onetomany","x":255.98699425015414,"y":553.3415164818016,"name":"coll-port-1-left","alignment":"left","parentNode":"5c71a774-a9d4-410b-914b-7f604f5472d9","links":["4aaf5c07-dab7-4dcf-80f7-cf72acf691b5"]},{"id":"bee9d010-8c9a-4791-a2f6-be19fee9cd6a","type":"onetomany","x":429.0067969153495,"y":553.3415164818016,"name":"coll-port-1-right","alignment":"right","parentNode":"5c71a774-a9d4-410b-914b-7f604f5472d9","links":[]},{"id":"502b946f-a102-442e-a5c3-4a887cba3733","type":"onetomany","x":255.98699425015414,"y":578.7360482737708,"name":"coll-port-2-left","alignment":"left","parentNode":"5c71a774-a9d4-410b-914b-7f604f5472d9","links":[]},{"id":"023c70c8-ef26-4be7-ba4d-94892189f538","type":"onetomany","x":429.0067969153495,"y":578.7360482737708,"name":"coll-port-2-right","alignment":"right","parentNode":"5c71a774-a9d4-410b-914b-7f604f5472d9","links":["b111d4c1-c62e-4820-94a5-6140a7b0be5f"]}],"name":"Untitled","color":"rgb(0,192,255)","portsInOrder":[],"portsOutOrder":["9c8906d6-60f5-4878-a086-4407f48f63c3","bee9d010-8c9a-4791-a2f6-be19fee9cd6a","502b946f-a102-442e-a5c3-4a887cba3733","023c70c8-ef26-4be7-ba4d-94892189f538"],"otherInfo":{"data":{"name":"medical_record","coll_inherits":[],"hastoasttable":true,"toast_autovacuum_enabled":"x","autovacuum_enabled":"x","primary_key":[{"columns":[{"column":"medical_record_id","cid":"c228"}],"include":[],"cid":"c227"}],"foreign_key":[{"name":"fk_medical_record_patient_id","comment":"","confmatchtype":false,"convalidated":true,"autoindex":true,"coveringindex":"fki_fk_medical_record_patient_id","columns":[{"local_column":"patient_id","local_column_cid":"c179","referenced":"patient_id","references":"28534a5d-8008-4a5c-b90c-47919a0628ae","references_table_name":"patient","cid":"c230"}],"confupdtype":"c","confdeltype":"r","cid":"c229"},{"name":"fk_medical_record_doctor_id","confmatchtype":false,"convalidated":true,"autoindex":true,"coveringindex":"fki_fk_medical_record_doctor_id","columns":[{"local_column":"doctor_id","local_column_cid":"c372","referenced":"doctor_id","references":"4d140e65-530e-4516-aa5c-23b2e32bc2d6","references_table_name":"doctor","cid":"c232"}],"confupdtype":"a","confdeltype":"a","cid":"c231"}],"partition_keys":[],"partitions":[],"partition_type":"range","is_partitioned":false,"columns":[{"name":"medical_record_id","is_primary_key":true,"attnum":0,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c233"},{"name":"patient_id","is_primary_key":false,"attnum":1,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c234"},{"name":"doctor_id","is_primary_key":false,"attnum":2,"cltype":"serial","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c235"},{"name":"visit_date","is_primary_key":false,"attnum":3,"cltype":"date","attlen":null,"attprecision":null,"attcompression":"","collspcname":null,"attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c236"},{"name":"diagnosis","is_primary_key":false,"attnum":4,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c237"},{"name":"treatment","is_primary_key":false,"attnum":5,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","defval":"NULL","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c238"},{"name":"prescriptions","is_primary_key":false,"attnum":6,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","defval":"NULL","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c239"},{"name":"notes","is_primary_key":false,"attnum":7,"cltype":"text","attlen":null,"attprecision":null,"attcompression":"","defval":"NULL","attnotnull":false,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c240"},{"name":"created_at","is_primary_key":false,"attnum":8,"cltype":"time with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"defval":"CURRENT_TIMESTAMP","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c241"},{"name":"updated_at","is_primary_key":false,"attnum":9,"cltype":"time with time zone","attlen":null,"min_val_attlen":0,"max_val_attlen":6,"attprecision":null,"collspcname":null,"defval":"CURRENT_TIMESTAMP","attnotnull":true,"colconstype":"n","attidentity":"a","attoptions":[],"cid":"c242"}],"schema":"public"},"note":"","metadata":{"data_failed":false,"is_promise":false,"fillColor":null,"textColor":null}}}}}]}} \ No newline at end of file diff --git a/CMS/resources/test data/appointments.csv b/CMS/resources/test data/appointments.csv new file mode 100644 index 0000000..4eef560 --- /dev/null +++ b/CMS/resources/test data/appointments.csv @@ -0,0 +1,20 @@ +1,2,3,2024-06-13,2024-06-08 10:03:19,COMPLETED,Operacija,2024-06-07 23:03:19,2024-06-07 23:03:19 +2,5,5,2024-07-02,2024-06-08 07:03:19,CANCELLED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +3,8,3,2024-07-06,2024-06-08 10:03:19,SCHEDULED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +4,7,3,2024-06-19,2024-06-08 14:03:19,CANCELLED,Savjetovanje,2024-06-07 23:03:19,2024-06-07 23:03:19 +5,4,4,2024-07-03,2024-06-08 10:03:19,SCHEDULED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +6,12,1,2024-06-13,2024-06-08 12:03:19,CANCELLED,Povreda meniskusa,2024-06-07 23:03:19,2024-06-07 23:03:19 +7,4,2,2024-06-22,2024-06-08 10:03:19,CANCELLED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +8,7,5,2024-06-29,2024-06-08 10:03:19,SCHEDULED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +9,10,2,2024-06-10,2024-06-08 08:03:19,CANCELLED,Operacija,2024-06-07 23:03:19,2024-06-07 23:03:19 +10,7,2,2024-06-12,2024-06-08 09:03:19,CANCELLED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +11,12,3,2024-07-02,2024-06-08 16:03:19,COMPLETED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +12,14,1,2024-07-04,2024-06-08 10:03:19,COMPLETED,Operacija,2024-06-07 23:03:19,2024-06-07 23:03:19 +13,10,2,2024-07-03,2024-06-08 08:03:19,COMPLETED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +14,15,2,2024-07-07,2024-06-08 08:03:19,SCHEDULED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +15,5,5,2024-06-10,2024-06-08 07:03:19,CANCELLED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +16,5,1,2024-06-18,2024-06-08 16:03:19,CANCELLED,Operacija,2024-06-07 23:03:19,2024-06-07 23:03:19 +17,10,2,2024-06-19,2024-06-08 10:03:19,SCHEDULED,Redovni pregled,2024-06-07 23:03:19,2024-06-07 23:03:19 +18,11,3,2024-06-26,2024-06-08 09:03:19,SCHEDULED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 +19,10,3,2024-06-15,2024-06-08 08:03:19,CANCELLED,Povreda meniskusa,2024-06-07 23:03:19,2024-06-07 23:03:19 +20,13,1,2024-06-13,2024-06-08 11:03:19,CANCELLED,Kontrola,2024-06-07 23:03:19,2024-06-07 23:03:19 diff --git a/CMS/resources/test data/doctor.csv b/CMS/resources/test data/doctor.csv new file mode 100644 index 0000000..80accf4 --- /dev/null +++ b/CMS/resources/test data/doctor.csv @@ -0,0 +1,5 @@ +1,"Pera","Peric","1985-04-10","pera@gmail.com","063222111","2024-06-07","Hirurg","MD","Novi Sad","Surgery","2024-06-07 17:14:06.107863+02","2024-06-07 17:14:06.107863+02" +2,"Marko","Markovic","1978-08-12","marko@gmail.com","063333222","2024-06-07","Kardiolog","MD","Beograd","Cardiology","2024-06-07 17:14:06.107863+02","2024-06-07 17:14:06.107863+02" +3,"Milica","Milic","1982-11-20","milica@gmail.com","063444333","2024-06-07","Pedijatar","MD","Novi Sad","Pediatrics","2024-06-07 17:14:06.107863+02","2024-06-07 17:14:06.107863+02" +4,"Aleksandar","Petrovic","1975-03-05","aleksandar@gmail.com","063555444","2024-06-07","Ortoped","MD","Beograd","Orthopedics","2024-06-07 17:14:06.107863+02","2024-06-07 17:14:06.107863+02" +5,"Marija","Nikolic","1980-06-15","marija@gmail.com","063666555","2024-06-07","Neurolog","MD","Novi Sad","Neurology","2024-06-07 17:14:06.107863+02","2024-06-07 17:14:06.107863+02" diff --git a/CMS/resources/test data/medical_records.csv b/CMS/resources/test data/medical_records.csv new file mode 100644 index 0000000..98f4702 --- /dev/null +++ b/CMS/resources/test data/medical_records.csv @@ -0,0 +1,20 @@ +1,6,2,2023-07-01,gripa,rendgen snimanje,antibiotici,preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +2,11,5,2024-05-30,povreda kolena,rendgen snimanje,lekovi za pritisak,pacijent ima hronične probleme,2024-06-07 23:08:20,2024-06-07 23:08:20 +3,9,1,2023-10-01,povišen krvni pritisak,rendgen snimanje,"paracetamol, vitamin C",simptomi su se povukli nakon terapije,2024-06-07 23:08:20,2024-06-07 23:08:20 +4,7,4,2023-10-13,povišen krvni pritisak,antibiotici,antihistaminici,preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +5,8,5,2024-01-15,upala uha,odmaranje,"paracetamol, vitamin C",pacijent je bio uznemiren zbog povrede,2024-06-07 23:08:20,2024-06-07 23:08:20 +6,15,4,2023-12-10,povišen krvni pritisak,analgetici,antihistaminici,pacijent ima hronične probleme,2024-06-07 23:08:20,2024-06-07 23:08:20 +7,15,1,2023-06-19,gripa,odmaranje,antibiotici,pacijent je bio uznemiren zbog povrede,2024-06-07 23:08:20,2024-06-07 23:08:20 +8,10,1,2023-07-21,povišen krvni pritisak,fizioterapija,antibiotici,simptomi su se povukli nakon terapije,2024-06-07 23:08:20,2024-06-07 23:08:20 +9,15,5,2024-03-10,gripa,analgetici,antibiotici,pacijent se žalio na bol u uhu,2024-06-07 23:08:20,2024-06-07 23:08:20 +10,3,4,2023-08-10,alergija,odmaranje,antibiotici,pacijent ima hronične probleme,2024-06-07 23:08:20,2024-06-07 23:08:20 +11,8,5,2023-09-06,upala uha,odmaranje,antibiotici,pacijent se žalio na bol u uhu,2024-06-07 23:08:20,2024-06-07 23:08:20 +12,7,2,2023-06-10,upala uha,fizioterapija,lekovi za pritisak,preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +13,15,5,2023-11-21,povreda kolena,odmaranje,antihistaminici,pacijent ima hronične probleme,2024-06-07 23:08:20,2024-06-07 23:08:20 +14,11,1,2024-01-13,povreda kolena,fizioterapija,antihistaminici,preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +15,2,1,2023-08-31,upala uha,rendgen snimanje,"hladni oblozi, gavez mast",preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +16,5,2,2023-08-26,povišen krvni pritisak,odmaranje,antihistaminici,pacijent ima hronične probleme,2024-06-07 23:08:20,2024-06-07 23:08:20 +17,9,5,2023-09-24,upala uha,odmaranje,antibiotici,pacijent je bio uznemiren zbog povrede,2024-06-07 23:08:20,2024-06-07 23:08:20 +18,14,4,2024-01-23,povreda kolena,rendgen snimanje,"hladni oblozi, gavez mast",preporučeno mirovanje i kontrola za 7 dana,2024-06-07 23:08:20,2024-06-07 23:08:20 +19,15,1,2024-01-15,alergija,rendgen snimanje,lekovi za pritisak,pacijent je bio uznemiren zbog povrede,2024-06-07 23:08:20,2024-06-07 23:08:20 +20,4,3,2024-03-24,povreda kolena,rendgen snimanje,antihistaminici,simptomi su se povukli nakon terapije,2024-06-07 23:08:20,2024-06-07 23:08:20 diff --git a/CMS/resources/test data/patient.csv b/CMS/resources/test data/patient.csv new file mode 100644 index 0000000..beda908 --- /dev/null +++ b/CMS/resources/test data/patient.csv @@ -0,0 +1,15 @@ +1,John,Doe,1990-01-01,M,123 Main St,555-1234,johndoe@example.com,2023-01-01,2023-06-01,YES,2023-01-01 10:00:00,2023-06-01 10:00:00 +2,Jane,Doe,1991-02-02,F,124 Main St,555-2345,janedoe@example.com,2023-01-02,2023-06-02,YES,2023-01-02 10:00:00,2023-06-02 10:00:00 +3,Jim,Beam,1989-03-03,M,125 Main St,555-3456,jimbeam@example.com,2023-01-03,2023-06-03,YES,2023-01-03 10:00:00,2023-06-03 10:00:00 +4,Alice,Smith,1992-04-04,F,126 Main St,555-4567,alicesmith@example.com,2023-01-04,2023-06-04,YES,2023-01-04 10:00:00,2023-06-04 10:00:00 +5,Bob,Johnson,1988-05-05,M,127 Main St,555-5678,bobjohnson@example.com,2023-01-05,2023-06-05,YES,2023-01-05 10:00:00,2023-06-05 10:00:00 +6,Eve,Davis,1993-06-06,F,128 Main St,555-6789,evedavis@example.com,2023-01-06,2023-06-06,YES,2023-01-06 10:00:00,2023-06-06 10:00:00 +7,Charlie,Brown,1990-07-07,M,129 Main St,555-7890,charliebrown@example.com,2023-01-07,2023-06-07,YES,2023-01-07 10:00:00,2023-06-07 10:00:00 +8,Daisy,Miller,1991-08-08,F,130 Main St,555-8901,daisymiller@example.com,2023-01-08,2023-06-08,YES,2023-01-08 10:00:00,2023-06-08 10:00:00 +9,Edward,Wilson,1989-09-09,M,131 Main St,555-9012,edwardwilson@example.com,2023-01-09,2023-06-09,YES,2023-01-09 10:00:00,2023-06-09 10:00:00 +10,Grace,Moore,1992-10-10,F,132 Main St,555-0123,gracemoore@example.com,2023-01-10,2023-06-10,YES,2023-01-10 10:00:00,2023-06-10 10:00:00 +11,Hank,Anderson,1988-11-11,M,133 Main St,555-1230,hankanderson@example.com,2023-01-11,2023-06-11,YES,2023-01-11 10:00:00,2023-06-11 10:00:00 +12,Ivy,Thomas,1993-12-12,F,134 Main St,555-2341,ivythomas@example.com,2023-01-12,2023-06-12,YES,2023-01-12 10:00:00,2023-06-12 10:00:00 +13,Jack,White,1990-01-13,M,135 Main St,555-3452,jackwhite@example.com,2023-01-13,2023-06-13,YES,2023-01-13 10:00:00,2023-06-13 10:00:00 +14,Kate,Green,1991-02-14,F,136 Main St,555-4563,kategreen@example.com,2023-01-14,2023-06-14,YES,2023-01-14 10:00:00,2023-06-14 10:00:00 +15,Luke,Black,1989-03-15,M,137 Main St,555-5674,lukeblack@example.com,2023-01-15,2023-06-15,YES,2023-01-15 10:00:00,2023-06-15 10:00:00