Dynamic Tasking for ANC

This page will illustrate the dynamic plans for ANC. This is still work in progress.

In ANC tasks will be created from this schedule.

2 actions will be used

  1. Normal action illustrated in rule 1-6 in the schedule.

  2. An overriding action illustrated in rule 7 in the schedule.

Data requirements

We need to pass 2 variables when evaluating each task.

  1. Gestation age(GA). Since this can be calculated in many ways in the ANC. we can expect the event or client has the gestation age or Expected delivery date (EDD) which can be used to calculate GA.

  2. The date the first contact was made. This will used to evaluate if rule 7 or 1-6 should be applied for the woman as per the schedule.

Plan

Assumptions: Tasks code will not have contact number. Clients will track the last complete contact number.

Actions

 

[{ "code": "Contact ", "condition": [ { "expression": { "description": "First contact if before 22 days and GE is less that 20 weeks", "expression": "($this.identifier.where(id='first_contact').value < 21 and $this.identifier.where(id='gestation_age').value < 20) or ($this.contained.identifier.where(id='first_contact').value < 21 and $this.contained.where(id='gestation_age').value < 20)" }, "kind": "applicability" } ], "definitionUri": "anc_contact_form.json", "description": "Complete the ANC contact form", "goalId": "Anc_Contact", "identifier": "7c88b1f2-9c87-4a91-8a5b-0b5a7ed19c96", "prefix": 1, "reason": "Routine", "subjectCodableConcept": { "text": "Person" }, "timingPeriod": { "end": "2021-10-19", "start": "2020-10-20" }, "title": "ANC Contact Rule 1", "trigger": [ { "name": "plan-activation", "type": "named-event" }, { "expression": { "description": "Trigger when an ANC contact is submitted", "expression": "questionnaire = 'ANC_Contact'" }, "name": "event-submission", "type": "named-event" } ], "dynamicValue": [ { "expression": { "expression": "today() + 8 'weeks'" }, "path": "executionPeriod.Start" } ], "type": "create" }, { "code": "Contact ", "condition": [ { "expression": { "description": "First contact if before 22 days and GE >= 20 weeks < 26 ", "expression": "($this.identifier.where(id='first_contact').value < 21 and $this.identifier.where(id='gestation_age').value >= 20 and $this.identifier.where(id='gestation_age').value < 26) or ($this.contained.identifier.where(id='first_contact').value < 21 and $this.contained.where(id='gestation_age').value >=20 and $this.identifier.where(id='gestation_age').value < 26)" }, "kind": "applicability" } ], "definitionUri": "anc_contact_form.json", "description": "Complete the ANC contact form", "goalId": "Anc_Contact", "identifier": "7c88b1f2-9c87-4a91-8a5b-0b5a7ed19c96", "prefix": 1, "reason": "Routine", "subjectCodableConcept": { "text": "Person" }, "timingPeriod": { "end": "2021-10-19", "start": "2020-10-20" }, "title": "ANC Contact Rule 2", "trigger": [ { "name": "plan-activation", "type": "named-event" }, { "expression": { "description": "Trigger when an ANC contact is submitted", "expression": "questionnaire = 'ANC_Contact'" }, "name": "event-submission", "type": "named-event" } ], "dynamicValue": [ { "expression": { "expression": "today() + 6 'weeks'" }, "path": "executionPeriod.Start" } ], "type": "create" }]

 

Questions

  1. Should each task a code for the contact number. This may need having an action for each contact