SINGLE — Scan one item, fill the form, save. Standard mode.
⊟
POSITION CODE WITHIN RETICLE UPC, EAN, OR QR ACCEPTED
CAMERA OFFLINE
On a computer? Use the handheld scanner — arm it under
HARDWARE SCANNER below and just pull the trigger. The camera stays hidden until you ask for it.
HARDWARE SCANNEROFF
Works with any USB or Bluetooth scanner in HID / keyboard-wedge mode with a CR (Enter) suffix.
Scans feed the same SINGLE / RECEIVE / COUNT logic as the camera. Setting is remembered on this device.
RECEIVE TALLY
0 items
SCAN AN ITEM TO START COUNTING
CYCLE COUNT
No location selected
EXPECTED
0
SCANNED
0
DISCREPANCIES
0
NEW ENTRY
UNKNOWN
TYPE FIELDS
📷 Tap to take a photo or upload an image
HOW IT WORKS
SINGLE — scan, fill form, save. One item at a time.
RECEIVE — scan a shipment fast. First scan identifies the item; following scans of the same code increment a counter. Save all at the end.
COUNT — pick a location, scan everything physically there, see what matches and what doesn't.
Currently Out
Items checked out but not yet returned (med rucks, TDYs, etc). Tap an item to mark it returned or consumed.
Events
Group checkouts by event (TDY, exercise, training). Open an event to see all checkouts against it.
Checkout History
Every checkout, return, and consumption — newest first.
—
TOTAL ITEMS
—
EST. INV. VALUE
—
EXPIRING ≤30 D
—
EXPIRED
—
LOW STOCK
—
OPEN TASKS
Action Required
Things that need attention right now. Tap any row to jump to it.
Loading…
Overdue Checkouts
Checked out more than 7 days ago and not yet returned.
Low Stock by Location
Below-par items grouped by where they live, for restock runs.
Top 10 Most-Used Items (last 30 days)
No checkout activity yet.
Recent Activity
No activity.
Lot / Recall Search
Paste a lot number from an FDA recall notice or product alert.
The system will find every item in current inventory and the audit log
that matches that lot, partial lot, or item name.
Matches
0
Quarantine sets each item's quantity to 0 and adds a recall note. The original quantities are preserved in the audit log so you can reconcile if the recall is later rescinded.
Currently Recalled Items
No items currently flagged as recalled.
Controlled Substances — On Hand
Running count of every controlled substance on hand. Add a substance, then log what goes out and what comes in — the balance updates itself.
No controlled substances on file. Tap + ADD to start.
Reorder List
Items queued for reorder. Add from STOCK or DASH (low stock items) with one tap, or add custom lines here. Print the requisition for hand-off to supply.
No items on reorder list.
🎓 Classes
Create a class, print the QR, and students sign themselves in from their phones. Rosters stay here.
Roster
Tasks
No tasks.
⋯ All sections
Jump to less-used areas of the app.
🧾 DMLSS Delivery List Intake
Photograph the DMLSS Delivery List. Items are extracted, matched to your catalog, then you confirm and assign locations before anything commits.
Reading…
VERIFY BEFORE COMMITTING. OCR makes mistakes. Check every Item ID and quantity against the paper.
Qty = Qty Shipped, not Qty Ordered.
Raw text read from image
Shared Catalog
When anyone scans a new code, it's added here. Next time anyone scans the same code, the form auto-fills. The catalog is shared across the whole clinic.
⚠ Controlled Substance Log
Items auto-detected by name or controlled flag. Running count for monthly reconciliation.
Use History — Controlled Items
⚙ Control Center
Signed in as
⏳ Accounts Awaiting Approval
New sign-ups cannot use the app until approved. Approve to grant access, or reject to deny.
✓
No accounts awaiting approval
New sign-ups will appear here.
Jump to
📊 Monthly Stats
Auto-generated activity summary. Pick a month to see counts. Use Print for a leadership-ready handout.
Pick a month to see stats.
Offline & Session
Inventory and locations are cached on this device so the app still works with no signal. Changes made offline are queued and sent when you reconnect. You are signed out automatically after 12 hours.
Each user has two independent settings:
CLINICAL ROLE — what they are in the office (Flight Cmdr / Chief / Doc / IDMT-Paramedic / IDMT). Used for medical responsibilities like witnessing controlled substances.
SITE ADMIN — full app management access (manage users, edit public site, delete inventory). Independent of clinical role.
You can't change your own clinical role or remove your own site admin (prevents lockout). Have another site admin do it if needed.
CMDRCHIEFDOCMEDICIDMT← role hierarchy (high to low)
STATION ACCOUNTSwall terminals · no mailbox
Creates a login named after a place instead of a person. The address is internal
(station.NAME@563osm.local) and never receives mail, so
Confirm email must be off in Supabase → Authentication → Providers → Email.
A station signs in once on its machine and stays signed in. By default it can scan, look things up,
move stock and flag reorders, but not delete, manage people, or open the controlled log. Use
GRANT FULL ACCESS below to lift that for a particular terminal.
Either way every action asks for a typed name — on a shared login that name is the only thing
tying an action to a person.
Pick your own if you want something typeable — this login can only scan, look up,
and move stock, so it does not need to be a fortress. Minimum 8 characters.
Shown in plain text on purpose: it is going on a sticky note, not into a vault.
🚦 Clinic Status (top banner)
Banner at the top of every public page. By default it follows your weekly schedule below (auto-shows OPEN, sick call, closed, with countdowns). Use Manual Override for safety days, holidays, or any one-off message.
LIVE PREVIEW
Loading…
⚠ MANUAL OVERRIDE
Replaces the auto banner until cleared or expired.
📅 WEEKLY SCHEDULE
When auto-mode is on, the banner reads from these times. Each day can have multiple sick-call windows. Times are 24-hour HHMM (e.g., 0730).
to
🌐 Public-Facing Site
What anyone hitting this URL sees when they're not signed in. The same URL serves both your staff app (after sign-in) and a public landing page (calendar, contacts, MHS Genesis link). Toggle sections off to hide them from the public.
SECTIONS VISIBLE PUBLICLY
📢 WELCOME ANNOUNCEMENT BANNER
🩺 FLIGHT MEDICINE CLINIC INFO
🚀 OSM TEAM CONTACT
📸 Public Photo Slideshow
Photos appear at the top of the public homepage in a rotating slideshow (auto-advances every 5 sec). Upload JPG or PNG, max ~5 MB. Toggle visibility individually below.
No photos yet. Tap + ADD PHOTO to upload your first one.
👥 Staff Directory
Add anyone in the office, whether or not they have an OSM account. For each person, you control which fields appear on the public page (email, phone, Signal handle, office number, bio). Default: nothing public until you turn it on.
Invite User
Share the site URL with the new user. Have them create an account on the login screen. By default they'll be an IDMT — promote them above as needed.
Site URL:
BUILD
Locations
Edit location names so they match your real shelves and bins.
Item Types
Define item categories and the custom fields that appear on the scan form when that type is selected.
Bulk CSV Import
Import multiple items from a CSV file. Required columns: name, qty. Optional: reorder, lot, par, unit, expiration, location, notes, item_type, barcode.
📂 Drop CSV here or tap to browse
Max 500 rows per import
COLUMN MAPPING
RECENT IMPORTS
Browser Notifications
Get instant alerts from this browser/device when items go below par or expire soon. Works on phone (with the app installed to home screen) and desktop. No server, no email, no push service — just your browser.
checking…
Checks run every 30 min while the app is open, and once when you reopen it. Each unique alert is shown only once per 24 hr.
💬 Live Chat Console
When this is on, the public site shows you as available. New messages ping here in real time. Off → unanswered messages auto-email recipients after 5 min.
SESSIONS
Select a session →
⚠ Bug Reports
Issues users have reported via the ⚠ button (bottom-right of every page). Click a report to see full details + JS errors.
📣 Announcements
Public announcements that appear on the NEWS tab. Subscribers receive an email when a new post is published.
🔔 Announcement Subscribers
People who signed up via the NEWS tab to receive announcement emails.
❓ FAQs
Q&A items shown on the public FAQ tab. Categories: General, IMR (readiness), FMC (transition), Admin, Other.
Email Alerts
Daily digest emails are sent automatically. Add anyone who should receive alerts. Each subscriber can have individual alert types toggled on/off.
RECENT ALERTS SENT
Daily Brief
Goes out automatically at 0700 and 1500. Covers what moved in the stock room, anything
expired or expiring, what is below par, the reorder list, classes and the calendar.
Preview shows exactly what the next one will say, without sending it.
Not previewed yet.
Email System Check
Nothing about email lives in this file — the sending is done by Supabase Edge Functions,
and the daily digest is fired by a scheduled job inside Supabase. This tells you which of
those three links in the chain is broken so you are not guessing.
Not run yet.
DMLSS Reference Catalog
Reference only — this is not your stock. Photo Intake uses it to attach the correct DMLSS Item ID
and nomenclature to what it sees, instead of guessing. It does not need to be complete; add sheets as you get them.
Re-uploading the same sheet name updates those rows instead of duplicating them.
LOADED SHEETS
Compose Email
Send a one-off message to the alert list, the clinic staff, or addresses you type in. Uses the same 563 OSM letterhead as the automated alerts.
SENT HISTORY
Export Data
Download a CSV snapshot of current inventory for reporting or backup.
For the door holders — print these weekly alongside the expiration report.
Med Ruck Template
Save a standard packing list for field ops.
📁 Documents
SOPs, training materials, forms, references, and policies.
Upload Document
📅 Calendar
Upcoming training, events, and readiness requirements.
NEW EVENT
🏷 Labels & Barcodes
Generate printable labels for items and locations. P-touch / P21 compatible ZPL code included for each.
SUPVAN T50M PRO — LABEL BUILDER203 dpi ·
Every label carries a Code 128 barcode the NETUM scanner and the phone camera both read.
Item labels scan straight to that item · location labels pull up that location's stock,
or drop the location into an open add-item form.
Long-press an image to save it, then Katasymbol → Image → print at the matching size.
Enter a lot number to find all matching items — critical for manufacturer recalls.
Select items then set new quantities — useful after a mass casualty exercise.
All items below par level with NSN/reorder numbers. Print and hand to S4.
Enter expected quantities before a shipment arrives, then scan each item to verify.
Nothing here changes any data. It is a list of things that look wrong, worst first.
Tap any row to open that item and fix it.
Ordered by bin so you cross the room once. PULLED zeroes the
quantity and writes it to the log with your name. NOT THERE
just ticks it off here — use it when the shelf is already empty.
Per-item condition and notes log. Running history separate from the main audit log.
? How-To Guide
Everything you need to know to use OSM.
⚑ IF SOMETHING IS BROKEN AND NOBODY IS AROUND
📸 Photo Intake
Photograph a shelf or a pile of supplies. You check the numbers before anything is saved.
1 · Photos
Dump in as many photos as you like — up to 48. Shoot a whole shelf, then close-ups of the labels.
Multiple photos of the same item get stitched into one entry, and the close-up that caught the lot number
fills in what the wide shot missed. Nothing gets double counted.
2 · Check the numbers
Nothing is saved yet.
Counts and dates come from a photo, so treat them as a first draft. Fix anything wrong,
untick anything you don't want, then commit.
NEW ITEM TYPE
Custom Fields
ITEM
📷 Tap to upload or change photo
USE
NEW EVENT
EVENT
RETURN ITEM
If returning less than the full amount, the remainder is logged as consumed.
OSM CLINIC
OPERATIONAL SUPPORT MEDICINE
🚨 Life, limb, or eyesight? Call 911 or go to the nearest ER. Do not wait for this office.
Not a walk-in clinic. Routine and sick call go through Flight Medicine (FMC). We handle operational medical support.
👋
First time here?
OSM is the operational support medical team for the 563 Rescue Group. We're not a primary care clinic — for sick call and routine care, see Flight Medicine. Use this site to:
💊
Pharmacy: Skip the Line
The pharmacy now offers remote activation for new and renewal prescriptions. Reduce your wait time by sending a quick text.
TEXT
833-237-3093
Text the words "Get in line" to start.
HOW IT WORKS
Save the number above and text "Get in line"
Provide the patient's DOD ID number
Select which pharmacy to activate the prescription at
Wait for a confirmation message with your RX status
Important: 3 duty-day turnaround. Service available only during pharmacy duty hours: 0730-1630, Monday-Friday.
✈
ATTENTION FLYERS
Receiving Care Off Base? We Need to Know.
If you're being seen off base by a specialty clinic, you must inform and follow up with the Flight Medicine Clinic.
WHY THIS MATTERS
Proper aeromedical disposition review (flying status management)
Safe and timely follow-up in clinic and/or virtually
Accurate documentation in your medical record
No delays in updating your flying status
HOW TO NOTIFY FLIGHT MEDICINE
Option 1 · Scan the QR Code
Submit your information quickly and securely. Bookmark the link for future visits.
Note: form lives on a .mil network — works on government devices/networks. Use options 2 or 3 if accessing from a personal device.
Option 2 · Send a Secure Message in MHS GENESIS
Log in to the patient portal and message "USAF Davis-Monthan Flight Medicine Messaging". Include:
The clinic and provider you were seen by
Date of visit
Reason for the visit with the specialist
Option 3 · Stop by the Flight Medicine Front Desk
Our team will help document your outside care.
⚠ Failure to report outside specialty care will impact your flying status.
⚠ MEDICAL EMERGENCY
For medical emergencies, dial 911 or go to the nearest Emergency Department.
Find what you need on the left, call the number on the right.
🌙 After hours, weekends and holidays
OSM and the clinic are closed. Work down this list in order.
1
Life, limb or eyesight — call 911
Or go straight to the nearest emergency department. From a
cell on base, 520-228-3333. Do not call the
clinic and do not wait.
2
Not sure how bad it is — Nurse Advice Line
Free, 24/7, staffed by registered nurses who can tell you
whether to be seen tonight or wait for the clinic.
1-800-874-2273, then option 1.
3
In crisis — 988
Call or text 988, then press 1 for the
Veterans/Military Crisis Line. Free and confidential, 24/7. Sexual assault:
SARC 520-940-8059.
4
It can wait — message us
We pick messages up the next duty day. Not for anything
urgent and never for clinical advice.
📖 Base medical phone book
Every number here is an office line. Tap to call. From a base phone, dial the
last four digits.
Numbers change. If one is wrong, tell us and we will fix it the same day.
Internal-only lines and personal mobile numbers are deliberately not listed here.
📍 Where to find us
563d Group Building, Room 106
4589 S Phoenix St, Davis-Monthan AFB, Tucson AZ 85707 Walk in during duty hours or call 520-228-1860
Map shows the 563d Group building entrance on Phoenix St. Gate access required — valid CAC or sponsored visitor pass.
👥 Our Team
The OSM Office team. For appointments use the patient portal — for office questions use the contact info below.
Loading team...
👥 Clinic Staff Directory
Reach out to the right person for your need. Some staff may currently be on leave, TDY, or deployed — see availability below each name.
Loading…
🎓 Training & Classes
Classes OSM is running that you can sign up for. Pick a session, tap
SIGN UP, and enter your rank, name and a personal email — it takes about
fifteen seconds. Bring nothing but yourself unless the class says otherwise.
Loading…
📣 Want a class for your unit?
OSM teaches TCCC and self-aid buddy care to any unit on base. If you need a
session for your shop, or you want a class on a date that is not listed,
get in touch and we will build one around your schedule.
For emergencies, dial 911. The patient portal and clinic phone lines are NOT monitored 24/7. After-hours life/limb/eyesight emergencies → ER.
↗ Referrals — how they work
A referral is your provider asking TRICARE to approve care somewhere else —
a specialist, physical therapy, imaging off base. You do not arrange it
yourself, and you should not book anything until it is approved.
1
Your provider puts it in
This happens during or just after your appointment. Nothing
is needed from you at this point.
2
TRICARE reviews it
Usually a few days. You will get a letter or a portal
message when it is approved, naming the clinic you are being sent to.
3
You book the appointment
Call the specialist directly once you have the approval.
Referrals expire — book early rather than sitting on it.
4
Get the results back to us
Off-base results do not always come back on their own. If
you were seen downtown, tell us — especially anything that could affect
your duty status.
A profile is a medical document saying what you should not do for a while, and
for how long. It is written by a provider, not by you and not by your
supervisor. The point is to get you back to full duty, not to keep you off it.
What it does
Names specific limitations — no running, no lifting over a set weight, no
wearing of certain gear — and puts a date on them. Your unit sees the
limitations so they can work around them.
What it does not do
It is not a day off, it does not tell your chain your diagnosis, and it is
not permanent unless it says so. Your medical details stay between you and
your provider.
Getting one, or getting off one
Both go through the provider who is treating you. If yours is about to
expire and you are still limited, get seen before it runs out rather than
after.
Aircrew and special duty
Different rules. Anything that could ground you goes through Flight
Medicine — 520-228-2800.
Do not self-assess whether something is disqualifying.
General information only. Your profile says what your profile says — read it,
and ask the provider who wrote it if anything is unclear.
⚠ NOT FOR PATIENT CARE NEEDS
This is NOT a clinical channel. Do not use this form for medical questions, appointment requests, prescription refills, lab results, profile concerns, or any patient care needs. Messages here are not HIPAA-protected and may not be reviewed in time for clinical matters.
Interactive Customer Evaluation is the Air Force's formal comment system. Use
it when you want a compliment, complaint or suggestion on the record — it goes
to leadership, and you can ask for a reply. Anonymous submissions are allowed;
leave contact details if you want an answer back.
Search for Davis-Monthan, then the clinic or office you are commenting on.
For a concern about your own care, the patient advocate is often faster —
520-228-2919.
💬 What you CAN ask here
General questions for the OSM team, NOT clinical:
Office hours / where to find us
How to reach a specific staff member
Process / paperwork questions
Coordination for non-clinical visits
General feedback or info requests
CHECKING…
Start a chat with the OSM team. If nobody is available within 5 minutes, your message will be emailed to us so we can respond when we are.
📣 OSM Office Announcements
Updates from the office — clinic schedule changes, FMC transition info, new staff, training opportunities, closures.
🔔 Get email updates
We'll email you when the office posts a new announcement. Unsubscribe anytime — every email has a link.
❓ Frequently Asked Questions
Common questions answered. If you don't find what you need, message the office (NOT for clinical questions).
⚡ Check Your IMR Status
Your Individual Medical Readiness status — PHA, dental, immunizations, labs — lives on MyIMR / ASIMS. CAC-enabled, works best in Chrome.
Your account has been created and is awaiting admin approval.
You will be notified once access is granted.
Contact your OSM admin if this is urgent.
CONFIGURATION REQUIRED
This file needs to be configured with your Supabase project URL and anon key before it will work.
Open the HTML file in a text editor, find the SUPABASE_CONFIG block near the top of the script, and fill in both values from your Supabase project dashboard (Project Settings → API).
After saving the file, re-upload it to Netlify and reload the page.
↑↓ navigate · ↵ open · esc close
ADD SUBSCRIBER
ALERT TYPES
COMPOSE EMAIL
SEND TO
STAFF MEMBER
PHOTO
No photo
JPG, PNG, or WEBP. Square works best. Max 2 MB.
CONTACT INFO (toggle each field below to make it public)
AVAILABILITY
If unchecked, this person doesn't appear publicly at all. If checked, only the contact fields you ticked above will be visible. Their name, rank, title, and availability status always show when this is on.
— CONTROLLED SUBSTANCE
—
Current balance: —
⚖ WITNESS REQUIRED
For administer/waste, a second user (Doc, Flight Chief, or Flight Commander) must verify by entering their email and PIN. Cannot be the same person as administering.
ADMINISTERING (you): —
TASK
⚠ REPORT A PROBLEM
Found a bug or something broken? Tell us what happened. Recent JavaScript errors will be attached automatically.