15 KiB
15 KiB
Rencana Implementasi Sistem Assessment FSA/CSA
Tanggal: 8 Juli 2025
Versi: 1.0
Status: Draft untuk Diskusi
1. Latar Belakang
1.1 Kebutuhan Assessment Plot
Setiap plot dalam sistem Happy Farmer perlu dilakukan assessment Farm Sustainability Assessment (FSA) dan Climate Smart Agriculture (CSA) untuk:
- Mengukur tingkat implementasi praktik pertanian berkelanjutan
- Mengevaluasi adopsi teknologi climate smart agriculture
- Memberikan rekomendasi peningkatan praktik pertanian
- Monitoring dan evaluasi program pembinaan petani
1.2 Scope Assessment
Assessment mencakup praktik-praktik berikut:
- Climate Smart Agriculture: Implementasi teknologi dan praktik pertanian cerdas iklim
- Agroforestry: Implementasi sistem agroforestri
- Organic Inputs: Penggunaan kompos, mulch, dan input organik lainnya
- Natural Pest Management: Implementasi Pestisida Nabati (Pesnab)
- Sustainable Practices: Live poles, cover crops, intercropping
- Environmental Conservation: Praktik tanpa bakar, konservasi tanah dan air
- Dan lainnya: Total 100+ pertanyaan assessment
2. Analisis Kebutuhan Sistem
2.1 Karakteristik Assessment
- Volume Pertanyaan: 100+ pertanyaan per assessment
- Frekuensi: Assessment berkala per plot (seasonal/annual)
- Kompleksitas: Multiple question types (boolean, scale, multiple choice, text)
- Kategorisasi: Pertanyaan dikelompokkan berdasarkan praktik
- Scoring: Sistem penilaian otomatis dengan bobot berbeda
- Progress Tracking: Kemampuan menyimpan progress assessment
- Historical Data: Tracking perubahan/peningkatan dari waktu ke waktu
2.2 Stakeholder dan Use Cases
- Penyuluh/Admin: Membuat template assessment, menganalisis hasil
- Enumerator: Melakukan assessment di lapangan
- Petani: Melihat hasil dan rekomendasi assessment
- Management: Dashboard dan laporan agregat
3. Desain Arsitektur Model
3.1 Model Baru yang Dibutuhkan
3.1.1 AssessmentTemplate
model AssessmentTemplate {
id String @id @default(cuid())
name String // "FSA Template 2025", "CSA Baseline Assessment"
description String?
version String // "1.0", "2.1"
category String // "FSA", "CSA", "Combined"
totalQuestions Int // Total number of questions
maxScore Decimal // Maximum possible score
isActive Boolean @default(true)
createdBy String? // Admin who created
validFrom DateTime
validUntil DateTime?
// Relations
categories AssessmentCategory[]
assessments PlotAssessment[]
@@index([category])
@@index([isActive])
@@index([validFrom, validUntil])
@@map("assessment_templates")
}
3.1.2 AssessmentCategory
model AssessmentCategory {
id String @id @default(cuid())
templateId String
name String // "Climate Smart Agriculture", "Agroforestry"
description String?
weight Decimal // Weight for scoring (percentage)
orderIndex Int // Display order
// Relations
template AssessmentTemplate @relation(fields: [templateId], references: [id])
questions AssessmentQuestion[]
@@index([templateId])
@@index([orderIndex])
@@map("assessment_categories")
}
3.1.3 AssessmentQuestion
model AssessmentQuestion {
id String @id @default(cuid())
categoryId String
questionText String // The actual question
questionTextEn String? // English version
questionType QuestionType // BOOLEAN, SCALE, MULTIPLE_CHOICE, TEXT, NUMERIC
options String[] // For multiple choice
minValue Decimal? // For scale/numeric
maxValue Decimal? // For scale/numeric
weight Decimal // Question weight for scoring
orderIndex Int // Order within category
isRequired Boolean @default(true)
helpText String? // Additional guidance
// Relations
category AssessmentCategory @relation(fields: [categoryId], references: [id])
responses AssessmentResponse[]
@@index([categoryId])
@@index([orderIndex])
@@map("assessment_questions")
}
3.1.4 PlotAssessment
model PlotAssessment {
id String @id @default(cuid())
assessmentCode String @unique // "FSA-2025-001"
plotId String
templateId String
farmerId String // Who owns the plot
// Assessment execution
conductedBy String // Enumerator/Admin ID
conductedAt DateTime
startedAt DateTime @default(now())
completedAt DateTime?
// Progress and status
status AssessmentStatus @default(IN_PROGRESS)
progress Decimal @default(0) // Percentage completed
totalQuestions Int
answeredQuestions Int @default(0)
// Scoring
totalScore Decimal? // Final score
maxScore Decimal // Maximum possible score
scorePercentage Decimal? // Score as percentage
// Categorized scores
categoryScores Json? // {"climate_smart": 85, "agroforestry": 70}
// Assessment metadata
season String? // "Wet Season 2025"
weatherConditions String?
assessmentNotes String?
// Photo documentation
photoUrls String[] // Photos taken during assessment
gpsCoordinates Json? // Where assessment was conducted
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// Relations
plot Plot @relation(fields: [plotId], references: [id])
template AssessmentTemplate @relation(fields: [templateId], references: [id])
farmer Farmer @relation(fields: [farmerId], references: [id])
responses AssessmentResponse[]
recommendations AssessmentRecommendation[]
@@index([plotId])
@@index([farmerId])
@@index([templateId])
@@index([conductedAt])
@@index([status])
@@index([scorePercentage])
@@map("plot_assessments")
}
3.1.5 AssessmentResponse
model AssessmentResponse {
id String @id @default(cuid())
assessmentId String
questionId String
// Response data (flexible to accommodate different question types)
booleanValue Boolean?
numericValue Decimal?
textValue String?
selectedOptions String[] // For multiple choice
// Scoring
points Decimal @default(0) // Points earned for this response
maxPoints Decimal // Maximum points possible
// Metadata
answeredAt DateTime @default(now())
notes String? // Additional notes from enumerator
// Relations
assessment PlotAssessment @relation(fields: [assessmentId], references: [id])
question AssessmentQuestion @relation(fields: [questionId], references: [id])
@@unique([assessmentId, questionId]) // One response per question per assessment
@@index([assessmentId])
@@index([questionId])
@@map("assessment_responses")
}
3.1.6 AssessmentRecommendation
model AssessmentRecommendation {
id String @id @default(cuid())
assessmentId String
category String // "Agroforestry", "Composting"
priority Priority // HIGH, MEDIUM, LOW
title String // "Implementasi Sistem Agroforestri"
description String // Detailed recommendation
actionItems String[] // Specific action steps
// Implementation support
trainingNeeded Boolean @default(false)
trainingTopics String[] // Related training topics
estimatedCost Decimal? // Estimated implementation cost
timeframe String? // "1-3 months", "Next season"
// Status tracking
status RecommendationStatus @default(PENDING)
implementedAt DateTime?
implementedBy String? // Farmer who implemented
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// Relations
assessment PlotAssessment @relation(fields: [assessmentId], references: [id])
@@index([assessmentId])
@@index([category])
@@index([priority])
@@index([status])
@@map("assessment_recommendations")
}
3.2 Enums yang Dibutuhkan
enum QuestionType {
BOOLEAN // Yes/No questions
SCALE // 1-5 scale, 1-10 scale
MULTIPLE_CHOICE // Select from options
TEXT // Open text response
NUMERIC // Numeric input
}
enum AssessmentStatus {
DRAFT // Template being prepared
IN_PROGRESS // Assessment started but not completed
COMPLETED // Assessment finished
REVIEWED // Assessment reviewed by supervisor
ARCHIVED // Old assessment archived
}
enum RecommendationStatus {
PENDING // Recommendation given
IN_PROGRESS // Farmer implementing
COMPLETED // Successfully implemented
DEFERRED // Implementation postponed
NOT_APPLICABLE // No longer relevant
}
4. Kategori Assessment Detail
4.1 Climate Smart Agriculture (CSA)
- Teknologi Adaptasi Iklim: Penggunaan varietas tahan kekeringan/banjir
- Sistem Irigasi Efisien: Drip irrigation, water harvesting
- Weather-based Farming: Penggunaan informasi cuaca untuk planning
- Carbon Sequestration: Praktik yang meningkatkan penyimpanan karbon
4.2 Agroforestry
- Tree Integration: Jenis dan jumlah pohon dalam sistem pertanian
- Spatial Arrangement: Pola penanaman pohon dan tanaman
- Species Selection: Pemilihan spesies pohon yang sesuai
- Management Practices: Pemeliharaan sistem agroforestri
4.3 Organic Inputs & Soil Health
- Composting: Produksi dan penggunaan kompos
- Mulching: Aplikasi mulch organic
- Green Manure: Penggunaan pupuk hijau
- Soil Testing: Regularity of soil health monitoring
4.4 Natural Pest Management (Pesnab)
- Botanical Pesticides: Penggunaan pestisida nabati
- Biological Control: Predator/parasitoid management
- Trap Crops: Penggunaan tanaman perangkap
- IPM Implementation: Integrated Pest Management practices
4.5 Sustainable Practices
- Live Poles: Penggunaan tiang hidup
- Cover Crops: Implementasi cover crops
- Intercropping: Sistem tumpang sari
- Crop Rotation: Rotasi tanaman
4.6 Environmental Conservation
- No Burning: Praktik tanpa pembakaran
- Water Conservation: Konservasi air dan tanah
- Biodiversity: Pemeliharaan keanekaragaman hayati
- Waste Management: Pengelolaan limbah pertanian
5. Integrasi dengan Sistem Existing
5.1 Relasi dengan Model Plot
// Tambahan di model Plot
model Plot {
// ... existing fields
assessments PlotAssessment[] // New relation
}
5.2 Relasi dengan Model Farmer
// Tambahan di model Farmer
model Farmer {
// ... existing fields
plotAssessments PlotAssessment[] // New relation
}
5.3 Integrasi dengan Training System
- Assessment results trigger training recommendations
- Training completion updates assessment scores
- Link antara assessment gaps dan training needs
5.4 Integrasi dengan Financial Records
- Track implementation costs for recommendations
- ROI calculation for sustainable practices
- Cost-benefit analysis
6. Implementation Roadmap
6.1 Phase 1: Core Assessment System (Month 1-2)
- Create basic assessment models
- Implement template management
- Basic question types (Boolean, Scale)
- Simple scoring system
6.2 Phase 2: Advanced Features (Month 3-4)
- Complex question types (Multiple choice, Text)
- Progress saving and resume
- Photo documentation
- Basic recommendations engine
6.3 Phase 3: Analytics & Integration (Month 5-6)
- Historical trend analysis
- Training system integration
- Advanced recommendation algorithms
- Dashboard and reporting
6.4 Phase 4: Mobile & Optimization (Month 7-8)
- Mobile app optimization
- Offline assessment capability
- Performance optimization
- Advanced analytics
7. Considerations & Discussion Points
7.1 Technical Considerations
- Performance: 100+ questions per assessment, multiple farmers
- Storage: Photo documentation storage strategy
- Offline Capability: Assessment in areas with poor connectivity
- Data Migration: Handling template versions and historical data
7.2 Business Logic Considerations
- Scoring Algorithm: How to weight different practices fairly
- Recommendation Engine: Automated vs manual recommendations
- Validation Rules: Ensuring data quality and consistency
- Access Control: Who can view/edit assessment results
7.3 User Experience Considerations
- Assessment Duration: Breaking long assessments into manageable sections
- Language Support: Multilingual support for questions
- Mobile Interface: Touch-friendly assessment interface
- Progress Indicators: Clear indication of completion status
7.4 Integration Considerations
- Training System: How assessment results trigger training
- Financial System: Tracking implementation costs
- Reporting System: Management dashboards and analytics
- External Systems: Integration with government reporting
8. Risk Assessment
8.1 Technical Risks
- High: Complex scoring algorithms may have bugs
- Medium: Performance issues with large datasets
- Low: Data migration challenges
8.2 Business Risks
- High: Assessment too long/complex for field use
- Medium: Recommendations not actionable
- Low: Integration disrupts existing workflows
8.3 Mitigation Strategies
- Prototype with small user group
- Phased rollout with feedback collection
- Comprehensive testing of scoring algorithms
- Training for enumerators
9. Success Metrics
9.1 System Metrics
- Assessment completion rate > 90%
- Average assessment time < 45 minutes
- Data quality score > 95%
- System performance < 3 seconds response time
9.2 Business Metrics
- Farmer engagement with recommendations > 70%
- Improvement in assessment scores over time
- Training completion rate for recommended topics
- ROI on implemented recommendations
10. Next Steps
10.1 Immediate Actions
- Validate Requirements: Review with subject matter experts
- Prototype Core Models: Build basic assessment structure
- Design Sample Questions: Create representative question set
- Test Scoring Logic: Validate scoring algorithms
10.2 Stakeholder Reviews
- Technical team review of data models
- Field team review of assessment workflow
- Business team review of scoring methodology
- Farmer representative feedback on questions
10.3 Decision Points
- Finalize question categorization and weighting
- Determine assessment frequency and triggers
- Define integration points with existing systems
- Establish data governance and access policies
Catatan: Dokumen ini merupakan draft awal yang memerlukan diskusi lebih lanjut dengan tim teknis dan business untuk finalisasi requirements dan approach implementasi.