# 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:** 20\
**Page:** 1

<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:** [January 31, 2026, 10:00pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/1 "2026-01-31T22:00:00Z")

</div>

Hey All! Welcome! 👋  
Post your introductions and questions/queries related to C4GT and DMP 2026 in this thread.  
Thank you!

---

<div class="post-metadata">

**Author:** ![Gm\_Aravind](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/gm_aravind/32/4305_2.png) [@Gm\_Aravind](https://forum.communityhealthtoolkit.org/u/Gm_Aravind)\
**Post date:** [March 14, 2026, 12:43pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/2 "2026-03-14T12:43:09Z")

</div>

Hello everyone,

My name is Aravind, a final-year Computer Science student from India. I recently joined the Community Health Toolkit community. I am excited to learn more about the project and start contributing. I also watched a few YouTube videos of how this helps people, Community health workers.

I am currently exploring the CHT codebase while preparing for C4GT 2026. I noticed the recent DMP issues around Bikram Sambat support and advanced contact management APIs and they look very interesting.

I just started reading the documentation and exploring the repository to understand the architecture. If anyone has suggestions on good starting points in the codebase, I would really appreciate it.

Looking forward to learning from the community and contributing.

---

<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:** [March 16, 2026, 5:15pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/3 "2026-03-16T17:15:58Z")

</div>

Hello @Gm_Aravind and welcome! The best place to start is our [first time contributors guide](https://docs.communityhealthtoolkit.org/community/contributing/first-time-contributors/). If you want to jump in and make a contribution, have a look at some of our [Good First Issues](https://github.com/search?q=org%3Amedic+label%3A%22Good+first+issue%22+++no%3Aassignee&type=issues&state=open)! If one of those sounds interesting to you, just drop a comment on it and we will assign it to you. 👍

---

<div class="post-metadata">

**Author:** ![sookwalinga](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/sookwalinga/32/1860_2.png) [@sookwalinga](https://forum.communityhealthtoolkit.org/u/sookwalinga)\
**Post date:** [March 17, 2026, 11:14am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/4 "2026-03-17T11:14:41Z")

</div>

Welcome to the community @Gm_Aravind! You might also find it helpful to explore [this course](https://academy.communityhealthtoolkit.org/courses/course-v1:cht-academy+201+2022/about) for a solid overview of configuring CHT applications. You can also subscribe to the [CHT Event Calendar](https://docs.communityhealthtoolkit.org/community/events/), it’s a great way to stay informed, learn, and connect with others.

In particular, the CHT Dev Hour is worth joining. It’s an open session where you can ask just about any CHT-related question and get real-time support from core maintainers and experienced contributors.

---

<div class="post-metadata">

**Author:** ![Gm\_Aravind](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/gm_aravind/32/4305_2.png) [@Gm\_Aravind](https://forum.communityhealthtoolkit.org/u/Gm_Aravind)\
**Post date:** [March 18, 2026, 4:02am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/5 "2026-03-18T04:02:21Z")

</div>

Thanks a lot for the guidance, @jkuester. I will go through the first time contributors guide and start exploring the good first issues\*\*.\*\*

Looking forward to getting started and contributing.

---

<div class="post-metadata">

**Author:** ![Gm\_Aravind](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/gm_aravind/32/4305_2.png) [@Gm\_Aravind](https://forum.communityhealthtoolkit.org/u/Gm_Aravind)\
**Post date:** [March 18, 2026, 4:07am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/6 "2026-03-18T04:07:35Z")

</div>

Thanks a lot for the guidance, @sookwalinga! I will go through the course and quickly check out the Calendar as well.

The Dev Hour also sounds really helpful as a new contributor. I will try to join one of the sessions soon.

Looking forward to learning and contributing.

---

<div class="post-metadata">

**Author:** ![vikrantwiz02](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/vikrantwiz02/32/4320_2.png) [@vikrantwiz02](https://forum.communityhealthtoolkit.org/u/vikrantwiz02)\
**Post date:** [March 25, 2026, 1:14pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/7 "2026-03-25T13:14:31Z")

</div>

Hello everyone,

My name is Vikrant Kumar, and I am a 3rd-year B.Tech student at IIITDM Jabalpur. I am introducing myself as a first-time contributor to the CHT community as part of my preparation for **C4GT 2026**.

To familiarize myself with the project’s codebase and development workflow, I have started by addressing a few infrastructure and configuration issues. My current active PRs include:

- **PR #10756:** Duplicate phone number validation broken when using “”

- **PR #10757:** Updating staging environment URLs to maintain consistency across services.

- **PR #10758:** Configuring `NODE_ENV` in the Docker stack to ensure secure cookie handling by default.

**Technical Background:** Outside of CHT, I serve as a lead developer for the **Fusion ERP** project at my university. My core experience lies in full-stack development using **Django** and **React**.

I am eager to learn from the core team and contribute more extensively as the C4GT program progresses. If there are specific high-priority areas or issues suited for a new contributor with my background, I would welcome your guidance.

Best regards,

Vikrant Kumar

Github: [vikrantwiz02](https://github.com/vikrantwiz02)

---

<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:** [March 26, 2026, 6:31am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/8 "2026-03-26T06:31:12Z")

</div>

Hi everyone 👋

I’m Megha, a BTech student interested in contributing to the Community Health Toolkit and applying for C4GT 2026.

I’ve set up the project locally and have been actively contributing. Recently, I worked on telemetry-related changes and submitted the following PRs:

- Implementation PR: [https://github.com/medic/cht-core/pull/10728](https://github.com/medic/cht-core/pull/10728)

- Documentation PR: [https://github.com/medic/cht-docs/pull/2166](https://github.com/medic/cht-docs/pull/2166)

Additionally, I’ve contributed a couple more PRs:

- [https://github.com/medic/cht-core/pull/10755](https://github.com/medic/cht-core/pull/10755)

- [https://github.com/medic/cht-core/pull/10760](https://github.com/medic/cht-core/pull/10760)

I’m currently exploring the codebase further and would love some guidance on:

- beginner-friendly issues to work on

- how to better prepare for C4GT

I’d really appreciate any suggestions or advice from the community.

Also tagging for visibility on the related work.

Thanks!

---

<div class="post-metadata">

**Author:** ![yuv](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/yuv/32/320_2.png) [@yuv](https://forum.communityhealthtoolkit.org/u/yuv)\
**Post date:** [March 27, 2026, 12:12pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/9 "2026-03-27T12:12:01Z")

</div>

HI @Megha , welcome to the CHT Community. It’s great to see you already contributing to CHT. You can find beginner friendly issues labeled [good first issue](https://github.com/medic/cht-core/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20first%20issue%22). You can search with same tag on our other repos like [cht-android](https://github.com/medic/cht-android/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20First%20Issue%22), [cht-conf](https://github.com/medic/cht-conf/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20First%20Issue%22), and many more. Our [documentation](https://docs.communityhealthtoolkit.org/) site has great resources on each of these tools.

You can also subscribe to [CHT Event calendar](https://docs.communityhealthtoolkit.org/community/events/) and join us in upcoming CHT events virtually.

---

<div class="post-metadata">

**Author:** ![yuv](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/yuv/32/320_2.png) [@yuv](https://forum.communityhealthtoolkit.org/u/yuv)\
**Post date:** [March 27, 2026, 12:13pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/10 "2026-03-27T12:13:06Z")

</div>

Hi @vikrantwiz02 , welcome to the CHT Community. It’s great to see you already contributing to CHT. You can find beginner friendly issues labeled [good first issue](https://github.com/medic/cht-core/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20first%20issue%22). You can search with same tag on our other repos like [cht-android](https://github.com/medic/cht-android/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20First%20Issue%22), [cht-conf](https://github.com/medic/cht-conf/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Good%20First%20Issue%22), and many more. Our [documentation](https://docs.communityhealthtoolkit.org/) site has great resources on each of these tools.

You can also subscribe to [CHT Event calendar](https://docs.communityhealthtoolkit.org/community/events/) and join us in upcoming CHT events virtually.

---

<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:** [April 14, 2026, 3:57am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/11 "2026-04-14T03:57:53Z")

</div>

Hi everyone,  
I’m Santhosh Teja Piridi, a CSE student from India and a contributor to the Community Health Toolkit. I’ve started contributing to CHT and recently opened PRs including medic/cht-core#10849 (improving error handling) and medic/cht-conf#806 (improving local-ip handling). I’m currently preparing for C4GT 2026 and exploring the codebase by working on smaller issues. I’ve also started looking into DMP 2026 projects like Bikram Sambat support and advanced contact management APIs, which seem really interesting. I’d appreciate guidance on what to work on next and how to align better for C4GT. Thanks!

---

<div class="post-metadata">

**Author:** ![Ved-Patel](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/ved-patel/32/4323_2.png) [@Ved-Patel](https://forum.communityhealthtoolkit.org/u/Ved-Patel)\
**Post date:** [April 23, 2026, 10:24am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/12 "2026-04-23T10:24:11Z")

</div>

Hey everyone!

I’m Ved, a second year CSE undergrad from India! I love contributing to open source, and found CHT from an Open source programme C4GT!

I was working on extensions in cht-conf so far!

As I was not able to contribute a lot (in CHT, I’ve many other open source contributions in different orgs though), but I’m genuinely interested in contributing to CHT through C4GT!

Please anyone from the team guide me over the Proposal review process, how can I make a winning proposal and get accepted as I don’t have many significant contributions till date, am I needed to contribute more or write a more detailed proposal?

Appreciate any responses/suggestions regarding the same!

Thanks in advance

---

<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:** [April 24, 2026, 3:17pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/13 "2026-04-24T15:17:05Z")

</div>

@Ved-Patel welcome to the CHT community! Thank you for the contributions you have made and your interest in contributing further!

> [@Ved-Patel](#):
>
> Please anyone from the team guide me over the Proposal review process, how can I make a winning proposal and get accepted as I don’t have many significant contributions till date, am I needed to contribute more or write a more detailed proposal?

I do not have a lot of info regarding the details of how proposals are submitted/processed on the C4GT side. But, here is what I can share from the Medic perspective.

This year we are supporting two DMP projects:

> <https://github.com/medic/cht-core/issues/10707>
>
> \## Ticket Contents
> 
> The CHT has basic \[Bikram Sambat (BS) calendar support\](http…s://docs.communityhealthtoolkit.org/bikram-sambat/) used in \[app forms\](https://docs.communityhealthtoolkit.org/apps/reference/forms/app/#bikram-sambat-datepicker), but several quality-of-life issues make it incomplete for users in Nepal and other regions using this calendar system. The current date picker is minimal (no calendar view, no month navigation), the Reports tab filter still shows the Gregorian calendar even when the language is set to Nepali, there is a bug where dates convert incorrectly when no month is selected, and \[targets/UHC counts\](https://docs.communityhealthtoolkit.org/building/targets/) reset on Gregorian month boundaries instead of Bikram Sambat month boundaries.
> 
> This project is a collection of improvements to make Bikram Sambat a first-class calendar experience in the CHT. The work can be done incrementally (one issue at a time).
> 
> \## Goals & Mid-Point Milestone
> 
> \- \[\] Understand the existing Bikram Sambat date picker implementation and the \[\`bikram-sambat\`\](https://github.com/nickshanks/bikram-sambat) library
> \- \[\] Fix the bug where the date picker defaults to Baisakh (first month) when user hasn't selected a month, allowing incorrect date conversion
> \- \[\] Upgrade the Bikram Sambat date picker with proper calendar view (month/weeks), month/year navigation, "today" button, and clear option
> \- \[\] Integrate Bikram Sambat calendar into the Reports tab date filter (currently shows Gregorian even in Nepali mode)
> \- \[\] Add configuration to align target/UHC count resets to Bikram Sambat month boundaries instead of Gregorian months
> \- \[\] Write unit tests and e2e tests for all changes
> \- \[\] \*\*Goals achieved by mid-point milestone:\*\* Date picker bug is fixed, date picker is fully upgraded, and Reports tab date filter uses BS calendar, with unit tests
> 
> \## Expected Outcome
> 
> \- A fully functional Bikram Sambat date picker with a proper calendar view, navigation controls, and parity with the Gregorian date picker UX
> \- The Reports tab date filter displays the Bikram Sambat calendar when the platform language is set to Nepali
> \- The date picker no longer silently defaults to Baisakh when no month is selected
> \- A new configuration option (e.g. in \`app\_settings\`) that allows target/UHC counts to reset at the beginning of BS months instead of Gregorian months
> 
> \## Implementation Details
> 
> The Bikram Sambat date picker widget lives in:
> \- \`webapp/src/ts/\` (Angular webapp components)
> 
> The \[nepali-date-picker\](https://github.com/opensource-nepal/nepali-date-picker) (\[demo\](https://leapfrogtechnology.github.io/nepali-date-picker/demo/)) can be used as reference for the improved date picker UI.
> 
> For the date picker bug: the widget currently converts the date even when the user hasn't selected a month, defaulting to Baisakh. The fix should either require month selection before conversion or handle the missing month gracefully.
> 
> For the Reports tab filter: the date filter component needs to detect when the platform language is Nepali and render the BS calendar instead of Gregorian. Date range conversions between BS and Gregorian will be needed for the underlying CouchDB queries.
> 
> For target/UHC alignment: currently targets are stored with an identifier that includes \`YYYY-MM\` for the Gregorian month. The \[\`uhc.visit\_count.month\_start\_date\`\](https://docs.communityhealthtoolkit.org/building/forms/configuring/uhc-mode/#settings) setting controls the day targets reset. A new configuration would override this to use BS month boundaries instead.
> 
> Key technical consideration: an open design question exists around whether a BS month can ever start and end within the same Gregorian month, which could cause target document ID collisions.
> 
> \## Product Name
> 
> Community Health Toolkit: \`cht-core\`
> 
> \## Organization Name
> 
> Medic
> 
> \## Domain
> 
> Healthcare
> 
> \## Tech Skills Needed
> 
> Angular, CSS, Docker, JavaScript, Mocha, Node.js, TypeScript
> 
> \## Organizational Mentor
> 
> @sugat009, @jkuester
> 
> \## Complexity
> 
> High
> 
> \## Category
> 
> Frontend, Localization

> <https://github.com/medic/cht-core/issues/10706>
>
> \## Ticket Contents
> 
> Currently, the CHT (Community Health Toolkit) app allows use…rs to perform basic contact management tasks such as creating an editing contacts. Users with the proper permissions can also delete contacts, but \_only if there are no child contacts associated with the contact to delete.\_
> 
> More \[advanced contact management\](https://docs.communityhealthtoolkit.org/building/contact-management/moving-contacts/) current requires a system administrator to use the \[\`cht-conf\` CLI tool\](https://github.com/medic/cht-conf). \`cht-conf\` can perform operations like \[moving\](https://github.com/medic/cht-conf/blob/main/src/fn/move-contacts.js), \[merging\](https://github.com/medic/cht-conf/blob/main/src/fn/merge-contacts.js), and \[deleting\](https://github.com/medic/cht-conf/blob/main/src/fn/delete-contacts.js) contacts in the hierarchy (note that the \`delete-contacts\` action in cht-conf is \_recursive\_ so that it also deletes all the child contacts). Having this functionality in \`cht-conf\` creates friction for users who cannot perform these actions themselves through the webapp, especially when dealing with duplicate contacts or reorganizing health facility hierarchies.
> 
> It also forces services like \[cht-user-management\](https://github.com/medic/cht-user-management) to either re-implement these operations or else somehow leverage cht-conf under the hood to perform them.  
> 
> This project aims to add REST API endpoints in \`cht-core\` for these actions. The work can be done incrementally (one action at a time), giving it a limited initial scope with room to expand. The goal is simply to have api support for these operations. Updating the webapp to actually give the user access to these operations is \_out of scope\_. 
> 
> \## Goals & Mid-Point Milestone
> 
> \- \[\] Understand the existing \`cht-conf\` move/merge/delete contact logic
> \- \[\] Implement the delete-contacts API endpoint with support for recursive hierarchy deletion
> \- \[\] Implement the move-contacts API endpoint for relocating contacts between parent hierarchies
> \- \[\] Implement the merge-contacts API endpoint for combining duplicate contacts and reassigning all linked documents (reports, tasks) to the surviving contact
> \- \[\] Write API documentation for all new endpoints in \[cht-docs\](https://github.com/medic/cht-docs)
> \- \[\] \*\*Goals achieved by mid-point milestone:\*\* Delete-contacts and move-contacts API endpoints are functional with unit and integration tests
> 
> \## Expected Outcome
> 
> New REST API endpoints available in \`cht-core\`:
> \- \`DELETE /api/v1/contact/:uuid\` (or \`POST /api/v1/contact/:uuid/delete\`) for recursively deleting a contact and its children in one step
> \- \`POST /api/v1/contact/:uuid/move\` for moving a contact (and its subtree) to a new parent
> \- \`POST /api/v1/contact/:uuid/merge\` for merging two duplicate contacts, reassigning all linked documents to the surviving contact
> 
> These endpoints replace the need to use the \`cht-conf\` CLI for these operations, enabling them to be performed programmatically or through the webapp.
> 
> \## Implementation Details
> 
> The existing \`cht-conf\` implementations serve as the reference for the core logic:
> \- \[\`cht-conf/src/fn/move-contacts.js\`\](https://github.com/medic/cht-conf/blob/main/src/fn/move-contacts.js)
> \- \[\`cht-conf/src/fn/merge-contacts.js\`\](https://github.com/medic/cht-conf/blob/main/src/fn/merge-contacts.js)
> \- \[\`cht-conf/src/fn/delete-contacts.js\`\](https://github.com/medic/cht-conf/blob/main/src/fn/delete-contacts.js)
> 
> New API controllers should be added in \`api/src/controllers/\` following the patterns established by the existing person, place, and report controllers.
> 
> Key technical considerations:
> \- TODO these actions may involve long-running processes. We need to determine if we should block our REST response until the process actually completes (our typical approach for existing endpoints) or if we should implement some kind of "polling" pattern where we queue the operation and then immediately return a reference to it. Then the consumer can poll a \`/api/v1/operation\` endpoint to get the status (and know when it completes). 
> \- Permission model should follow the \`hasAny\` pattern (e.g. \`can\_delete\_contacts\` OR \`can\_edit\`)
> \- Delete must handle recursive cleanup of child contacts and all associated documents
> \- Move must update parent lineage references across the entire subtree and linked documents
> \- Merge must handle conflict resolution and reassignment of all linked reports and tasks to the surviving contact
> 
> \## Product Name
> 
> Community Health Toolkit: \`cht-core\`
> 
> \## Organization Name
> 
> Medic
> 
> \## Domain
> 
> Healthcare
> 
> \## Tech Skills Needed
> 
> Docker, JavaScript, Mocha, Node.js, TypeScript
> 
> \## Organizational Mentor
> 
> @sugat009, @jkuester
> 
> \## Complexity
> 
> High
> 
> \## Category
> 
> API, Backend

On our end, once the DMP application process is complete we receive a list of candidates that have applied to work on these projects. Our candidate selection process is similar to what you might expect from any internship opportunity. We evaluate candidates based on all the information we have including the proposal, interactions on GitHub issues/PRs, here on the forum, as well as in various [public CHT community meetings](https://forum.communityhealthtoolkit.org/t/cht-calendar-stay-connected-with-regular-community-events/4641). It is not just about _quantity_, but also about _quality_.

---

<div class="post-metadata">

**Author:** ![Ved-Patel](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/ved-patel/32/4323_2.png) [@Ved-Patel](https://forum.communityhealthtoolkit.org/u/Ved-Patel)\
**Post date:** [April 25, 2026, 8:16pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/14 "2026-04-25T20:16:45Z")

</div>

Thanks! @jkuester

I will try to align myself with the suggestions you’ve mentioned above!

And not to become a part of C4GT, I would love to be part of community for public good also!

Looking forward to be familiar with the team and community!

---

<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:** [April 26, 2026, 9:01am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/15 "2026-04-26T09:01:30Z")

</div>

Hi CHT Community,  
I am applying for DMP 2026 to work on issue #10706 in cht-core(Add API endpoints for advanced contact management operations).  
I have been studying the codebase and have a question aboutimplementation approach.  
The hierarchy logic for delete, move and merge already existsin cht-conf inside:src/lib/hierarchy-operations/  
My question:  
When building the new REST APIs in cht-core (api/src/services/),should we:  
Option A: Import hierarchy-operations from cht-conf as npm packageinto cht-core directly?  
Option B: Rewrite the same logic inside cht-core, replacingJsDocs disk-writing with direct db.bulkDocs() calls?  
Option C: Any other approach the team recommends?  
The main difference I noticed is that cht-conf writes docs todisk first and uploads later, but the API should save directlyto CouchDB.  
Would love guidance from the community before writing my proposal!  
Thank you!

---

<div class="post-metadata">

**Author:** ![hendrixoz](https://communityhealthtoolkit.b-cdn.net/letter_avatar_proxy/v4/letter/h/d26b3c/32.png) [@hendrixoz](https://forum.communityhealthtoolkit.org/u/hendrixoz)\
**Post date:** [April 27, 2026, 3:43am UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/16 "2026-04-27T03:43:48Z")

</div>

Hey everyone!

I’m Atul, a CS grad and I found CHT from the Open source programme C4GT.I have been submitting PRs in cht-core repo.(#[10934](https://github.com/medic/cht-core/pull/10934)) and (#[10926](https://github.com/medic/cht-core/pull/10926))

I already have experience in the medical software development and won hackathons in that regards.

I would really appreciate if anyone would guide me in making the proposal for the programme!

Appreciate any responses/suggestions regarding the same!

Thanks in advance

---

<div class="post-metadata">

**Author:** ![mrjones](https://communityhealthtoolkit.b-cdn.net/user_avatar/forum.communityhealthtoolkit.org/mrjones/32/681_2.png) [@mrjones](https://forum.communityhealthtoolkit.org/u/mrjones)\
**Post date:** [April 30, 2026, 5:22pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/17 "2026-04-30T17:22:09Z")

</div>

Thanks for introducing yourself and welcome to the forums @hendrixoz !

@sugat or @jkuester - can you advise @hendrixoz if there’s public guidelines for C4GT. As well, pulling in another forum post here which I assume is on the same C4GT topic, is there an upcoming meeting either of you know about?

> I just wanted to know when the Q2 2026 meet is going to take place!

---

<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 1, 2026, 1:31pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/18 "2026-05-01T13:31:00Z")

</div>

I don’t know any of the specific process details from the C4GT side of things. If the question is more regarding Medic’s approach to evaluating DMP proposals, then you can have a look at my response out on this thread: [Introduction and seeking Guidance for C4GT](https://forum.communityhealthtoolkit.org/t/introduction-and-seeking-guidance-for-c4gt/5579)

---

<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 1, 2026, 1:40pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/19 "2026-05-01T13:40:18Z")

</div>

Sorry for the delayed response here! I somehow missed this thread. I think it is likely that we will need an `Option C` approach. It is not really feasible to use the cht-conf actions on the server-side and for similar reasons we will probably need more sophisticated batching/queuing logic in the new api code than is currently in place in cht-conf.

The main open design questions that I think we are still trying to figure out are:

- What is the best RESTful pattern for triggering large async batched operations? Do we need another endpoint where consumers could check the status of the triggered operation?
- How should all of this work with an offline-first architecture? If we move/merge a contact on the server-side, how can we ensure the move is not reset when an offline user syncs an updated version of the contact? (Or should we roll back the move in this case?) In a similar vein, if a contact is moved/merged on the server-side and an offline user syncs new reports for the contact’s old hierarchy, how should this be handled? Can any of this be handling without causing replication problems and requiring affected users to do a total re-sync?

---

<div class="post-metadata">

**Author:** ![hendrixoz](https://communityhealthtoolkit.b-cdn.net/letter_avatar_proxy/v4/letter/h/d26b3c/32.png) [@hendrixoz](https://forum.communityhealthtoolkit.org/u/hendrixoz)\
**Post date:** [May 1, 2026, 1:40pm UTC](https://forum.communityhealthtoolkit.org/t/c4gt-dmp-2026-introductions/5603/20 "2026-05-01T13:40:24Z")

</div>

Right,Thanks for the reply!

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