PSI use the concepts of vouchers to track referrals issued to clients for the purpose of tracking uptake of product and services
Voucher number characteristics
6 characters in length (letters and digits)
Letters are all capitals
Last 1 character is a control character, calculated by Summing the , and then taking the .
Typical voucher operations
every 24h cron job + node.js: fills the pool of draft ServiceResquest Ids to 10,000
an application ask for X of draft id, then they get marked as on-hold
A bot as for a voucher: draft → active
A voucher is redeem: active → completed
FHIR representation
ServiceRequest - FHIR
Sample Resources - by stage
‘draft’ Status - Generated by the cron job.
‘on-hold’ Status - Practitioner (using WFA App) takes vouchers and hold them in pool.
‘active’ Status - Voucher issued to a Patient.
‘completed’ Status - Voucher redeemed.
DRAFT | { "resourceType": "ServiceRequest", "id": "144235", "meta": { "versionId": "1", "lastUpdated": "2023-07-12T06:12:48.645+00:00", "source": "#pOsuiFSdYdvNq6of", "profile": [ "SRH_HIV-SWZ" ] }, "identifier": [ { "system": "http://sample.info/voucher-seq-no", "value": "208078" } ], "status": "draft", "intent": "proposal", "code": { "coding": [ { "system": "http://sample.info/voucher-code", "code": "059XWB" } ] } } |
---|
ON-HOLD | { "resourceType": "ServiceRequest", "id": "144235", "meta": { "versionId": "2", "lastUpdated": "2023-07-12T08:12:48.645+00:00", "source": "#pOsuiFSdYdvNq6of", "profile": [ "SRH_HIV-SWZ" ] }, "identifier": [ { "system": "http://sample.info/voucher-seq-no", "value": "208078" } ], "status": "on-hold", "intent": "proposal", "code": { "coding": [ { "system": "http://sample.info/voucher-code", "code": "059XWB" } ] }, "occurrenceDateTime": "2023-07-06T10:27:38.883Z", "requester": { "reference": "Practitioner/554" } } |
ACTIVE | { "resourceType": "ServiceRequest", "id": "144235", "meta": { "versionId": "2", "lastUpdated": "2023-07-12T08:12:48.645+00:00", "source": "#pOsuiFSdYdvNq6of", "profile": [ "SRH_HIV-SWZ" ] }, "identifier": [ { "system": "http://sample.info/voucher-seq-no", "value": "208078" } ], "status": "active", "intent": "proposal", "code": { "coding": [ { "system": "http://sample.info/voucher-code", "code": "059XWB" } ] }, "occurrenceDateTime": "2023-07-06T10:27:38.883Z", "requester": { "reference": "Practitioner/554" }, "subject": { "reference": "Patient/140895" } } |
COMPLETED | { "resourceType": "ServiceRequest", "id": "144235", "meta": { "versionId": "2", "lastUpdated": "2023-07-12T08:12:48.645+00:00", "source": "#pOsuiFSdYdvNq6of", "profile": [ "SRH_HIV-SWZ" ] }, "identifier": [ { "system": "http://sample.info/voucher-seq-no", "value": "208078" } ], "status": "completed", "intent": "proposal", "code": { "coding": [ { "system": "http://sample.info/voucher-code", "code": "059XWB" } ] }, "occurrenceDateTime": "2023-07-06T10:27:38.883Z", "requester": { "reference": "Practitioner/554" }, "subject": { "reference": "Patient/140895" } } |