# C4GT - DMP 2026 Introductions

**URL:** <https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603>\
**Category:** General\
**Created:** [January 31, 2026, 10:00pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603 "2026-01-31T22:00:00Z")\
**Posts on this page:** 13\
**Page:** 2

<div class="post-metadata">

**Author:** ![Megha](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/megha/32/4350_2.png) [@Megha](https://forum.communityhealthtoolkit.org/u/Megha)\
**Post date:** [May 2, 2026, 2:51pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/21 "2026-05-02T14:51:59Z")

</div>

Hey everyone!

I’m Megha, a 2nd year CSE student from IIITDM Jabalpur, currently contributing to MEDIC through C4GT (DMP 2026).

I had a quick question regarding collaboration. If two contributors are interested in the same project or problem statement, is it possible for them to work together officially? Or is it expected that each participant works individually on separate issues?

I just wanted to understand how collaboration is handled in DMP 2026 so I can plan my contributions accordingly.

Would really appreciate any guidance on this. Thanks!

---

<div class="post-metadata">

**Author:** ![CodeWith-sakib](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/codewith-sakib/32/4345_2.png) [@CodeWith-sakib](https://forum.communityhealthtoolkit.org/u/CodeWith-sakib)\
**Post date:** [May 3, 2026, 6:02am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/22 "2026-05-03T06:02:22Z")

</div>

Hi team,

I’m Mohammad Sakib, and I’m currently preparing a proposal for the issue _“Add API endpoints for advanced contact management operations.”_

While going through the discussion, I came across the comment by @jkuester about the need for more sophisticated batching/queuing logic and the challenges around async execution and offline-first behavior.

Based on that, I had a couple of follow-up questions to better align my proposal with the expected design:

**1. REST pattern for async operations:**  
Would the preferred approach be to model these as **explicit operation resources** —returning an `operationId` and exposing a `/operations/:id` endpoint for status tracking—or is there another pattern you’d recommend for handling long-running batched operations?

**2. Offline-first consistency model:**  
In cases where a server-side move or merge conflicts with offline updates (such as outdated `_rev` values or reports linked to the old hierarchy), should we treat **server-side structural changes as authoritative** and reconcile incoming data accordingly, or is there an expectation to preserve client-side updates and potentially reapply or roll back operations?

I want to make sure my approach aligns with the intended architecture, especially around consistency and replication behavior.

Thanks in advance for your guidance!

---

<div class="post-metadata">

**Author:** ![antony](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/antony/32/69_2.png) [@antony](https://forum.communityhealthtoolkit.org/u/antony)\
**Post date:** [May 4, 2026, 7:07am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/23 "2026-05-04T07:07:30Z")

</div>

Hi @Megha, thank your question.

Each DMP project will be assigned to one contributor. As you work on separate issues, you are encouraged to support each other through the community platforms like the forum and Github.

---

<div class="post-metadata">

**Author:** ![KEERTI\_GUPTA](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/keerti_gupta/32/4351_2.png) [@KEERTI\_GUPTA](https://forum.communityhealthtoolkit.org/u/KEERTI_GUPTA)\
**Post date:** [May 4, 2026, 12:01pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/24 "2026-05-04T12:01:01Z")

</div>

Hi everyone!

I am Keerti Gupta, a student at the Indian Institute of Information Technology Jabalpur. I recently started contributing to the CHT Core repository through the C4GT program and have opened my first PR related to contact sorting.

I am really excited to be part of the Medic/CHT community and to learn more about how the toolkit is used in real-world healthcare solutions. I’m particularly interested in frontend development and improving user experience, but I’m also open to exploring other areas as I continue contributing.

Really looking forward to learning from you all and contributing more going forward!!

---

<div class="post-metadata">

**Author:** ![Megha](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/megha/32/4350_2.png) [@Megha](https://forum.communityhealthtoolkit.org/u/Megha)\
**Post date:** [May 4, 2026, 2:44pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/25 "2026-05-04T14:44:43Z")

</div>

Hi Antony, thank you for the clarification!

That makes sense - I understand that each project is assigned to an individual contributor. I’ll make sure to actively collaborate informally through discussions on GitHub and the forum while working on my own assigned issues.

Appreciate the guidance!

---

<div class="post-metadata">

**Author:** ![jkuester](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/jkuester/32/806_2.png) [@jkuester](https://forum.communityhealthtoolkit.org/u/jkuester)\
**Post date:** [May 4, 2026, 3:57pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/26 "2026-05-04T15:57:28Z")

</div>

Thanks for reaching out @CodeWith-sakib!

1. What you have described matches my current thoughts. 👍 However, we not not 100% committed to this if we can find an alternate approach that would be better. (But in general I love the simplicity of just having an `operation` endpoint.)
2. Once a merge/move/delete has been triggered on the server-side, we should treat that as authoritative. The main question, though, is how to handle incoming data from the clients after the merge/move/delete has been triggered on the server-side.
  - Unfortunately, the [current approach](https://docs.communityhealthtoolkit.org/building/contact-management/moving-contacts/) in the CHT has been to just _not handle it_. This put the burden on each deployment to require re-syncing after a move.
  - I think we need to find a better way to handle this when we move this functionality into the CHT, itself.
  - Ultimately this may require some updates to our replication algorithm (or maybe client-side transitions… 🤔). Either way, the short answer is that I don’t think we have idendified the best approach here yet…

---

<div class="post-metadata">

**Author:** ![sugat](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/sugat/32/2936_2.png) [@sugat](https://forum.communityhealthtoolkit.org/u/sugat)\
**Post date:** [May 4, 2026, 4:39pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/27 "2026-05-04T16:39:19Z")

</div>

3 posts were split to a new topic: [Temp fix for C4GT mishap when merging](https://forum.communityhealthtoolkit.org/t/temp-fix-for-c4gt-mishap-when-merging/5605)

---

<div class="post-metadata">

**Author:** ![CodeWith-sakib](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/codewith-sakib/32/4345_2.png) [@CodeWith-sakib](https://forum.communityhealthtoolkit.org/u/CodeWith-sakib)\
**Post date:** [May 5, 2026, 1:28pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/28 "2026-05-05T13:28:51Z")

</div>

Hi @jkuester, thanks for the clarification , this really helped me understand the problem space better.

I also went through the current `cht-conf` approach for moving contacts, and I noticed that while it handles hierarchy updates correctly, it relies on a manual workflow and requires users to re-sync when offline data conflicts occur. This makes it harder to use in practice, especially in real deployments with offline users.

I agree that treating server-side move/merge/delete operations as authoritative is the right direction. The more challenging part, as you pointed out, is handling data that arrives later from offline clients without forcing a full re-sync.

One approach I’m considering is a reconciliation-based mechanism where incoming data is accepted but checked against the latest contact hierarchy. If it references an outdated structure (for example, a contact that has been moved or merged), it can be remapped to the updated hierarchy during processing instead of being rejected or causing inconsistencies. This would allow the system to remain eventually consistent while avoiding disruption to users.

To support this, we could explore lightweight ways to detect stale references, such as lineage comparison or operation-aware metadata.

I understand this area is still open-ended, but I’ll reflect this direction in my proposal and keep the design flexible based on what fits best with the existing architecture. Happy to iterate further based on your feedback .

---

<div class="post-metadata">

**Author:** ![Harkirat\_Singh](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/harkirat_singh/32/4356_2.png) [@Harkirat\_Singh](https://forum.communityhealthtoolkit.org/u/Harkirat_Singh)\
**Post date:** [May 6, 2026, 1:01pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/29 "2026-05-06T13:01:32Z")

</div>

Hey everyone! I’m Harkirat, a CSE student from Thapar Uni.

I’m applying for DMP 2026 and targeting the **“Add API endpoints for advanced contact management operations”** issue in cht-core. I’ve been going through the cht-conf source files (`move-contacts.js`, `merge-contacts.js`, `delete-contacts.js`) and exploring the existing API controller patterns in the codebase.

My stack is TypeScript, Node.js, React and I have experience building REST APIs , so the backend work here feels like a natural fit. I’ve also set up the local dev environment (Docker + CouchDB) and have been actively engaging on the GitHub issue.

Looking forward to contributing and learning from the community here!

---

<div class="post-metadata">

**Author:** ![santhosh-7777](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/santhosh-7777/32/4335_2.png) [@santhosh-7777](https://forum.communityhealthtoolkit.org/u/santhosh-7777)\
**Post date:** [May 16, 2026, 10:29am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/30 "2026-05-16T10:29:10Z")

</div>

Hi @jkuester, thank you for your earlier guidance. I am finalizing my DMP 2026 proposal for issue 10706 and want to make sure I am fully aligned with the team’s vision before submitting. I have two quick clarifying questions:

First, for the audit trail, should batch operations triggered by these new APIs be recorded through the existing audit middleware into medic-audit, or does the team have a different preferred approach for tracing bulk background writes?

Second, for handling delayed offline reports that arrive after a server side move or merge has already completed, is implementing a custom Sentinel transition to validate contact lineage at processing time a reasonable direction to explore, or is this out of scope for this project?

Thank you so much for your time.

---

<div class="post-metadata">

**Author:** ![CodeWith-sakib](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/codewith-sakib/32/4345_2.png) [@CodeWith-sakib](https://forum.communityhealthtoolkit.org/u/CodeWith-sakib)\
**Post date:** [June 4, 2026, 2:22pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/31 "2026-06-04T14:22:50Z")

</div>

Hi @jkuester , As the DMP results have been announced for most organizations, could you please let me know when the results or interview scheduling for Medic are expected to be announced?

---

<div class="post-metadata">

**Author:** ![sugat](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/sugat/32/2936_2.png) [@sugat](https://forum.communityhealthtoolkit.org/u/sugat)\
**Post date:** [June 8, 2026, 3:40pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/32 "2026-06-08T15:40:48Z")

</div>

Hi everyone,

I’m happy to share that the selection process for our two DMP 2026 projects is now complete.

Congratulations to:

- @Megha, who will be working on [Enhance Bikram Sambat support in CHT](https://github.com/medic/cht-core/issues/10707)
- @vikrantwiz02, who will be working on [Add API endpoints for advanced contact management operations](https://github.com/medic/cht-core/issues/10706)

Welcome aboard, both of you! We are excited to work with you over the coming months.

To everyone else who applied and contributed along the way: thank you. 👏 We’d love to keep seeing you around the repos and the forum.

/Sugat

---

<div class="post-metadata">

**Author:** ![sugat](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/sugat/32/2936_2.png) [@sugat](https://forum.communityhealthtoolkit.org/u/sugat)\
**Post date:** [June 8, 2026, 3:41pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/33 "2026-06-08T15:41:01Z")

</div>



[Previous page](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603.md?page=1)
