progress-note-writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited progress-note-writer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate structured daily inpatient progress notes by pulling 24-hour data windows from FHIR resources. Assemble vitals trends, intake and output, laboratory results, imaging results, medication changes, and overnight events into a problem-oriented format. Include standing order status for DVT prophylaxis, GI prophylaxis, diet, activity level, and code status. Flag critical values and significant changes from prior day.
| Resource | Purpose | Key Fields |
|---|---|---|
| Encounter | Admission context, hospital day calculation | period.start, status, class |
| Patient | Demographics for note header | name, birthDate, gender, identifier |
| Observation | Vitals, labs, I&O, Glasgow score | code, value[x], effectiveDateTime, category |
| MedicationRequest | Active medications, new orders, changes | medicationCodeableConcept, status, authoredOn, dosageInstruction |
| MedicationAdministration | Medications actually given in 24h | medicationCodeableConcept, effectiveDateTime, dosage |
| DiagnosticReport | Imaging, pathology results | code, conclusion, effectiveDateTime, result |
| Condition | Active problem list for assessment | code, clinicalStatus |
| Procedure | Procedures in last 24h | code, performedDateTime, status |
| CarePlan | Diet, activity, DVT/GI prophylaxis | category, activity, status |
Tool: fhir_read
resourceType: "Encounter"
id: "[encounter-id]"Calculate hospital day: (today - period.start) + 1. Extract admitting diagnosis from reasonCode.
If encounter ID unknown:
Tool: fhir_search
resourceType: "Encounter"
queryParams: "patient=[patient-id]&class=IMP&status=in-progress&_sort=-date&_count=1"Tool: fhir_read
resourceType: "Patient"
id: "[patient-id]"Define the 24-hour window: [today 00:00] to [now], or [yesterday same-time] to [now].
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&category=vital-signs&date=ge[24h-ago]&_sort=date&_count=100"Present as trends:
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&code=http://loinc.org|9187-6&date=ge[24h-ago]"LOINC codes for I&O:
code=http://loinc.org|9192-6Calculate net fluid balance. Flag if net positive > 1L or net negative > 2L.
If I&O Observations not available, note: "I&O data not captured in structured FHIR observations -- obtain from nursing flowsheet."
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&category=laboratory&date=ge[24h-ago]&_sort=-date&_count=50"Group by panel. For each result:
Tool: fhir_search
resourceType: "DiagnosticReport"
queryParams: "patient=[patient-id]&date=ge[24h-ago]&_sort=-date"Extract conclusion or presentedForm text. If results reference Observation resources in result, follow references with fhir_read.
7a: Current active orders
Tool: fhir_search
resourceType: "MedicationRequest"
queryParams: "patient=[patient-id]&status=active&_count=100"7b: Medications administered in 24h
Tool: fhir_search
resourceType: "MedicationAdministration"
queryParams: "patient=[patient-id]&effective-time=ge[24h-ago]&_count=100"Identify:
authoredOn within window)status=stopped with authoredOn in window)Tool: fhir_search
resourceType: "Procedure"
queryParams: "patient=[patient-id]&date=ge[24h-ago]"Tool: fhir_search
resourceType: "Condition"
queryParams: "patient=[patient-id]&clinical-status=active"Search for prophylaxis orders:
DVT prophylaxis:
Tool: fhir_search
resourceType: "MedicationRequest"
queryParams: "patient=[patient-id]&status=active&code=http://www.nlm.nih.gov/research/umls/rxnorm|67108"RxNorm 67108 = enoxaparin. Also check: 11289 (heparin).
GI prophylaxis:
Tool: fhir_search
resourceType: "MedicationRequest"
queryParams: "patient=[patient-id]&status=active&code=http://www.nlm.nih.gov/research/umls/rxnorm|40790"RxNorm 40790 = pantoprazole. Also check: 29046 (famotidine).
If prophylaxis not found, flag as gap.
Diet and activity: Check CarePlan resources:
Tool: fhir_search
resourceType: "CarePlan"
queryParams: "patient=[patient-id]&status=active&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan"DAILY PROGRESS NOTE
====================
Patient: [name] | MRN: [mrn] | DOB: [dob] (Age: [age])
Date: [today] | Hospital Day #[n] | Admitting Dx: [diagnosis]
Service: [service] | Attending: [attending]
OVERNIGHT EVENTS
----------------
[Flag: "Obtain from nursing/overnight team if not in structured data"]
[Include any 24h procedures, code/rapid response events, new consults]
SUBJECTIVE
----------
[Flag: "Obtain from patient interview"]
Pain: [score from LOINC 72514-3 if available]
24-HOUR VITALS
--------------
Tmax: [max temp] | Tcurrent: [current]
HR: [range] ([current]) | BP: [range] ([current])
RR: [range] ([current]) | SpO2: [range]% on [O2 device]
INTAKE & OUTPUT (24h)
---------------------
Intake: [total] mL | Output: [total] mL | Net: [+/-] mL
[Flag if significantly positive or negative]
LABORATORIES
------------
[Panel groupings with trend arrows]
BMP: Na [val][trend] | K [val][trend] | Cr [val][trend] | BUN [val][trend] | Gluc [val][trend]
CBC: WBC [val][trend] | Hgb [val][trend] | Plt [val][trend]
[Additional labs]
[CRITICAL VALUES flagged]
IMAGING / STUDIES
-----------------
[From DiagnosticReport conclusions]
MEDICATIONS
-----------
Active Medications: [count]
New (24h): [list]
Changed (24h): [list]
Discontinued (24h): [list]
PRN Given: [list with frequency]
ASSESSMENT & PLAN (by problem)
------------------------------
1. [Primary problem] - [ICD-10]
- Status: [improving/stable/worsening based on objective data]
- Plan: [Flag: "Clinician input required"]
2. [Secondary problem] - [ICD-10]
- Status: [assessment]
- Plan: [Flag: "Clinician input required"]
STANDING ORDERS
---------------
DVT Prophylaxis: [medication or "NOT ORDERED - ACTION REQUIRED"]
GI Prophylaxis: [medication or "Not indicated" or "NOT ORDERED - verify"]
Diet: [from CarePlan or "Verify"]
Activity: [from CarePlan or "Verify"]
Code Status: [from Consent or "Verify"]
DISPOSITION
-----------
Estimated discharge: [if available from Encounter.hospitalization]
Barriers to discharge: [Flag: "Clinician input"]User says: "Write today's progress note for patient 67890, admitted for pneumonia."
Actions:
fhir_search Encounter for patient 67890, class=IMP, status=in-progress. Returns ENC-MED-300, admitted 2024-03-13, reasonCode="Community-acquired pneumonia". Today is 2024-03-15 = Hospital Day #3.fhir_read Patient/67890. Returns: Alice Chen, DOB 1965-07-22, Female.fhir_search Observation vital-signs 24h. Returns: Tmax 38.2C (overnight), Tcurrent 37.1C, HR 78-92 (current 82), BP 118-132/68-78, RR 16-20, SpO2 94-97% on 2L NC.fhir_search Observation I&O. Returns: Intake 2400mL, Output 1800mL, Net +600mL.fhir_search Observation laboratory 24h. Returns: WBC 11.2 (down from 15.8), procalcitonin 0.8 (down from 2.1), BMP normal.fhir_search DiagnosticReport 24h. Returns: CXR - "Right lower lobe consolidation, improved from prior."fhir_search MedicationRequest active. Returns: ceftriaxone 1g IV daily (day 3), azithromycin 500mg PO daily (day 3), enoxaparin 40mg SQ daily, pantoprazole 40mg IV daily, acetaminophen 650mg PO q6h PRN.fhir_search Condition active. Returns: CAP (J18.9), HTN (I10), T2DM (E11.9).Result:
DAILY PROGRESS NOTE
====================
Patient: Alice Chen | MRN: MRN-67890 | DOB: 1965-07-22 (Age: 58)
Date: 2024-03-15 | Hospital Day #3 | Admitting Dx: Community-acquired pneumonia
24-HOUR VITALS
Tmax: 38.2C (overnight) -> Tcurrent: 37.1C [IMPROVING - fever curve trending down]
HR: 78-92 (82) | BP: 118-132/68-78 | RR: 16-20 | SpO2: 94-97% on 2L NC
I&O: Intake 2400mL | Output 1800mL | Net +600mL
LABORATORIES
WBC: 11.2 [DOWN from 15.8 - improving]
Procalcitonin: 0.8 [DOWN from 2.1 - improving]
BMP: Within normal limits
IMAGING
CXR (today): RLL consolidation, improved from prior
ASSESSMENT & PLAN (by problem)
1. Community-acquired pneumonia (J18.9) - IMPROVING
- Fever curve trending down, WBC and procalcitonin improving, CXR improved
- Antibiotics: Ceftriaxone + Azithromycin day 3 of planned 5-day course
- Continue 2L NC, wean O2 as tolerated
2. Hypertension (I10) - STABLE
- BP within range on home medications
3. Type 2 diabetes (E11.9) - STABLE
- Monitor fingerstick glucose
STANDING ORDERS
DVT Prophylaxis: Enoxaparin 40mg SQ daily [ACTIVE]
GI Prophylaxis: Pantoprazole 40mg IV daily [ACTIVE]
Diet: Verify
Activity: Verify
Code Status: VerifyUser says: "Progress note for patient pt-444, POD 1 from appendectomy."
Actions:
fhir_search Encounter for pt-444, IMP, in-progress. Returns ENC-SURG-88, admitted 2024-03-14.fhir_read Patient/pt-444. Returns: David Kim, DOB 2000-01-15, Male.fhir_search Procedure 24h. Returns: Laparoscopic appendectomy, completed 2024-03-14.fhir_search Observation vital-signs 24h. Returns: Tmax 37.8C, current normal, HR 70-85, BP normal, SpO2 99% RA.fhir_search Observation laboratory 24h. Returns: WBC 9.8 (down from 18.2 pre-op), BMP normal.fhir_search MedicationRequest active + MedicationAdministration 24h. Returns: ketorolac 15mg IV q6h, ondansetron 4mg IV q8h PRN (given x1), enoxaparin 40mg SQ daily, cefazolin 2g IV (single dose, perioperative).Result: Progress note with POD 1 framing, surgical site assessment flagged for clinician input, diet advancement plan, ambulation status, drain output if applicable, discharge criteria checklist.
status=active for the medication list.DiagnosticReport.result references to individual Observation resources using fhir_read.DiagnosticReport.presentedForm for full text attachments.history-and-physical-generator - For the initial admission documentationsoap-note-generator - For outpatient encounter documentationdischarge-summary-writer - For discharge documentation when the patient is readycritical-value-alert-generator - For flagging critical lab values found during note assembly~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.