Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHW/ANC SubTask - Enroll a family #276

Closed
1 of 2 tasks
Tracked by #453
f-odhiambo opened this issue Jun 13, 2021 · 43 comments · Fixed by #547
Closed
1 of 2 tasks
Tracked by #453

CHW/ANC SubTask - Enroll a family #276

f-odhiambo opened this issue Jun 13, 2021 · 43 comments · Fixed by #547
Assignees
Labels
Size - M 4-5 days

Comments

@f-odhiambo
Copy link
Contributor

f-odhiambo commented Jun 13, 2021

  • User can register a family. As part of family registration, a location is collected in order to add that family to the map? (Need confirm if this is the way forward or if we want to register actual structures)

3.5 days FTE + 20% buffer

SubTask

@f-odhiambo f-odhiambo changed the title Family Registration CHW/ANC - Family Registration Jun 13, 2021
@isabelcshaw
Copy link

isabelcshaw commented Jun 30, 2021

The user can register a new family by clicking the option menu in the top right corner. There there will be an "register family" option.
Screen Shot 2021-06-29 at 6 56 45 PM

Once that is selected, the user will be dropped directly into the family registration form. Once they fill this in and hit "next" the will be sent to the second page to register the head of household. The user can then choose to continue registering additional family members by hitting "next" or "save" and exit. When they save and exit the questionnaire, they will land on the family profile view.
Screen Shot 2021-06-29 at 6 54 40 PM

The exact fields collected in these forms is being confirmed and I will update the story with that information.

@isabelcshaw
Copy link

For now, the only plan definition we will have in place is ANC, so the registration of family members won't trigger the addition of any plan definitions to their care plans. But, in the future, we would want it to be possible to automatically do so. A good example here would be family planning. All women within a certain age range are eligible for family planning services, so we would want that to be included their care plan automatically.

@pld
Copy link
Member

pld commented Jun 30, 2021

@f-odhiambo I don't think we ever decided on how to represent families in FHIR.

From the UI it seems clear this needs to be a separate resource in itself, i.e. a family isn't a group of people, it's its own object.

B/c of that, using Group w/a GPS extension to register family seems like the best thing, thoughts?

CC @dubdabasoduba @fredhersch @jingtang10

@f-odhiambo
Copy link
Contributor Author

I agree. I think this use case could be represented as

  1. Family - Group to type Patient for person
  2. Family name - Group.name
  3. Family members - Group.member
  4. Numbers - Group.quantity

CC @dubdabasoduba @fredhersch @jingtang10 @isabelcshaw @pld

@fredhersch
Copy link

fredhersch commented Jul 1, 2021

I thought Group here was being used to assign a population of Patients to a CareTeam i.e. a set of patients within a village to the CHW that was responsible.

I came across this yesterday - https://fhirblog.com/2020/02/10/family-fhir-with-sushi/ - which suggested:using the Patient => RelatedPerson(Patient) relationship and setting the RelationshipType.

I wonder if you could use this to almost infer the Head of Household .. i.e the root of the relationship tree .. and enforced by some protocols e.g:

  • When registering a household, the Head of the Household has to be registered first ..
  • Then any members are added after all with RelatedPerson(Patient) to the first Patient
  • If it's not a Household, then there would be no relationships and it could be identified as an individual Patient

@pld
Copy link
Member

pld commented Jul 1, 2021

We're considering using Group for both of those purposes.

If we use only Patient and RelatedPerson we either (1) can't represent a family separate from the people in the family, or (2) use a Patient resource that represents a family instead of a person

@isabelcshaw do we need to represent a family as separate from the people in it? If not, I agree that Patient and RelatePerson will be enough

@dubdabasoduba
Copy link
Member

dubdabasoduba commented Jul 1, 2021

I thought Group here was being used to assign a population of Patients to a CareTeam i.e. a set of patients within a village to the CHW that was responsible.

I came across this yesterday - https://fhirblog.com/2020/02/10/family-fhir-with-sushi/ - which suggested:using the Patient => RelatedPerson(Patient) relationship and setting the RelationshipType.

I wonder if you could use this to almost infer the Head of Household .. i.e the root of the relationship tree .. and enforced by some protocols e.g:

  • When registering a household, the Head of the Household has to be registered first ..
  • Then any members are added after all with RelatedPerson(Patient) to the first Patient
  • If it's not a Household, then there would be no relationships and it could be identified as an individual Patient

The group resource allows other groups to be group members. That way we can have a group of family (groups) then assign a care team to the larger group.

We can then use the Relateperson(patient) relationship on the patient/person group members in the family (group) to infer who is the family head.

@dubdabasoduba
Copy link
Member

This also brings me to this discussion. It has the potential to require a UI rethink on OpenSRP web.

@pld pld added this to the CHW ANC App MVP milestone Jul 9, 2021
@isabelcshaw
Copy link

@pld a few thoughts on the need to represent a family as separate from the people in it:

  1. The family is the core component of the CHW app and is definitely the core grouping for the user and represented in the UI (register view, family profile view, etc). That being said, it sounds like the UI could pull from another resource.

  2. We can already anticipate tasks/activities in the CHW workflow that will need to be associated with a resource on a "household" level. These are things like a sanitation assessment or stock management form that would not be a part of an individual patient's care plan. Even more simply, we'll need a way for a household/family to be due for a visit once a month. Given our current use cases, we could probably get away with associating these tasks with a structure or a head of household, but it might be a good idea to discuss what that task generation looks like, what constraints that could introduce in the long term, and how this could affect reporting.

  3. The Reveal/campaign use cases currently use the concepts of structures, families, and patients. For example, in the MDA workflow, the structure is identified as residential, the family is registered, eligible children are registered, and then drugs are dispensed. That being said, I could see a way that MDA and IRS could work with just structures or related persons. Would need @samkanga input on FI workflows.

@pld
Copy link
Member

pld commented Jul 13, 2021

K thanks, do we have any situations where we register a family that is not associated with a structure?

@isabelcshaw
Copy link

isabelcshaw commented Jul 13, 2021

@pld not in the CHW workflows. We do in campaign workflows.

Two other notes here: 1. It is possible for families to move. I think the most common example would usually be changing catchments, but if we wanted to maintain any separation of a family's medical history and a structure, that could be challenging. And relatedly 2. LMH hasn't mentioned this yet, but, from experience, it is possible for there to be multiple families per structure. I believe we avoid this at the moment bc OpenSRP doesn't deal with the structure concept.

If I remember correctly, @mberg did have some strong feeling about wanting to keep the concepts of an address and a family separate in the long term.

@pld
Copy link
Member

pld commented Jul 13, 2021

@isabelcshaw ok thanks, sounds like keeping families separate may not be strictly necessary but if we don't do it we'd have a bunch of pretty ugly workarounds, b/c we'd be overloading the Patient that represents the head-of-household to also represent the family, so if we can support the CarePlan, etc. generation we need off of a resource that's only representing a family (like a Group), we'd be in better shape.

I duplicated some of the above in this comment thread in the sdk workflow planning doc, also putting inline below for posterity.

There are 2 use-cases here. We're investigating if we could avoid the separate Group representing a family in (2) but it sounds like conceptually it would be much cleaner to have it.

  1. generate and attach tasks to structures. We're planning on representing structures as Location resources of physicalType Building that are partOf a Location resource of physicalType Jurisdiction. When a structure is created (or modified, and maybe on some set time interval) in a Jurisdiction, we'd call $apply on the Location resource representing the structure and the Plan Definition resource that has as its subject.subjectReference the Location jurisdiction this structure is partOf. The output of $apply, e.g. a Task to spray the structure with insecticide, would be linked to the structure and queryable to know the status of the Task(s) assigned to the struture.

User story is, as a malaria sprayer guided by a digital health app, when I register a new structure I want to know whether I should spray it based upon the plan defined for the jurisdiction my newly registered structure is in.

  1. generate and attach Task(s) to a family. A family is a unit separate from any members of the family and represented by the Group resource. We would call $apply on the family Group and the PlanDefinition assigned to the CareTeam that Group is a member of (TBD on this relationship). and generate Task(s) attached specifically to the family (not the individuals in it).

User story is, as a CHW I need to complete tasks assigned to families independent of any members in them, such as assessing the sanitation status of the family, this task has its own status and due date and is not connected to any specific family member.

@mberg
Copy link
Contributor

mberg commented Jul 13, 2021

@isabelcshaw on this issue it's not related to a family. Anytime a women of reproductive age is registered in the system we would need to check to see if they are eligible for family planning and generate a care plan if so.

For now, the only plan definition we will have in place is ANC, so the registration of family members won't trigger the addition of any plan definitions to their care plans. But, in the future, we would want it to be possible to automatically do so. A good example here would be family planning. All women within a certain age range are eligible for family planning services, so we would want that to be included their care plan automatically.

Couple of thought on the above. I am inclined right now to go with @fredhersch suggestion of having a household be based on creating a head of household and then assigning relationships. We will need to support the scenario of a family living in a compound in multiple structure. In such a scenario, would we want all family members assigned to a single HH? or would we want to register the people living in each structure (usually a wife and her kids) as seperate households? In this case we can still create a relationship by making each women the head of household but then indicating they are married to a head of household in a different family. I think keeping the app flexible and allowing people to implement this how they want is probably what we want to do.

In terms of structure, I want to make sure that is decoupled. For non reveal use cases, you should be able to register a head of household and then assign them to a location. The location could be a gps point or a structure on a map. The location could have other meta data like an address, photo, etc. For multi structure families, we could map each mother and her sub-household to a different structure or we can just use the main household depending on the use case. The later approach will work fine if we aren't using the structures as a basis for coverage like we do for reveal.

For the reveal use case, we need to figure out how to assign tasks to structures. Once a head of HH is assigned to that structure, certain subsequent tasks can be assigned to that person.

For task assignment and capturing encounter data on structures we should probably give a bit of thought on the intervention. Eg. if you visit a structure and give a bednet or give medicine the service is done to the people living at the structure because they can take that bednet with them and leave. If you are doing something physical to the structure like spraying, the benefits of the spray is carried over to the new family that moves into that structure. So we will need to ultimately be able to assign tasks and associate events to non patients I think at the end of the day.

For liberia though, I think linking everything to the head of household could probably work.

@pld
Copy link
Member

pld commented Jul 13, 2021 via email

@pld
Copy link
Member

pld commented Jul 13, 2021 via email

@pld
Copy link
Member

pld commented Jul 13, 2021 via email

@mberg
Copy link
Contributor

mberg commented Jul 13, 2021

Couple of follow up thoughts

For the sanitation use case, we would assign the task to the head of household who then would be assigned to a location. You are probably doing a sanitation assessment at the compound level and not individual structure level anyways. If you want to do per structure you would assign to the sanitation task to the moms (other heads of households).

I don't know about the person or patient. Person may makes sense but I need to understand the difference. @f-odhiambo can you provide some more context to your idea here?

For family registration I don't understand the point Peter. We can either put them all in a single household linked to one structure or we can do all them as separate hh linked to a common head of hh. I don't think we need to support at this point the idea if single hh to multiple structures. This is something we have entertained for reveal but I don't think we should try and support right now.

@pld
Copy link
Member

pld commented Jul 13, 2021

On the family registration, the UI has a screen that's "register a family" we wouldn't have that screen anymore, we'd have "register a head of household" or something like that which is a (slight?) change in UI/UX.

This all sounds pretty good if we can get away with it, I might be missing something, but from a tech perspective the pro is we don't have to worry about generating things for a Group, which is an unknown and definitely outweighs the con of additional business logic to treat HHs like families

@mberg
Copy link
Contributor

mberg commented Jul 13, 2021 via email

@pld
Copy link
Member

pld commented Jul 14, 2021

That'll work if when registering the members of the household you make users specify whether they're registering a head of household, and if they are instead of creating a new entity they're editing the entity you already created when they registered the household

If you don't do that, or if people don't select that when registering the head of household, you have a patient/person that's the household separate from the head of household, which is fine as long as we don't include that resource in counts of household members and people

@f-odhiambo
Copy link
Contributor Author

Couple of follow up thoughts

For the sanitation use case, we would assign the task to the head of household who then would be assigned to a location. You are probably doing a sanitation assessment at the compound level and not individual structure level anyways. If you want to do per structure you would assign to the sanitation task to the moms (other heads of households).

I don't know about the person or patient. Person may makes sense but I need to understand the difference. @f-odhiambo can you provide some more context to your idea here?

For family registration I don't understand the point Peter. We can either put them all in a single household linked to one structure or we can do all them as separate hh linked to a common head of hh. I don't think we need to support at this point the idea if single hh to multiple structures. This is something we have entertained for reveal but I don't think we should try and support right now.

From the FHIR spec, the resource Patient is used when someone is being used/tracked in a clinical setup. In a non-clinical setup, we could use

  1. Person (provides a reference set of common demographics for an individual ) could be used to represent someone who is not receiving clinical care. This resource has 1..1 reference to a (Patient | Practitioner | RelatedPerson | Person)
  2. Related Person next of kin to patient or person (wife, husband, guardian, relative, friends) . This resource has 1..1 reference to only a Patient

cc @isabelcshaw @mberg @pld

@pld
Copy link
Member

pld commented Jul 29, 2021

@f-odhiambo @fredhersch @brynrhodes

We talked through the various options and (although semantically it's arguable a family is better represented some sort of group, or maybe organization) for CarePlan generation purposes, we know $apply works well for Patients, so we want to use that as much as possible. And this example linked from the blog article Fred shared uses Patient and RelatedPerson http://hl7.org/fhir/patient.html#maternity.

A family is represented by the same Patient resource that represents the primary PoC (PPoC), membership in the family is a set of .link.other RelatedPerson resources who's RelatedPerson.patient is the non-PPoC family member.

The steps for registering a family and it's members will look like:

  1. enter a family by entering family name
    1. creates a Patient (A) resource with Patient.name set to the entered name
  2. add a member to family
    1. if only Patient A.name exists for the family, user must select if entering the PPoC or not
    2. if PPoC, changes saved as edits to Patient A
    3. if NOT PPoC, on save
      1. create Patient B
      2. create RelatedPerson resource with RelatedPerson.patient = Patient B
      3. set RelatedPerson.relationship to FAMMEMB for family member
      4. edit Patient A resource to set Patient A.link [append] .other = RelatedPerson

Common operations will look like:

  1. Listing families (equivalent to listing PPoCs)
    1. This is problematic, unless we are guaranteed that all patients are added as members of a family, if that's the case
    2. Fetch all Patients from RelatedPerson.patient where RelatedPerson.relationship = FAMMEMB, remove this subset from all Patients, the remaining Patients are your families
  2. Listing members of a family (assuming we know the PPoC)
    1. Get list of Patient.link.other.patient where other.type = RelatedPerson and other.relationship = FAMMEMB
    2. If we're only storing family relationships with .link we would not need to restrict this query with the above and can get all the Patient.link.other.patient
  3. Listing tasks for a family (assuming we know the PPoC)
    1. Get the CarePlan, where CarePlan.subject = this Patient AND some special TBD field tells you this is a family CarePlan, not a Patient CarePlan

Limitations

  1. The family name of the family must be the same as the family name of the PPoC (resolvable using multiple names and setting .name.use)
  2. The query in (3) looks inefficient and will be incorrect if we have patients that are not part of a family, having a flag for PPoC Patient's would be much easier, there's no where obvious to add this to the existing patient, we could abuse .name or .managingOrganization (maybe .name.use = official means it's a family name/PPoC, pretty ad hoc) but an extension is better
  3. This is only using FAMMEMB in the relationship, this makes queries easier, we could instead use a more specific relationship (eg child, spouse, wife, husband, etc.) and then query where .relationship is in that set, or we could use both FAMMEMB and the more specific (keeping the other queries as is)
  4. Need to figure out the TBD field in (5)

@f-odhiambo
Copy link
Contributor Author

f-odhiambo commented Aug 9, 2021

@maimoonak The challenge of using the group is that the Worklofw API does not support it. The workflow API takes in Patient as a subject to generate a care plan i.e. $apply(paitent_id, plan_deifiton_id) = careplan

support to add group as a param is not supported yet

@f-odhiambo
Copy link
Contributor Author

Could we explore the workaround if we stick to the Patient-Related Person approach

@mberg
Copy link
Contributor

mberg commented Aug 9, 2021

Thanks everyone for the research and discussion on this.

My gut feeling is that going with patients and relationships probably makes the most sense if that is the idea that is best supported / follows the design patterns most closely in FHIR.

If we go this route, I think the key thing is it's important that the head of household really represents the unit where we want to assign tasks to the family level.

For example, we could have a large family living on a compound.

HH1 - Husband and his first wife and their children
HH2 - Second wife and their children
HH3 - Third wife and their children

In this scenario, it would depend on how we designed the health intervention on how we registered the households.

If a CHW just was registering kids and doing maternal health it would probably work that we register all family members to a single HH under the husband. If we wanted to do tasks at the structure level. Eg. do a wash check at the hut level or spray their structure, we would need to probably register each HH separately. In this case, each wife would be a head of household and have a relationship to their husband. So we'll have a situation where you have a head of household linked to another head of household but as long as their is only one head of household in the family then it's fine. They would be treated as different (but related) families in the second use case.

If someone dies, do we need to migrate their encounters? We could retain the relationship still in the system. We probably just need to figure out the logic that new tasks / events are linked to the new head of household. Not sure we have to reassign data though.

In general though I think we can handle most use cases with the approach of linking certain activities to the head of household and not individual members.

@pld
Copy link
Member

pld commented Aug 10, 2021

If we wanted to follow FHIR we'd probably use Group but it's not practical b/c of $apply limitations.

Let's scope using a Patient who has something of a primary point of contact (ppoc, head of household) flag, we might be able to get by without a flag and use logic but not sure. Also we're not trying to represent the detail of the family (for now), only that there's a ppoc and family members.

@maimoonak and @mberg that's a good catch on death, we probably will want to migrate anything tied to the previous ppoc when the ppoc changes, like in the case of a death, probably requiring a new ppoc to be set before changing the active field on the existing ppoc to false.

Though, I don't think we'd need to edit the members, we'd look at the existing ppoc make sure the new ppoc points to the same RelatedPersons in its links, that should be sufficient

@jingtang10
Copy link

jingtang10 commented Aug 12, 2021

I think if the main reason we're going with this approach is $apply limitations we should talk with Bryn about this.

The CarePlan resource does allow for the subject to be a Group. But the CQL evaluator APIs assume the subject of the CarePlan is a Patient - I think. So if we go with the Group approach, we need to make sure that the APIs consider Group CarePlans.

If we go with the head patient approach and represent a HH using a head patient, then 1) what does that mean for CQL authoring as now the CQL needs to understand the meaning of a head patient, and 2) how do we distinguish resources that reference the patient from resources that reference the HH (they'll all reference the same thing which is the head patient). @maimoonak mentioned we can use Encounter type or category, but not all other resources necessarily have a field like that (so application will need to say, ok this resource looks like it's a resource for the HH, and that resource looks like it's a resource for the head patient him/herself).

EDIT: sorry I missed that a discusson had already happened with Bryn. I'd still like to understand how this model works with the evaluator.

@f-odhiambo
Copy link
Contributor Author

@jingtang10 we have another issue on encounters here #406

@jingtang10
Copy link

@f-odhiambo my point was kinda the opposite - I think we can get it to work with encounter but how do we get it to work with all types of resources.

@maimoonak
Copy link
Contributor

maimoonak commented Aug 16, 2021

So the overall flow for enroll family, family member, and anc entry is implemented and here are few important points and caveats and queries

Patient resource has no field to mark as family head attribute and has no search params to filter except few demographics https://www.hl7.org/fhir/patient.html#search

We discussed to use other entities like Flag/Observation/Encounter to use as a base to query Family Head (Flag->Patient) and then the relevant Members(Patient.link.other), however, if we have to use any other resource as a base then Group should be the one as this is the best fit for a family. The other entities would be problematic in longer run as these has large data plus queries over these would require us to be tied to use a SNOMED code display/code which can lead to data consistency issues and passing on this info to other developers in longer run.

One thing that is missing in SDK but part of FHIR protocol is Common Search Params which are Profile, Tag, etc. These are fields which implementations can use to assign business context to any Resource

So now it means that we should use Patient resource to represent Family independently via Profile/Tag which is embedded into patient.meta. Now issue with SDK is that ResourceIndexer is only indexing last_updated field and not other search params which means we can not query Patient on these.

To make it work for time being without relying on SDK for now I explored the way it saves/updates/query and apply indexes into above mentioned class and added a class PatientExtended into fhircore which overrides the behavior of indexer and adds the tag/profile as searchable attributes and now allow querying patients via tag.

Now what we do is save Patient with Flag+Extension(Family), Add tag based on this flag, (We can use Profile as well).
All members have link.other relationship with head.

Now we have dependency over two items in SDK (@jingtang10 ) to make it work rightway (not blocker for merging though)

I do not think that the approach of using a tag/profile is a hack itself but @jingtang10 can give a final verdict over this.

We mark ANC in similar way i.e. based on flag add tag to Woman

So the e2e flow works like below.


@brynrhodes
Copy link

If Patient is the target, we should define a "headOfHousehold" extension (probably in WHO-Core) and use that to indicate which patient is considered head of household. Using profiles to distinguish resources is an anti-pattern in FHIR.

@maimoonak
Copy link
Contributor

maimoonak commented Aug 16, 2021

@brynrhodes Thanks a lot for the feedback. We are not using profile now. How about using 'tag' since this is searchable (we want to query patients who are head of households). Below are patients generated by our code rightnow code (Head of household, Pregnant Member, Other Member). It has extension and tag both for now (would look into WHO extension)

Head Of Household: {"resourceType":"Patient","id":"5ff09958-12c6-4996-948e-d4229a3d4d03","meta":{"profile":["http://hl7.org/fhir/StructureDefinition/Patient"],
"tag":[
{"system":"https://www.snomed.org","code":"77386006","display":"Pregnant"},{"system":"https://www.snomed.org","code":"35359004","display":"Family"}]},
"extension":[
{"url":"http://hl7.org/fhir/StructureDefinition/flag-detail","valueString":"Pregnant"},
{"url":"http://hl7.org/fhir/StructureDefinition/flag-detail","valueString":"Family"}],

"name":[{"family":"ghgh","given":["jhgjh"]}],,"gender":"female","birthDate":"2021-08-12","address":[{"city":"jhjh"}]}

Pregnant Member: {"resourceType":"Patient","id":"a8be747b-5698-4ff1-96cd-383948137af4","meta":{"profile":["http://hl7.org/fhir/StructureDefinition/Patient"],
"tag":[{"system":"https://www.snomed.org","code":"77386006","display":"Pregnant"}]},
"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/flag-detail","valueString":"Pregnant"}],

"name":[{"family":"jhj","given":["jhkj"]}],"gender":"female","birthDate":"2021-08-04","link":[{"other":{"reference":"Patient/5ff09958-12c6-4996-948e-d4229a3d4d03"},"type":"refer"}]}

Other Member: {"resourceType":"Patient","id":"ce515390-a4c5-4c40-91f2-97f4029bb430","meta":{"profile":["http://hl7.org/fhir/StructureDefinition/Patient"]},"name":[{"family":"jhgh","given":["hjhj"]}],"gender":"male","birthDate":"2021-08-04","link":[{"other":{"reference":"Patient/5ff09958-12c6-4996-948e-d4229a3d4d03"},"type":"refer"}]}

@brynrhodes
Copy link

Hi @maimoonak , that makes sense, but I would still recommend establishing an extension to explicitly indicate that a patient is a "headOfHousehold". You could provide guidance (and even a profile to enforce) that the Family tag be used in addition to the headOfHousehold extension, but tags should not be used as a stand-in for semantics, because the FHIR spec indicates that applications are not required to process tags to interpret the meaning of a resource: https://hl7.org/fhir/resource-definitions.html#Meta.tag

@maimoonak
Copy link
Contributor

@brynrhodes Thanks. Would add the "headOfHousehold" extension to our Patient.

@f-odhiambo
Copy link
Contributor Author

@jingtang10 Kindly review subsequent comments here and share your thoughts

@jingtang10
Copy link

jingtang10 commented Aug 19, 2021

One thing that is missing in SDK but part of FHIR protocol is Common Search Params which are Profile, Tag, etc. These are fields which implementations can use to assign business context to any Resource

can you create an issue in android-fhir please? thanks!

EDIT: created google/android-fhir#735

@jingtang10
Copy link

If Patient is the target, we should define a "headOfHousehold" extension (probably in WHO-Core) and use that to indicate which patient is considered head of household. Using profiles to distinguish resources is an anti-pattern in FHIR.

do we also need extensions to mark referenced resources as family-oriented resources rather than patient-oriented resources? i.e. if there's a task for family referencing the head of household, then we need to mark that task as a household task to distinguish other tasks related to the head patient themself.

@maimoonak
Copy link
Contributor

@jingtang10 the profile, tags are part of fhir protocol i.e. searchable resources. I did not find extensions or these properties. If we make this part of sdk it would be great but I am not sure how do we synchronize this feature with FHIR. @pld can comment on this.

@maimoonak
Copy link
Contributor

#493 The was supposed to close the issue but now it needs to be on new code structure

@jingtang10
Copy link

@brynrhodes Thanks. Would add the "headOfHousehold" extension to our Patient.

can you link an example here please? thanks!

@jingtang10
Copy link

@jingtang10 the profile, tags are part of fhir protocol i.e. searchable resources. I did not find extensions or these properties. If we make this part of sdk it would be great but I am not sure how do we synchronize this feature with FHIR. @pld can comment on this.

my suggestion is similar to bryn's. but not only on the patient but also on the referenced resources to distinguish a household task from a patient task.

ndegwamartin pushed a commit that referenced this issue Sep 16, 2021
* Family register packages

* Family Register setup 

* Update PatientExtension.kt 

* Delete PatientExtended.kt

* Remove overdue filter 

* Family/ANC flow with ui updates 

* Rename method to loadResourceTemplate from loadConfig

* Sync filters removed|LoadAll used in query

* Add separate query for side menu

* Data package restructuring|repo modifiers changed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment