Discharge Planning Checklist
Overview
Assess discharge readiness by querying FHIR resources for pending orders, incomplete care plan tasks, unscheduled follow-ups, and unreconciled medications. Generate a structured checklist with pass/fail status for each CMS Condition of Participation discharge requirement. Calculate LACE readmission risk index. Create or update a discharge CarePlan resource with outstanding tasks.
FHIR Resources Used
| Resource | Purpose | Key Fields |
|---|---|---|
| ServiceRequest | Pending labs, imaging, consults | status, intent, code, authoredOn |
| CarePlan | Discharge plan with tasks | status, intent, activity, category |
| Appointment | Scheduled follow-ups | status, serviceType, start, participant |
| MedicationRequest | Active prescriptions for reconciliation | status, medicationCodeableConcept, dosageInstruction |
| MedicationStatement | Patient-reported medications | status, medicationCodeableConcept |
| Encounter | Current admission details | status, class, period, reasonCode |
| Condition | Active problems for discharge summary | clinicalStatus, code, onsetDateTime |
| Procedure | Completed procedures during stay | status, code, performedDateTime |
| Observation | Pending lab results | status, code, valueQuantity |
| DocumentReference | Patient education materials | type, status, content |
| DeviceRequest | DME orders | status, codeCodeableConcept, intent |
Instructions
Step 1: Retrieve Current Encounter
Tool: fhir_search
resourceType: "Encounter"
queryParams: "patient=[patient-id]&status=in-progress&class=http://terminology.hl7.org/CodeSystem/v3-ActCode|IMP"
Extract: admission date from period.start, reason for admission from reasonCode, attending provider from participant. If no in-progress inpatient encounter found, search for status=finished with most recent date.
Step 2: Check Pending ServiceRequests
Tool: fhir_search
resourceType: "ServiceRequest"
queryParams: "patient=[patient-id]&status=active,draft&encounter=[encounter-id]"
Categorize pending requests:
- Lab orders:
category.coding.code= "108252007" (SNOMED: Laboratory procedure) - Imaging orders:
category.coding.code= "363679005" (SNOMED: Imaging) - Consult requests:
category.coding.code= "11429006" (SNOMED: Consultation) - Referrals:
category.coding.code= "3457005" (SNOMED: Patient referral)
Flag any active or draft ServiceRequest as a discharge blocker.
Step 3: Check Pending Lab Results
Tool: fhir_search
resourceType: "Observation"
queryParams: "patient=[patient-id]&status=preliminary,registered&category=laboratory"
Any Observation with status preliminary or registered indicates pending results. Flag as discharge blocker if ordered during current encounter.
Step 4: Verify Medication Reconciliation
Tool: fhir_search
resourceType: "MedicationRequest"
queryParams: "patient=[patient-id]&status=active&encounter=[encounter-id]"
Also retrieve:
Tool: fhir_search
resourceType: "MedicationStatement"
queryParams: "patient=[patient-id]&status=active"
Compare MedicationRequest (inpatient orders) against MedicationStatement (home medications):
- Identify new medications added during admission
- Identify home medications held or discontinued
- Flag unreconciled discrepancies (medication in one list but not addressed in the other)
- Check that discharge prescriptions exist for all intended outpatient medications
Step 5: Check Follow-up Appointments
Tool: fhir_search
resourceType: "Appointment"
queryParams: "patient=[patient-id]&status=booked,proposed&date=ge[today]"
Verify at minimum:
- PCP follow-up within 7 days (14 days acceptable for low-risk)
- Specialist follow-up if condition warrants (e.g., cardiology after MI, surgery after procedure)
- Lab recheck appointment if indicated
Flag as incomplete if no future appointments found.
Step 6: Review CarePlan for Discharge Tasks
Tool: fhir_search
resourceType: "CarePlan"
queryParams: "patient=[patient-id]&status=active&category=http://snomed.info/sct|58000006"
SNOMED 58000006 = Discharge planning. Check activity array for incomplete tasks. If no discharge CarePlan exists, create one in Step 9.
Step 7: Check Patient Education Documentation
Tool: fhir_search
resourceType: "DocumentReference"
queryParams: "patient=[patient-id]&type=http://loinc.org|69981-9&date=ge=[admission-date]"
LOINC 69981-9 = Patient education note. Verify education documented for:
- Primary diagnosis
- New medications (purpose, dosing, side effects)
- Activity restrictions
- Warning signs requiring return to ED
- Follow-up instructions
Step 8: Check DME and Home Health Orders
Tool: fhir_search
resourceType: "DeviceRequest"
queryParams: "patient=[patient-id]&status=active,draft&encounter=[encounter-id]"
Also check for home health referrals:
Tool: fhir_search
resourceType: "ServiceRequest"
queryParams: "patient=[patient-id]&category=http://snomed.info/sct|385763009&status=active,draft"
SNOMED 385763009 = Home health care. Verify all DME and home health orders have been placed, not just drafted.
Step 9: Calculate LACE Readmission Risk Index
Gather data for LACE score calculation:
- L (Length of stay): Calculate from
Encounter.period.startto today - A (Acuity of admission): Check if admission was via ED (
Encounter.hospitalization.admitSource) - C (Comorbidities): Count via Charlson comorbidity conditions from active Conditions
- E (ED visits): Count Encounter resources with
class= "EMER" in prior 6 months
Tool: fhir_search
resourceType: "Encounter"
queryParams: "patient=[patient-id]&class=http://terminology.hl7.org/CodeSystem/v3-ActCode|EMER&date=ge[6-months-ago]"
Score interpretation: 0-4 Low risk, 5-9 Moderate risk, 10+ High risk. See references/lace-index.md for detailed scoring.
Step 10: Generate or Update Discharge CarePlan
If CarePlan exists from Step 6:
Tool: fhir_update
resourceType: "CarePlan"
id: "[careplan-id]"
resource: {
"status": "active",
"intent": "plan",
"subject": { "reference": "Patient/[patient-id]" },
"encounter": { "reference": "Encounter/[encounter-id]" },
"category": [{ "coding": [{ "system": "http://snomed.info/sct", "code": "58000006", "display": "Discharge planning" }] }],
"activity": [
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "Pending lab results reviewed" } },
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "Medication reconciliation completed" } },
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "Follow-up appointments scheduled" } },
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "Patient education completed" } },
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "DME ordered" } },
{ "detail": { "status": "[completed|in-progress|not-started]", "description": "Home health referral placed" } }
]
}
If no CarePlan exists, use fhir_create with the same payload (omit id).
Step 11: Format Output
DISCHARGE READINESS CHECKLIST
==============================
Patient: [name] | MRN: [mrn] | Admission: [date] | LOS: [days] days
LACE Score: [score] ([Low/Moderate/High] readmission risk)
[PASS] / [FAIL] Pending Labs/Imaging
- [list pending items or "All results finalized"]
[PASS] / [FAIL] Medication Reconciliation
- New: [count] medications added
- Discontinued: [count] medications stopped
- Unreconciled: [count] discrepancies
[PASS] / [FAIL] Follow-up Appointments
- PCP: [date] with [provider] or "NOT SCHEDULED"
- Specialist: [date] with [provider] or "NOT SCHEDULED"
[PASS] / [FAIL] Patient Education
- [list topics documented or "NOT DOCUMENTED"]
[PASS] / [FAIL] DME Orders
- [list items or "No DME required" or "PENDING"]
[PASS] / [FAIL] Home Health Referral
- [status or "Not indicated" or "PENDING"]
OVERALL: [READY / NOT READY - X items require attention]
Examples
Example 1: Patient Ready for Discharge
User says: "Is patient 67890 ready for discharge?"
Actions:
fhir_searchEncounter?patient=67890&status=in-progress&class=IMP -- returns encounter E-100, admitted 3 days ago for pneumoniafhir_searchServiceRequest?patient=67890&status=active,draft&encounter=E-100 -- returns 0 (all orders completed)fhir_searchObservation?patient=67890&status=preliminary,registered&category=laboratory -- returns 0 (all results final)fhir_searchMedicationRequest?patient=67890&status=active&encounter=E-100 -- returns 3 inpatient medsfhir_searchMedicationStatement?patient=67890&status=active -- returns 5 home meds, all reconciledfhir_searchAppointment?patient=67890&status=booked&date=ge2024-01-15 -- returns PCP in 5 days, pulmonology in 14 daysfhir_searchCarePlan?patient=67890&status=active&category=58000006 -- returns active discharge plan, all activities completedfhir_searchDocumentReference?patient=67890&type=69981-9 -- returns education note for pneumonia, antibiotics- Calculate LACE: L=3, A=1 (ED admit), C=2, E=0 -- Score: 6 (Moderate)
Result:
DISCHARGE READINESS CHECKLIST
==============================
Patient: Robert Chen | MRN: 67890 | Admission: 2024-01-12 | LOS: 3 days
LACE Score: 6 (Moderate readmission risk)
[PASS] Pending Labs/Imaging - All results finalized
[PASS] Medication Reconciliation - 3 new (levofloxacin, guaifenesin, albuterol), 0 discontinued, 0 unreconciled
[PASS] Follow-up Appointments - PCP: 2024-01-20, Pulmonology: 2024-01-29
[PASS] Patient Education - Pneumonia care, antibiotics, return precautions documented
[PASS] DME Orders - No DME required
[PASS] Home Health Referral - Not indicated
OVERALL: READY - All discharge criteria met
Example 2: Patient Not Ready -- Multiple Blockers
User says: "Run discharge checklist for patient abc-222"
Actions:
fhir_searchEncounter -- returns E-500, admitted 7 days ago for CHF exacerbationfhir_searchServiceRequest?status=active,draft -- returns 2: pending echocardiogram, pending cardiology consultfhir_searchObservation?status=preliminary -- returns 1: BNP result pendingfhir_searchMedicationRequest -- returns 6 inpatient medsfhir_searchMedicationStatement -- returns 4 home meds, 2 unreconciled (new carvedilol, dose change on furosemide)fhir_searchAppointment?status=booked -- returns 0 future appointmentsfhir_searchCarePlan -- returns plan with 2/6 activities completedfhir_searchDocumentReference -- returns 0 education documents- LACE: L=7, A=1, C=4 (CHF, DM, CKD, HTN), E=2 -- Score: 14 (High)
Result:
DISCHARGE READINESS CHECKLIST
==============================
Patient: Dorothy Williams | MRN: abc-222 | Admission: 2024-01-08 | LOS: 7 days
LACE Score: 14 (High readmission risk)
[FAIL] Pending Labs/Imaging
- Echocardiogram: ordered, not completed
- BNP (LOINC 42637-9): result pending
- Cardiology consult: requested, not completed
[FAIL] Medication Reconciliation
- New: carvedilol 12.5mg BID (not yet reconciled with home list)
- Changed: furosemide 20mg -> 40mg BID (dose change not documented)
- 2 unreconciled discrepancies
[FAIL] Follow-up Appointments
- PCP: NOT SCHEDULED
- Cardiology: NOT SCHEDULED
- Lab recheck (BMP for electrolytes): NOT SCHEDULED
[FAIL] Patient Education
- NOT DOCUMENTED (CHF self-management, daily weights, sodium restriction, medication changes)
[PASS] DME Orders - Home scale for daily weights ordered
[FAIL] Home Health Referral - PENDING (draft order exists, not finalized)
OVERALL: NOT READY - 5 items require attention
Troubleshooting
No Inpatient Encounter Found
- Patient may be in observation status. Search with
class=http://terminology.hl7.org/CodeSystem/v3-ActCode|OBSENCfor observation encounters. - Some systems use
status=plannedfor encounters not yet started. Broaden search:status=in-progress,planned,arrived.
ServiceRequest Search Returns Orders From Prior Encounters
- Always filter by
encounter=[encounter-id]to scope to current admission. - If encounter ID is unavailable, filter by
authored=ge[admission-date]to approximate.
Medication Reconciliation Shows False Discrepancies
- Some systems use MedicationRequest for both inpatient and outpatient orders. Check
intentfield:order= active prescription,plan= intended but not yet ordered. - Brand vs generic name mismatches are common. Compare by RxNorm code (
medicationCodeableConcept.codingwheresystem= "http://www.nlm.nih.gov/research/umls/rxnorm") rather than display text.
Related Skills
transition-of-care-summary-- generate the actual discharge/transfer document after checklist passesmedication-reconciliation-- detailed medication reconciliation workflowfollow-up-task-generator-- create Task resources for post-discharge follow-up items
Converted and distributed by TomeVault — claim your Tome and manage your conversions.