{ "info": { "_postman_id": "px360-external-api-collection", "name": "PX360 External API", "description": "PX360 Patient Experience Platform - External API endpoints.\n\nBase URL: `/api/v1/external/`\n\nAll requests require an `X-API-Key` header. Set the `api_key` variable in your environment.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Lookup", "item": [ { "name": "List Hospitals", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/hospitals/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "hospitals", ""] } }, "response": [ { "name": "Success", "originalRequest": { "method": "GET", "url": { "raw": "{{base_url}}/api/v1/external/hospitals/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "hospitals", ""] } }, "status": "OK", "code": 200, "body": "{\n \"count\": 3,\n \"results\": [\n { \"id\": \"uuid\", \"name\": \"Al Nuzha\", \"code\": \"HH-N\" },\n { \"id\": \"uuid\", \"name\": \"Al Olya\", \"code\": \"HH-A\" },\n { \"id\": \"uuid\", \"name\": \"Al Suwaidi\", \"code\": \"HH-S\" }\n ]\n}" } ] }, { "name": "List Location Types", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/location-types/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "location-types", ""] } }, "response": [ { "name": "Success", "originalRequest": { "method": "GET", "url": { "raw": "{{base_url}}/api/v1/external/location-types/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "location-types", ""] } }, "status": "OK", "code": 200, "body": "{\n \"count\": 4,\n \"results\": [\n { \"value\": \"OP\", \"label\": \"Outpatient\", \"label_ar\": \"خارجي\" },\n { \"value\": \"IP\", \"label\": \"Inpatient\", \"label_ar\": \"تنويم\" },\n { \"value\": \"ER\", \"label\": \"Emergency\", \"label_ar\": \"طوارئ\" },\n { \"value\": \"GENERAL\", \"label\": \"General\", \"label_ar\": \"عام\" }\n ]\n}" } ] }, { "name": "List Areas", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/areas/?hospital=Al Nuzha", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "areas", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" }, { "key": "location_type", "value": "OP", "disabled": true } ] } }, "response": [ { "name": "Success", "originalRequest": { "method": "GET", "url": { "raw": "{{base_url}}/api/v1/external/areas/?hospital=Al Nuzha", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "areas", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" } ] } }, "status": "OK", "code": 200, "body": "{\n \"count\": 27,\n \"results\": [\n { \"id\": \"uuid\", \"name\": \"Emergency\", \"name_ar\": \"\", \"code\": \"emergency\" }\n ]\n}" } ] }, { "name": "List Departments", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/departments/?hospital=Al Nuzha", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "departments", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" } ] } }, "response": [ { "name": "Success", "originalRequest": { "method": "GET", "url": { "raw": "{{base_url}}/api/v1/external/departments/?hospital=Al Nuzha", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "departments", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" } ] } }, "status": "OK", "code": 200, "body": "{\n \"count\": 37,\n \"results\": [\n { \"id\": \"uuid\", \"name\": \"Critical Care Department\", \"name_en\": \"Critical Care Department\", \"name_ar\": \"\", \"code\": \"hh_n_critical_care_department\" }\n ]\n}" } ] }, { "name": "List Sections", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/sections/?hospital=Al Nuzha&department=Critical Care Department", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "sections", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" }, { "key": "department", "value": "Critical Care Department" } ] } }, "response": [ { "name": "Success", "originalRequest": { "method": "GET", "url": { "raw": "{{base_url}}/api/v1/external/sections/?hospital=Al Nuzha&department=Critical Care Department", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "sections", ""], "query": [ { "key": "hospital", "value": "Al Nuzha" }, { "key": "department", "value": "Critical Care Department" } ] } }, "status": "OK", "code": 200, "body": "{\n \"count\": 3,\n \"results\": [\n { \"id\": \"uuid\", \"name\": \"ICU\", \"name_ar\": \"\", \"code\": \"hh_n_critical_care_department__icu\" }\n ]\n}" } ] } ] }, { "name": "Complaints", "item": [ { "name": "Create Complaint", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital\": \"Al Nuzha\",\n \"title\": \"Long wait time in ER\",\n \"description\": \"I waited 3 hours in the emergency room without being seen.\",\n \"contact_name\": \"John Doe\",\n \"contact_phone\": \"+966501234567\",\n \"contact_email\": \"john@example.com\",\n \"location_type\": \"ER\",\n \"area\": \"Emergency\",\n \"department\": \"Critical Care Department\",\n \"section\": \"ICU\",\n \"relation_to_patient\": \"patient\",\n \"patient_name\": \"John Doe\",\n \"incident_date\": \"2026-06-10\",\n \"expected_result\": \"Faster service in ER\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/complaints/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "complaints", ""] } }, "response": [ { "name": "Created", "originalRequest": { "method": "POST", "url": { "raw": "{{base_url}}/api/v1/external/complaints/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "complaints", ""] } }, "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"reference_number\": \"CMP-20260609-167152\",\n \"status\": \"open\"\n}" } ] }, { "name": "List Complaints", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/complaints/list/?page=1&page_size=20", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "complaints", "list", ""], "query": [ { "key": "page", "value": "1" }, { "key": "page_size", "value": "20" }, { "key": "created_from", "value": "2026-01-01", "disabled": true }, { "key": "created_to", "value": "2026-06-30", "disabled": true }, { "key": "status", "value": "open", "disabled": true } ] } }, "response": [] }, { "name": "Get Complaint", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/complaints/CMP-20260609-167152/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "complaints", "CMP-20260609-167152", ""] } }, "response": [ { "name": "Success", "status": "OK", "code": 200, "body": "{\n \"id\": \"uuid\",\n \"reference_number\": \"CMP-20260609-167152\",\n \"title\": \"Long wait time in ER\",\n \"description\": \"I waited 3 hours...\",\n \"status\": \"open\",\n \"severity\": \"medium\",\n \"priority\": \"medium\",\n \"contact_name\": \"John Doe\",\n \"contact_phone\": \"+966501234567\",\n \"hospital_name\": \"Al Nuzha\",\n \"created_at\": \"2026-06-09T13:38:03.808618+03:00\",\n \"updated_at\": \"2026-06-09T13:38:03.808683+03:00\"\n}" } ] }, { "name": "Set Satisfaction", "request": { "method": "PATCH", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"satisfaction\": \"satisfied\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/complaints/CMP-20260609-167152/satisfaction/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "complaints", "CMP-20260609-167152", "satisfaction", ""] } }, "response": [ { "name": "Success", "status": "OK", "code": 200, "body": "{\n \"success\": true,\n \"reference_number\": \"CMP-20260609-167152\",\n \"satisfaction\": \"satisfied\"\n}" } ] } ] }, { "name": "Inquiries", "item": [ { "name": "Create Inquiry", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital\": \"Al Nuzha\",\n \"subject\": \"Appointment rescheduling\",\n \"message\": \"I need to reschedule my cardiology appointment.\",\n \"contact_name\": \"Jane Smith\",\n \"contact_phone\": \"+966509876543\",\n \"contact_email\": \"jane@example.com\",\n \"category\": \"appointment\",\n \"location_type\": \"OP\",\n \"department\": \"Cardiology\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/inquiries/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "inquiries", ""] } }, "response": [ { "name": "Created", "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"reference_number\": \"INQ-20260609-124293\",\n \"status\": \"open\"\n}" } ] }, { "name": "List Inquiries", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/inquiries/list/?page=1&page_size=20", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "inquiries", "list", ""], "query": [ { "key": "page", "value": "1" }, { "key": "page_size", "value": "20" } ] } }, "response": [] }, { "name": "Get Inquiry", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/inquiries/INQ-20260609-124293/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "inquiries", "INQ-20260609-124293", ""] } }, "response": [] } ] }, { "name": "Observations", "item": [ { "name": "Create Observation", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital\": \"Al Nuzha\",\n \"description\": \"Wet floor near the main entrance, no warning sign posted.\",\n \"title\": \"Wet floor hazard\",\n \"severity\": \"medium\",\n \"location_text\": \"Main entrance lobby\",\n \"contact_name\": \"Anonymous Reporter\",\n \"contact_phone\": \"+966501112233\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/observations/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "observations", ""] } }, "response": [ { "name": "Created", "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"reference_number\": \"OBS-O8TCIC\",\n \"status\": \"new\"\n}" } ] }, { "name": "List Observations", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/observations/list/?page=1&page_size=20", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "observations", "list", ""], "query": [ { "key": "page", "value": "1" }, { "key": "page_size", "value": "20" } ] } }, "response": [] }, { "name": "Get Observation", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/observations/OBS-O8TCIC/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "observations", "OBS-O8TCIC", ""] } }, "response": [] } ] }, { "name": "Appreciations", "item": [ { "name": "Create Appreciation", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital\": \"Al Nuzha\",\n \"message\": \"Dr. Ahmed was incredibly kind and thorough during my visit.\",\n \"contact_name\": \"Sara Ali\",\n \"contact_phone\": \"+966503334455\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/appreciations/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "appreciations", ""] } }, "response": [ { "name": "Created", "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"reference_number\": \"APR-20260609-239270\",\n \"status\": \"draft\"\n}" } ] }, { "name": "List Appreciations", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/appreciations/list/?page=1&page_size=20", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "appreciations", "list", ""], "query": [ { "key": "page", "value": "1" }, { "key": "page_size", "value": "20" } ] } }, "response": [] }, { "name": "Get Appreciation", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/appreciations//", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "appreciations", "", ""] } }, "response": [] } ] }, { "name": "Suggestions", "item": [ { "name": "Create Suggestion", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital\": \"Al Nuzha\",\n \"message\": \"Please implement a digital queue management system to reduce wait times.\",\n \"contact_name\": \"Suggestor\",\n \"contact_phone\": \"+966504445566\",\n \"title\": \"Digital queue system\",\n \"category\": \"technology\",\n \"rating\": 4\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/suggestions/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "suggestions", ""] } }, "response": [ { "name": "Created", "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"reference_number\": \"SG-20260609-316316\",\n \"status\": \"submitted\"\n}" } ] }, { "name": "List Suggestions", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/suggestions/list/?page=1&page_size=20", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "suggestions", "list", ""], "query": [ { "key": "page", "value": "1" }, { "key": "page_size", "value": "20" } ] } }, "response": [] }, { "name": "Get Suggestion", "request": { "method": "GET", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" } ], "url": { "raw": "{{base_url}}/api/v1/external/suggestions//", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "suggestions", "", ""] } }, "response": [] } ] }, { "name": "Doctor Ratings", "item": [ { "name": "Submit Doctor Rating", "request": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "{{api_key}}", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"hospital_id\": 1,\n \"doctor_id\": \"10738\",\n \"doctor_name\": \"Dr. Omaymah Yaqoub\",\n \"rating\": 4,\n \"feedback\": \"Great doctor, very caring and attentive.\",\n \"rating_date\": \"2026-06-10\",\n \"patient_uhid\": \"UHID12345\",\n \"patient_name\": \"Ahmed Ali\",\n \"patient_type\": \"OP\",\n \"department_name\": \"Internal Medicine\"\n}" }, "url": { "raw": "{{base_url}}/api/v1/external/doctor-ratings/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "doctor-ratings", ""] } }, "response": [ { "name": "Created", "originalRequest": { "method": "POST", "url": { "raw": "{{base_url}}/api/v1/external/doctor-ratings/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "doctor-ratings", ""] } }, "status": "Created", "code": 201, "body": "{\n \"success\": true,\n \"rating_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"staff_id\": \"f1e2d3c4-b5a6-7890-abcd-ef1234567890\",\n \"doctor_name\": \"OMAYMAH YAQOUB ELAMEIAN\",\n \"rating\": 4\n}" }, { "name": "Doctor Not Found", "originalRequest": { "method": "POST", "url": { "raw": "{{base_url}}/api/v1/external/doctor-ratings/", "host": ["{{base_url}}"], "path": ["api", "v1", "external", "doctor-ratings", ""] } }, "status": "Bad Request", "code": 400, "body": "{\n \"doctor_id\": [\n \"Doctor with employee ID '99999' not found at this hospital.\"\n ]\n}" } ] } ] } ], "variable": [ { "key": "base_url", "value": "http://localhost:8000" }, { "key": "api_key", "value": "your-api-key-here" } ] }