Skip to content

Intake API (2024-12-10)

This API allows prescribers to send new prescriptions to Gifthealth to be filled. This API is intended only for use by prescribers and their software vendors.

In order to use this API, you must have an active agreement and/or attestation with Gifthealth. If you are interested in using this API, please contact Gifthealth.

Download OpenAPI description
Languages
Servers
https://{defaultHost}/intake_api/2024-12-10/

Events

Events allow you to receive updates about prescriptions as they move through the dispensing process.

When an important part of the dispensing process happens for a prescription, we publish an Event to the event feed if there is a Subscription record with matching demographic and prescription information (termed PrescriptionIdentity). You don't need to worry about creating subscriptions if you use our Intake API to send prescriptions to Gifthealth. We automatically create subscriptions for you.

The events endpoint is stateless, and assumes a single consumer. Events are not removed from the events endpoint when they are read.

Events currently remain visible in the events endpoint indefinitely, but this may change in the future. Design your system with the understanding that event availability has a limited timeframe.

You are responsible for tracking the iterator value as you process items from the queue. You can replay events as needed by resetting the iterator value to an earlier value.

Operations

Subscriptions

Events are published to your events endpoint when they match a Subscription. Subscriptions are created in one of two ways:

  1. Subscriptions are automatically created for prescriptions sent to Gifthealth through the Intake API.
  2. Subscriptions can be created for prescriptions received via fax or eRx using these endpoints. You are responsible for matching Gifthealth events to your own prescription records using the prescription's PrescriptionIdentity attributes.
Operations

Prescriptions

Operations

Send a prescription

Request

Security
BearerAuth
Bodyapplication/json
prescriptionobjectrequired
prescription.​external_idstringrequired

Your unique identifier for this prescription. You will use this value to query or cancel individual prescriptions.

prescription.​written_datestring(date)required
prescription.​number_of_refillsintegerrequired
prescription.​substitutionsintegerrequired

NCPDP Dispense As Written/Product Selection Code. E.g. 0 for No Product Selection Indicated and 1 for Substitution Not Allowed by Prescriber

prescription.​sig_textstring
prescription.​notestring
prescription.​patientobject(PatientInput)required
prescription.​patient.​first_namestringrequired
prescription.​patient.​middle_namestring or null
prescription.​patient.​last_namestringrequired
prescription.​patient.​dobstring(date)required

Patient date of birth, in format YYYY-MM-DD.

prescription.​patient.​genderstringrequired

Patient gender assigned at birth.

Enum"M""F""N""U"
prescription.​patient.​addressobject(AddressInput)required
prescription.​patient.​address.​address1stringrequired
prescription.​patient.​address.​address2string or null
prescription.​patient.​address.​citystringrequired
prescription.​patient.​address.​statestringrequired

Two-letter state abbreviation. Fifty US states and DC only.

prescription.​patient.​address.​zipstringrequired

Five-digit ZIP code.

prescription.​patient.​primary_phonestringrequired

Primary contact phone number for the patient. US phone numbers only.

prescription.​patient.​emailstring or null
prescription.​medicationobject(MedicationInput)required
prescription.​medication.​namestringrequired
prescription.​medication.​ndcstringrequired

NDC code for a medication dispensed by Gifthealth.

Enum"00002015204""00002024304""00002121404""00002134004""00002142304""00002200204"
prescription.​medication.​quantitystring(decimal)required
prescription.​medication.​quantity_unit_codestringrequired

NCPDP Quantity Unit of Measure Code. E.g. C28254 for Milliliters, C64933 for Each

prescription.​medication.​days_supplyinteger or null
prescription.​medication.​diagnosisobject(DiagnosisInput)
prescription.​prescriberobject(PrescriberInput)required
prescription.​prescriber.​first_namestringrequired
prescription.​prescriber.​middle_namestring or null
prescription.​prescriber.​last_namestringrequired
prescription.​prescriber.​suffixstring or null
prescription.​prescriber.​npistringrequired

10-digit National Provider Identifier (NPI) for the prescriber.

prescription.​prescriber.​primary_phonestringrequired

Primary phone number for the prescriber. US phone numbers only.

prescription.​prescriber.​faxstring or null

Fax number for the prescriber. US phone numbers only.

prescription.​prescriber.​addressobject(AddressInput)required
prescription.​prescriber.​address.​address1stringrequired
prescription.​prescriber.​address.​address2string or null
prescription.​prescriber.​address.​citystringrequired
prescription.​prescriber.​address.​statestringrequired

Two-letter state abbreviation. Fifty US states and DC only.

prescription.​prescriber.​address.​zipstringrequired

Five-digit ZIP code.

prescription.​pharmacyobject(PharmacyInput)required
prescription.​pharmacy.​npistringrequired

10-digit National Provider Identifier (NPI) for the receiving pharmacy for this prescription. Must be a valid NPI for a Gifthealth-managed pharmacy.

Value"1689411712"
prescription.​pharmacy.​ncpdpidstringrequired

NCPDP ID for the receiving pharmacy for this prescription. Must be a valid NCPDP ID for a Gifthealth-managed pharmacy.

Value"3692539"
prescription.​pharmacy.​namestringrequired
prescription.​pharmacy.​addressobject(AddressInput)required
prescription.​pharmacy.​address.​address1stringrequired
prescription.​pharmacy.​address.​address2string or null
prescription.​pharmacy.​address.​citystringrequired
prescription.​pharmacy.​address.​statestringrequired

Two-letter state abbreviation. Fifty US states and DC only.

prescription.​pharmacy.​address.​zipstringrequired

Five-digit ZIP code.

prescription.​pharmacy.​primary_phonestringrequired

Primary contact phone number for the receiving pharmacy. US phone numbers only.

prescription.​pharmacy.​faxstring or null

Fax number for the receiving pharmacy. US phone numbers only.

prescription.​allergiesArray of objects(AllergyInput)

An empty array indicates No Known Allergies. If the patient's allergy history is unknown, pass null or omit this key.

prescription.​originating_entitystring
curl -i -X POST \
  'https://{defaulthost}/intake_api/2024-12-10/prescriptions' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "prescription": {
      "external_id": "f1b3b1a2-361a-40b3-8089-5a235122e023",
      "written_date": "2024-12-10",
      "number_of_refills": 3,
      "substitutions": 1,
      "sig_text": "Inject 0.5 ml subcutaneously every week",
      "note": "Please include a syringe",
      "originating_entity": "Telehealth Co",
      "medication": {
        "name": "ZEPBOUND 2.5MG / 0.5ML SOLUTION",
        "ndc": "00002015204",
        "quantity": "2.0",
        "quantity_unit_code": "C28254",
        "days_supply": 30,
        "diagnosis": {
          "primary_icd10_code": "J45.909",
          "primary_icd10_description": "Asthma, unspecified, uncomplicated"
        }
      },
      "prescriber": {
        "first_name": "Jane",
        "last_name": "Smith",
        "npi": "1234567890",
        "primary_phone": "513-555-7390",
        "address": {
          "address1": "456 Elm St",
          "city": "Springfield",
          "state": "IL",
          "zip": "62701"
        }
      },
      "patient": {
        "first_name": "John",
        "middle_name": "J",
        "last_name": "Doe",
        "dob": "1980-01-01",
        "gender": "M",
        "address": {
          "address1": "123 Main St",
          "address2": "Apt 1",
          "city": "Springfield",
          "state": "IL",
          "zip": "62701"
        },
        "primary_phone": "555-555-5555",
        "email": "test@example.com"
      },
      "pharmacy": {
        "npi": "1689411712",
        "ncpdpid": "3692539",
        "name": "Springfield Pharmacy",
        "primary_phone": "513-555-1234",
        "fax": "513-555-5678",
        "address": {
          "address1": "789 Elm St",
          "city": "Springfield",
          "state": "IL",
          "zip": "62701"
        }
      },
      "allergies": [
        {
          "source_of_information": "C",
          "effective_date": "2017-07-03",
          "adverse_event": {
            "text": "Drug Allergy",
            "code": "416098002"
          },
          "drug_product": {
            "text": "ACETAMINOPHEN",
            "code": "362O9ITL9D"
          },
          "severity": {
            "text": "Mild",
            "code": "255604002"
          }
        }
      ]
    }
  }'

Responses

Created

Bodyapplication/json
prescriptionobject(Prescription)
Response
application/json
{ "prescription": { "external_id": "f1b3b1a2-361a-40b3-8089-5a235122e023", "allergies": [], "cancellation_requested_at": null, "medication": {}, "note": "Please include a syringe", "number_of_refills": 3, "originating_entity": "Telehealth Co", "patient": {}, "pharmacy": {}, "prescriber": {}, "sig_text": "Inject 0.5 ml subcutaneously every week", "substitutions": 1, "written_date": "2024-12-10" } }

Get a prescription

Request

Security
BearerAuth
Path
external_idstringrequired
curl -i -X GET \
  'https://{defaulthost}/intake_api/2024-12-10/prescriptions/{external_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

Bodyapplication/json
prescriptionobject(Prescription)
Response
application/json
{ "prescription": { "external_id": "80efb1a2-361a-40b3-8089-5a235122e023", "allergies": [], "cancellation_requested_at": null, "medication": {}, "note": "Please include a syringe", "number_of_refills": 3, "originating_entity": "Telehealth Co", "patient": {}, "pharmacy": {}, "prescriber": {}, "sig_text": "Inject 0.5 ml subcutaneously every week", "substitutions": 1, "written_date": "2024-12-28" } }

Cancel a prescription

Request

Security
BearerAuth
Path
external_idstringrequired
curl -i -X DELETE \
  'https://{defaulthost}/intake_api/2024-12-10/prescriptions/{external_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

Bodyapplication/json
prescriptionobject(Prescription)
Response
application/json
{ "prescription": { "external_id": "80efb1a2-361a-40b3-8089-5a235122e023", "allergies": [], "cancellation_requested_at": "2024-12-09T00:00:00Z", "medication": {}, "note": "Please include a syringe", "number_of_refills": 3, "originating_entity": "Telehealth Co", "patient": {}, "pharmacy": {}, "prescriber": {}, "sig_text": "Inject 0.5 ml subcutaneously every week", "substitutions": 1, "written_date": "2024-12-28" } }