Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

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

  • The values are converted to [0~9, A~X] (34 digit), and after the convert, ‘I' & ‘O’ (capital o) are, then, converted to ‘Y’ & 'Z’.

  • First 5 characters are generated from time based - in order to provide uniqueness.

  • Last 1 character is a control character, calculated by Summing the first 5 characters, and then taking the remainder.

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

  • ‘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"  }
}

  • No labels