-
Notifications
You must be signed in to change notification settings - Fork 524
Expand file tree
/
Copy pathDMP_2026.yml
More file actions
379 lines (366 loc) · 15.1 KB
/
DMP_2026.yml
File metadata and controls
379 lines (366 loc) · 15.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
name: DMP 2026 Project Template
description: List a new project for Dedicated Mentoring Program (DMP) 2026
title: "[DMP 2026]: Bahmni Patient Portal"
labels: ["DMP 2026"]
body:
- type: textarea
id: ticket-description
validations:
required: true
attributes:
label: Ticket Contents
value: |
## Description
[Bahmni is a widely-deployed open-source hospital information system used across low-resource healthcare settings in India and globally. Currently, patients have no direct digital interface to engage with their own health data — all interactions are mediated through clinical staff.
This project aims to build a mobile-first, responsive Patient Portal for Bahmni that converts finalized UI/UX designs into a fully functional application. The portal will empower patients to access their medical records, view appointments, track prescriptions, and receive lab results — all through an interface that works seamlessly on smartphones as well as desktop/laptop computers.
The application will integrate with Bahmni's existing APIs and FHIR-compatible endpoints to surface real patient data in a secure, accessible, and intuitive interface. The end goal is a production-ready portal that can be deployed alongside any standard Bahmni instance with minimal configuration.]
- type: textarea
id: ticket-goals
validations:
required: true
attributes:
label: Goals & Mid-Point Milestone
description: List the goals of the feature. Please add the goals that must be achieved by Mid-point check-in i.e 1.5 months into the coding period.
value: |
## Goals
- [ ] [Goal 1] Authentication module — Mobile OTP login, Email + Password login, Patient ID login, Google login, new patient registration (name, DOB, phone, email, password), and Forgot Password flow.
- [ ] [Goal 2] Home Dashboard — Personalized greeting, upcoming appointment widget (with Cancel / Reschedule actions), latest visit summary card, and Book Appointment entry point with bottom navigation bar (Home, Records, My Appointments, Profile).
- [ ] [Goal 3] Records module — Visit list grouped by type (OPD, IPD, Emergency), visit detail view showing Blood Test Reports, Prescriptions, and Discharge Summaries with generated/uploaded timestamps, and advanced filter panel (filter by Visit Type, Visit Date with This Week / Last 30 Days / Last 90 Days / custom date-range picker with calendar, month, and year selectors, and Type of Record).
- [ ] [Above Goals To Be Achieved By Mid-point Milestone]
- [ ] [Goal 4] My Appointments module — Tabbed view (Upcoming / Completed / Missed / Cancelled), appointment cards with doctor details and consultation fee, Cancel with confirmation dialog, Reschedule flow, and "Book Again" action on cancelled appointments.
- [ ] [Goal 5] Book Appointment flow — Search by Doctor or Speciality; speciality browsing grid; upload prescription option; doctor search results; weekly availability calendar with slot picker; and booking confirmation screen
- [ ] [Goal 6] Profile module — Profile setup onboarding (Name, Age, Gender, DOB), profile page with Patient ID, family member list with switch-patient support, Add Family Member flow, Insurance Details, and Sign Out
- type: textarea
id: ticket-setup
attributes:
label: Setup/Installation
description: Please list or link setup or installation guide (if any)
- type: textarea
id: ticket-expected-outcome
attributes:
label: Expected Outcome
description: A fully functional, production-ready Patient Portal web application that:
- Renders correctly and is touch-friendly on mobile and scales to tablet and desktop browsers
- Supports three login methods (Mobile OTP, Email/Password, Patient ID) plus Google auth, and a full patient registration flow
- Displays a personalized dashboard with upcoming appointments and latest visit summary
- Lets patients browse all their visits (OPD, IPD, Emergency) and view associated Blood Test Reports, Prescriptions, and Discharge Summaries, with date/type filtering
- Shows all appointments across Upcoming, Completed, Missed, and Cancelled tabs with cancel, reschedule, and rebook actions
- Provides a full doctor discovery and appointment booking flow — search, filter, view doctor profiles, pick slots, and confirm
- Manages patient profile and linked family members, with seamless switching between family member health records
- type: textarea
id: ticket-acceptance-criteria
attributes:
label: Acceptance Criteria
description:
- All 30 screens from the provided Figma designs are implemented with fidelity across mobile, tablet, and desktop
- All three login methods (Mobile OTP, Email/Password, Patient ID) authenticate successfully against Bahmni APIs; unauthenticated routes redirect to login
- Google login works via OAuth
- Patient registration form validates all fields and creates an account via Bahmni API
- Dashboard displays real upcoming appointments and latest visit data; no hardcoded mock data in production builds
- Records filter panel correctly filters by Visit Type (OPD/IPD/Emergency/Follow-up), all date presets (This Week, Last 30 Days, Last 90 Days), custom date range via calendar/month/year pickers, and Type of Record (Reports, Prescription, Discharge Summary)
- Individual documents (Blood Test Report, Prescription/Medication Details, Discharge Summary) are viewable within the app with generated-on and uploaded-on timestamps
- Family member switcher correctly loads the selected member's records and appointments
- My Appointments tabs (Upcoming/Completed/Missed/Cancelled) display the correct appointments for each state
- Cancel appointment shows a confirmation dialog before cancelling; cancelled appointments show "Book Again"
- Doctor profile page shows weekly availability calendar with available slot counts
- Booking confirmation screen displays correct doctor, date/time, and hours
- Bottom navigation (Home, Records, My Appointments, Profile) is accessible and active-state correct on all pages
- Application loads initial view in under 3 seconds on a 3G mobile connection
- type: textarea
id: ticket-implementation-details
validations:
required: true
attributes:
label: Implementation Details
description: List any technical details about the proposed implementation, including any specific technologies that will be used.
- **Frontend**: React.js (TypeScript) built as a Progressive Web App (PWA) — works on mobile browsers and installs like an app; scales to tablet and desktop without a separate codebase
- **Styling**: Tailwind CSS with a mobile-first approach — ensures the UI renders correctly across screen sizes
- **API Integration**: Bahmni REST APIs and FHIR R4 endpoints for patient data, appointments, prescriptions, and clinical documents
- **Authentication**: SMS OTP (via gateway such as MSG91/Twilio), Email + Password, and Google OAuth
- **Deployment**: Docker container deployable alongside a standard Bahmni instance with minimal configuration
- **Reference Designs**: Figma designs provided (30 screens) — contributor implements UI from these designs
- **Testing**: Jest + React Testing Library for unit and component tests
- **Hosting**: Open-source repository under the Bahmni GitHub org
- type: textarea
id: ticket-mockups
attributes:
label: Mockups/Wireframes
description: Include links to any visual aids, mockups, wireframes, or diagrams that help illustrate what the final product should look like. This is not always necessary, but can be very helpful in many cases.
https://www.figma.com/design/K5kK6DDHePjSZ7izkGPJDD/Bahmni-Patient-Portal?node-id=192-3836&p=f&t=Pzjq3WbzgcYFL1ag-0
- type: input
id: ticket-product
attributes:
label: Product Name
placeholder: Bahmni Patient Portal
validations:
required: true
- type: dropdown
id: ticket-organisation
attributes:
label: Organisation Name
description: Thoughtworks
multiple: false
options:
- Agami
- Argusoft
- ARMMAN
- Avanti Fellows
- Bandhu
- Beckn
- Belongg
- Blockster Global (CREDBEL)
- Blockster Labs / AyanWorks
- CBoard
- CHAOSS
- CHAOSS Africa + GWU
- Civis
- ConveGenius
- Consul Democracy
- COSS
- CranberryFit
- Development Gateway
- DHIS2
- Dhiway
- Dhwani
- Digital Green
- Digital India
- Dimagi
- Drupal
- Education Initiative
- eGov
- EkShop Marketplace
- FIDE
- FinternetLabs
- Flywheel
- GovDirectory
- Haqdarshak
- Healthsites.io
- IDinsight
- If Me
- IIIT Delhi
- IIT Bombay
- IIT Delhi
- Impactyaan
- Indus Action
- Intel Health
- Key Education Foundation
- Khushi Baby
- Learning Economy
- Linux Foundation
- Mecha Systems
- Medic Mobile
- Medtronic Labs
- MetaBrainz
- Mifos
- Mojaloop
- MOSIP
- NASSCOM Foundation
- NHA
- NIUA
- Norwegian Meteorological Institute
- NSUT x SEETA x AIC
- ONDC
- ONEST
- Open Healthcare Network
- OpenCRVS
- OpenFn
- OpenIMIS
- OpenMRS
- OpenSPP
- Piramal Swasthya
- Planet Read
- Policy Engine
- Pratham Books
- Project Second Chance
- Project Tech4Dev
- Protean
- RCTS-IIITH
- Reap Benefit
- Resolve to Save Lives
- Rocket Learning
- Rumsan
- Sahamati
- SamagraX
- Samanvay Foundation
- Sampatti Card
- Sanketika
- ShikshaLokam
- SimPPL
- Sugar Labs
- Swasth Alliance
- Swecha
- Tarento
- Tattle
- Tech4Dev
- Tekdi
- The Apprentice Project
- The Mifos Initiative
- Thoughtworks
- Tibil
- TinkerHub
- Trustin
- Tuner Labs
- TYCIA
- UNICEF
- United Nations
- Ushahidi
- Win Over Cancer
- WRI
- Zendalona
- Zenysis
- Arghyam
validations:
required: true
- type: dropdown
id: ticket-governance-domain
attributes:
label: Domain
options:
- Healthcare
- Education
- Financial Inclusion
- Livelihoods
- Skilling
- Learning & Development
- Agriculture
- Service Delivery
- Open Source Library
- Water
validations:
required: true
- type: dropdown
id: ticket-technical-skills-required
attributes:
label: Tech Skills Needed
description: Select the technologies needed for this ticket (use Ctrl or Command to select multiple)
multiple: true
options:
- .NET
- Angular
- Artificial Intelligence
- ASP.NET
- AWS
- Babel
- Bootstrap
- C#
- Chart.js
- CI/CD
- Computer Vision
- CORS
- cURL
- Cypress
- D3.js
- Database
- Debugging
- Design
- DevOps
- Django
- Docker
- Electron
- ESLint
- Express.js
- Feature
- Flask
- Go
- GraphQL
- HTML
- Ionic
- Jest
- Java
- JavaScript
- Jenkins
- JWT
- Kubernetes
- Laravel
- Machine Learning
- Maintenance
- Markdown
- Material-UI
- Microservices
- MongoDB
- Mobile
- Mockups
- Mocha
- Natural Language Processing
- NestJS
- Node.js
- NUnit
- OAuth
- Performance Improvement
- Prettier
- Python
- Question
- React
- React Native
- Redux
- RESTful APIs
- Ruby
- Ruby on Rails
- Rust
- Scala
- Security
- Selenium
- SEO
- Serverless
- Solidity
- Spring Boot
- SQL
- Swagger
- Tailwind CSS
- Test
- Testing Library
- Three.js
- TypeScript
- UI/UX/Design
- Virtual Reality
- Vue.js
- WebSockets
- Webpack
- Other
validations:
required: true
- type: textarea
id: ticket-mentors
attributes:
label: Mentor(s)
description: Please tag relevant mentors for the ticket
validations:
required: true
- type: dropdown
id: ticket-category
attributes:
label: Category
description: Choose the categories that best describe your ticket
multiple: true
options:
- API
- Analytics
- Accessibility
- Backend
- Breaking Change
- Beginner Friendly
- Configuration
- CI/CD
- Database
- Data Science
- Deprecation
- Documentation
- Delpoyment
- Frontend
- Internationalization
- Localization
- Machine Learning
- Maintenance
- Mobile
- Performance Improvement
- Question
- Refactoring
- Research
- Needs Reproduction
- SEO
- Security
- Testing
- AI
- Other
validations:
required: true