From 4504333a81ec2fd5a01a8bed8df6186fcf5c4f67 Mon Sep 17 00:00:00 2001 From: sonzsara Date: Fri, 19 Jun 2026 11:42:37 +0530 Subject: [PATCH 1/2] Add documentation for lab service requests by category for external vendors at SSMM --- ...uests_by_category_external_vendors_ssmm.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md diff --git a/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md b/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md new file mode 100644 index 0000000..bc325c0 --- /dev/null +++ b/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md @@ -0,0 +1,51 @@ + +# Lab Service Requests by Category (External Vendors) - SSMM + +> Monthly count of lab service requests grouped by external vendor category and status + +## Purpose + +Returns the monthly count of lab `emr_servicerequest` records at SSMM, grouped by external vendor resource category and request status. Each row shows the month, vendor category, status, and the number of requests. + + +## Parameters + +| Parameter | Type | Description | Example | +|-----------|------|-------------|---------| +| `service_request_status` | TEXT | Filter by service request status | `'completed'` | +| `category` | TEXT | Filter by resource category title (exact match on `emr_resourcecategory.title`) | `'External Lab - Vendor A'` | +| `date` | DATE / range | Metabase date filter (bound to `sr.created_date`) | `'2026-06-01'` | + +--- + +## Query + +```sql +SELECT + TO_CHAR(DATE_TRUNC('month', sr.created_date), 'YYYY-MM') AS month, + rc.title AS category, + sr.status, + COUNT(sr.id) AS total_requests +FROM emr_servicerequest sr +JOIN emr_activitydefinition ad + ON ad.id = sr.activity_definition_id +CROSS JOIN LATERAL unnest(ad.charge_item_definitions) AS cid_id +JOIN emr_chargeitemdefinition cid + ON cid.id = cid_id +JOIN emr_resourcecategory rc + ON rc.id = cid.category_id +WHERE sr.category = 'laboratory' + AND rc.id IN (49, 50, 51, 52) + --[[AND sr.status = {{service_request_status}}]] + --[[AND rc.title = {{category}}]] + --[[AND {{date}}]] +GROUP BY month, rc.title, sr.status +ORDER BY month DESC, rc.title, sr.status; +``` + +## Notes + +- `rc.id IN (49, 50, 51, 52)` is hardcoded — these correspond to the SSMM external lab vendor resource categories. Update this list if category IDs change or new vendors are added. +- Months are formatted as `YYYY-MM` for easy grouping and sorting; results are ordered with the most recent month first. + +*Last updated: 2026-06-19* From 62e827244fbdae17b857986a2bfcca7537ade7d6 Mon Sep 17 00:00:00 2001 From: sonzsara Date: Fri, 19 Jun 2026 12:06:35 +0530 Subject: [PATCH 2/2] Refactor SQL query in lab service requests documentation to ensure distinct count of requests --- ...uests_by_category_external_vendors_ssmm.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md b/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md index bc325c0..027634d 100644 --- a/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md +++ b/Care/Operations/lab_service_requests_by_category_external_vendors_ssmm.md @@ -22,25 +22,26 @@ Returns the monthly count of lab `emr_servicerequest` records at SSMM, grouped b ```sql SELECT - TO_CHAR(DATE_TRUNC('month', sr.created_date), 'YYYY-MM') AS month, - rc.title AS category, - sr.status, - COUNT(sr.id) AS total_requests + TO_CHAR(DATE_TRUNC('month', sr.created_date), 'YYYY-MM') AS month, + rc.title AS category, + sr.status, + COUNT(DISTINCT sr.id) AS total_requests FROM emr_servicerequest sr -JOIN emr_activitydefinition ad - ON ad.id = sr.activity_definition_id +JOIN emr_activitydefinition ad + ON ad.id = sr.activity_definition_id CROSS JOIN LATERAL unnest(ad.charge_item_definitions) AS cid_id -JOIN emr_chargeitemdefinition cid - ON cid.id = cid_id -JOIN emr_resourcecategory rc - ON rc.id = cid.category_id -WHERE sr.category = 'laboratory' +JOIN emr_chargeitemdefinition cid + ON cid.id = cid_id +JOIN emr_resourcecategory rc + ON rc.id = cid.category_id +WHERE sr.deleted = FALSE + AND sr.category = 'laboratory' AND rc.id IN (49, 50, 51, 52) --[[AND sr.status = {{service_request_status}}]] --[[AND rc.title = {{category}}]] --[[AND {{date}}]] -GROUP BY month, rc.title, sr.status -ORDER BY month DESC, rc.title, sr.status; +GROUP BY DATE_TRUNC('month', sr.created_date), rc.title, sr.status +ORDER BY DATE_TRUNC('month', sr.created_date) DESC, rc.title, sr.status; ``` ## Notes