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
Normal action illustrated in rule 1-6 in the schedule.
An overriding action illustrated in rule 7 in the schedule.
Data requirements
We need to pass 2 variables when evaluating each task.
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.
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
Should each task a code for the contact number. This may need having an action for each contact
This site is no longer maintained. Please visit docs.opensrp.io for current documentation.