Discovery Service

Hospital directory lookups and device-registration lifecycle for the OpComm fleet

discovery.opcommservice.com

Service Running
+716aa82a64d4a3a26cba898829b84c66e9fd2be6.716aa82a64d4a3a26cba898829b84c66e9fd2be6
Version
Production
Environment
d697059d09e9
Machine
REST
Protocol

Hospital Directory

Public reads for the operational hospital catalog — config, status, and feature flags by HospitalCode or HospitalUID. Source for the mobile picker and tenant bootstrap flows.

Device Registration Lifecycle

Register, retrieve, and deactivate DeviceRegistration rows tied to (phone, hospital). Drives the global push-pipeline addressing key consumed by mobile and the Platform Portal.

Phone-Device-Secret Auth

Per-phone long-lived secret minted at OTP verification gates every mutation. SHA-256 + constant-time comparison; LastSeenAt bumped on every successful validation.

API ENDPOINTS

General
Public Reads (no auth)
GET /api/v1/public/hospitals Active hospital list for picker UIs
POST /api/v1/public/my-hospitals Phone-scoped hospital list lookup
GET /api/v1/public/hospitals/{code}/config Tenant config by HospitalCode
GET /api/v1/public/hospitals/uid/{uid}/config Tenant config by HospitalUID
GET /api/v1/public/app-config Mobile app configuration values
Device Registration (mixed auth)
POST /api/v1/registrations Register or claim a DeviceRegistration row
GET /api/v1/registrations/{registrationId} Fetch a registration by RegistrationUID
DELETE /api/v1/registrations/{registrationId} Deactivate (secret-gated)
DELETE /api/v1/registrations Bulk deactivate by phone + hospitalCode
PATCH /api/v1/registrations/{registrationId}/dnd Update Do-Not-Disturb state (secret-gated)
Mutations on /api/v1/registrations/* require the X-Phone-Device-Secret header