Newborn Pediatric Physical Exam Course - README
Newborn Pediatric Physical Exam Course - README
Overview
This interactive course teaches the newborn physical exam through visual learning and AI-powered clinical reasoning assessment. Students analyze clinical images and scenarios, then receive detailed feedback on their diagnostic and decision-making skills.
Course Structure
5 Modules, 15 Exercises, ~5 Hours Total
- Module 1: General Assessment & Vital Signs (45 min, Beginner)
- APGAR scoring
- Vital signs interpretation
- General appearance assessment
- Module 2: Head, Eyes, Ears, Nose, Throat (60 min, Beginner)
- Cranial findings (caput, cephalohematoma, fontanelles)
- Eye exam and red reflex
- Oral cavity findings
- Module 3: Cardiovascular & Respiratory (60 min, Intermediate)
- Heart murmur assessment
- Respiratory distress recognition
- Cyanosis evaluation
- Module 4: Abdomen, GU, & Musculoskeletal (60 min, Intermediate)
- Abdominal exam findings
- Hip dysplasia screening
- Extremity and spine assessment
- Module 5: Skin & Neurological (75 min, Advanced)
- Newborn skin findings
- Primitive reflexes
- Tone and neurological exam
File Structure
PhysicianPromptEngineering/
├── newborn-exam-course.md # Main course landing page
├── _course_modules/
│ ├── newborn-module-1-general-assessment.md
│ ├── newborn-module-2-heent.md
│ ├── newborn-module-3-cardiac-respiratory.md
│ ├── newborn-module-4-abdomen-msk.md
│ └── newborn-module-5-skin-neuro.md
├── _data/
│ ├── newborn_exam_exercises.yml # Exercise configurations
│ └── newborn_exam_scenarios.yml # Clinical scenarios and cases
├── assets/js/
│ └── newborn-exam-exercise.js # Exercise evaluation engine
└── docs/
├── newborn-exam-image-sources.md # Image attribution & sourcing
├── newborn-exam-evaluation-prompts.md # LLM evaluation system
└── NEWBORN-EXAM-COURSE-README.md # This file
Technical Architecture
Frontend
- Jekyll static site with Markdown content
- Responsive HTML/CSS for module pages
- JavaScript exercise system for interactivity
- Browser-based LLM for evaluation (MLC Web LLM)
AI Evaluation
- Model: Llama-3.1-8B-Instruct (quantized for browser use)
- First load: ~2GB download (cached afterward)
- Privacy: All processing in-browser, no data sent to servers
- Evaluation: Clinical reasoning, finding identification, management decisions
Data Files
- YAML format for exercises and scenarios
- Jekyll integration converts YAML to JSON for JavaScript
- Modular design allows easy content updates
How to Add New Exercises
Step 1: Create Clinical Scenario
Add to _data/newborn_exam_scenarios.yml:
your_new_scenario:
title: "Descriptive Title"
difficulty: "beginner|intermediate|advanced"
scenario: |
Clinical case description...
Patient demographics...
Examination findings...
expected_findings: |
Correct interpretation...
Teaching points...
image_needed:
type: "Description of image needed"
source: "Where to find it"
license: "Required license type"
Step 2: Create Exercise Configuration
Add to _data/newborn_exam_exercises.yml:
your_new_exercise:
id: "unique_id"
title: "Exercise Title"
module: 1-5
difficulty: "beginner|intermediate|advanced"
estimated_time: "X minutes"
scenario: "your_new_scenario"
goal: "Learning objective for this exercise"
instructions: |
What the student should do...
rubric:
criteria:
- name: "Criterion Name"
points: 3
description: "What this evaluates"
- name: "Another Criterion"
points: 2
description: "What this evaluates"
total_points: 10
passing_score: 7
hints:
- "Helpful hint 1"
- "Helpful hint 2"
Step 3: Add Exercise to Module Page
In the appropriate module file (_course_modules/newborn-module-X-*.md), add exercise HTML:
<div class="course-exercise" id="your_exercise_id">
<div class="exercise-header">
<h3 class="exercise-title">Exercise Title</h3>
<div class="exercise-meta">
<span class="exercise-difficulty difficulty-beginner">Beginner</span>
<span class="exercise-time">⏱ 15 minutes</span>
</div>
</div>
<div class="llm-status">Ready to start</div>
<div class="exercise-goal">
<h3>🎯 Your Challenge</h3>
<p>Exercise goal description...</p>
</div>
<details class="exercise-transcript">
<summary>📋 View Clinical Scenario</summary>
<div class="transcript-content" id="transcript-content-your-id">Loading...</div>
</details>
<div class="exercise-editor">
<label for="student-prompt-your-id">✍️ Your Assessment:</label>
<textarea id="student-prompt-your-id" class="student-prompt" rows="12"
placeholder="Assessment guidance..."></textarea>
<div class="editor-hints">
💡 Tip: Helpful tip for students
</div>
<div class="hint-display"></div>
<div class="error-message"></div>
<button class="btn-run-exercise">Submit Assessment</button>
<button class="btn-hint">Get Hint</button>
</div>
<!-- Output, feedback, and progress sections follow same pattern -->
</div>
<script>
(function() {
const scenarios = window.newbornScenarios;
const exercises = window.newbornExercises;
if (!scenarios || !exercises) return;
const exerciseConfig = exercises.your_new_exercise;
const scenario = scenarios[exerciseConfig.scenario];
document.getElementById('transcript-content-your-id').textContent = scenario.scenario;
const exercise = new NewbornExercise('your_exercise_id', {
...exerciseConfig,
scenario: scenario.scenario,
expectedFindings: scenario.expected_findings
});
})();
</script>
How to Add Clinical Images
Image Sourcing Process
- Identify needed images from
docs/newborn-exam-image-sources.md - Search approved sources:
- Wikimedia Commons
- CDC Public Health Image Library
- NIH MedPix
- OpenPediatrics
-
Verify license: CC0, CC-BY, or Public Domain only
- Download and optimize:
# Resize to max 1200px width # Compress to <500KB # Save as JPEG or PNG - Add to repository:
assets/images/newborn-exam/ ├── module-1/ ├── module-2/ └── ... - Document attribution in
newborn-exam-image-sources.md:**Image**: Caput Succedaneum **Source**: https://commons.wikimedia.org/wiki/File:... **Author**: [Author name] **License**: CC-BY-SA 4.0 **Modifications**: Cropped for educational focus **Attribution**: "Image by [Author], CC-BY-SA 4.0, via Wikimedia Commons" - Add to module page:
<div class="clinical-image"> <img src="/assets/images/newborn-exam/module-2/caput-succedaneum.jpg" alt="Newborn head showing caput succedaneum - diffuse scalp swelling crossing suture lines" loading="lazy"> <p class="image-attribution"> Image: <a href="source-url">Caput Succedaneum</a> by Author Name, <a href="license-url">CC-BY-SA 4.0</a> </p> </div>
Image Accessibility
Always include:
- Descriptive alt text (what the image shows clinically)
- Figure captions explaining the finding
- Attribution per license requirements
Customizing LLM Evaluation
Modify Evaluation Criteria
Edit rubric in _data/newborn_exam_exercises.yml:
rubric:
criteria:
- name: "Finding Identification"
points: 4
description: "Accurately identifies the clinical finding"
- name: "Clinical Significance"
points: 3
description: "Understands importance and implications"
- name: "Management"
points: 2
description: "Appropriate next steps"
- name: "Parent Communication"
points: 1
description: "Clear, empathetic counseling"
total_points: 10
passing_score: 7
Adjust Evaluation Prompts
The evaluation logic is in assets/js/newborn-exam-exercise.js in the evaluateAssessment() method. Key parameters:
- Temperature: Currently 0.3 (lower = more consistent grading)
- Max tokens: 1000 (allows detailed feedback)
- Rubric weight: Adjust point distribution per criterion
Add Custom Feedback
Modify the evaluation prompt template to emphasize specific teaching points:
const evaluationPrompt = `You are an expert pediatrician...
SPECIAL EMPHASIS FOR THIS EXERCISE:
- [Add specific teaching points to emphasize]
- [Safety concerns to flag]
- [Common mistakes to watch for]
...rest of prompt...`;
Deployment
Local Development
# Install Jekyll
gem install jekyll bundler
# Navigate to project directory
cd PhysicianPromptEngineering
# Install dependencies
bundle install
# Run local server
bundle exec jekyll serve
# Open browser to http://localhost:4000
Production Deployment
This course is designed for Jekyll-based static site hosting (GitHub Pages, Netlify, etc.).
Build:
bundle exec jekyll build
Deploy the _site/ directory to your hosting platform.
Important Notes
- WebGPU requirement: Users need Chrome/Edge 113+ with WebGPU support
- First load: ~2GB model download (one-time, then cached)
- Browser storage: Progress saved to localStorage
- No backend required: Fully client-side application
Troubleshooting
Common Issues
“WebGPU not supported”
- User needs Chrome 113+ or Edge 113+
- WebGPU must be enabled (chrome://flags)
- Some older devices don’t support WebGPU
“Model failed to load”
- Check internet connection (first load only)
- Clear browser cache and retry
- Verify ~2GB free disk space
“Exercise won’t submit”
- Ensure AI is initialized (button at top of module)
- Check browser console for errors
- Verify YAML data is valid JSON
Images not displaying
- Check file paths in HTML
- Verify images exist in assets/images/
- Check image file permissions
Debug Mode
Enable debug logging:
// In browser console
localStorage.setItem('newborn_exam_debug', 'true');
location.reload();
Content Guidelines
Clinical Accuracy
- All content reviewed by board-certified pediatricians
- Based on AAP (American Academy of Pediatrics) guidelines
- Evidence-based management recommendations
- Updated annually or as guidelines change
Educational Approach
- Competency-based: Focus on skills mastery
- Formative feedback: Learn from mistakes
- Spaced repetition: Encourage multiple attempts
- Active learning: Case-based, not passive reading
Inclusivity & Sensitivity
- Use diverse patient examples
- Culturally sensitive language
- Respectful image selection
- Accessible design (WCAG 2.1 AA)
Future Enhancements
Planned Features
- Video demonstrations of exam techniques
- Interactive image annotations
- Difficulty adaptive exercises
- Peer comparison (anonymized)
- Certificate of completion
- Mobile app version
- Expanded case library
- Multi-language support
Contributing
Contributions welcome! Please see main project CONTRIBUTING.md for:
- Code style guidelines
- Pull request process
- Content submission guidelines
- Review criteria
License
Course Content
- Licensed under CC-BY-SA 4.0
- Attribution required
- Share-alike requirement
Code
- MIT License
- Free to use and modify
- Attribution appreciated
Images
- Individually licensed (see image-sources.md)
- Follow attribution requirements per image
- Do not remove watermarks or credits
Support & Contact
Getting Help
- Documentation: Check docs/ folder
- Issues: GitHub Issues for bug reports
- Discussions: GitHub Discussions for questions
- Email: [Project maintainers]
Citing This Course
Newborn Pediatric Physical Exam Course. (2025).
Physician Prompt Engineering Project.
Retrieved from https://github.com/YourOrg/PhysicianPromptEngineering
Acknowledgments
- Medical reviewers: [Names/affiliations]
- Image contributors: See image-sources.md
- Technology: MLC AI team for Web LLM
- Community: Contributors and testers
Version: 1.0 Last Updated: 2025-11-18 Maintained By: Physician Prompt Engineering Project Status: Beta - Core structure complete, images pending