Introduction

Welcome to the PMP Gateway NCPDP API documentation. This API reference provides information on available endpoints and how to interact with them.

PMP Gateway is an API that simplifies integration of controlled substance prescription history into health IT systems. Using the PMP Gateway API, you can integrate patient prescription history data into your applications.

Overview

A "Client System" makes a request against PMP Gateway. The permissions of the system and Health care role of the user making the request are checked. If the request is not allowed by the PMP systems then the request will be stopped at gateway and a Disallowed response will be generated for those PMP systems. The request will be relayed to InterConnect which will forward it on to the state PMP systems. The responses are consolidated and sent back to the "Client System".

This API is RESTful and uses XML formatted requests and responses.

Example code is provided for each API request. To get started, you can make requests against the testing environment using the code examples and the XML request data they reference.

The Life cycle of a Gateway Request

  • A transaction over PMP Gateway is begun by an HTTP POST of a gateway request document to the gateway service.
  • The web service uses Basic Http Authentication to check if the user credentials supplied are authorized to make requests over gateway. The user information supplied will be linked to a "Licensee"
    Note: A Licensee can be thought of as an account.
  • Based on the user making the request and the destination PMP systems requested there are two checks.
    For each PMP:
    1. Is this licensee account able to make a request against the destination PMP?
    2. Is the origin State of the request able to make a request to the Destination State on the Health Care Provider Role specified
  • If either of these checks fail for a PMP the request for that specific PMP is not forwarded on to InterConnect.
  • The parts of the requests that are allowed are forwarded on to InterConnect which then forwards them on to the PMP systems.
  • The response from the PMP Systems are consolidated along with any other responses that may have failed a permissions check and the entire response is delivered on to the requester.

State PMP Systems store prescription data for patients and allow authorized users to request or commit prescription data.

PMP Interconnect facilitates communications between state PMP systems. One role of PMP Interconnect is to manage permissions for how state PMP systems communicate with each other.

PMP Gateway connects to PMP Interconnect, providing an interface for healthcare providers to query patient prescription data.

Consequences of Distributed Architecture

The distributed architecture of the PMP system impacts how PMP Gateway functions. Some of the consequences:

  • Prescription data requests can only be as fast as the slowest PMP being queried. Consequently, the average response time is 7 seconds.
  • Errors may occur at any point in the network. XML Responses will describe where in the network an error occured.
PMP Diagram

Authentication

You must authenticate with a username and password for all API requests.

All requests must be made over HTTPS. Calls made over plain HTTP will fail.

API Endpoints

A testing environment is available for testing and development purposes. The testing environment is populated with test data and contains no real-world patient data.

The production environment contains real HIPAA protected patient data that must be properly handled.

Testing API Endpoint

https://gateway-prep.pmp.appriss.com/ncpdp_requests

Production API Endpoint

https://pmpgateway.net/ncpdp_requests

Errors

PMP Gateway uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing) and codes in the 5xx range indicate an error with PMP Gateway.

HTTP Status Codes

200 OK Everything worked as expected or the request was missing required XML nodes and the response XML will describe the error.
401 Unauthorized Invalid login credentials.
500 Internal Server Error Something went wrong. The response body will be a Gateway Response with an Error section.

NCPDP Schema AND Request Validation

How states to be queried are determined:

  • States that the licensee has been granted access to will be the maximal set of states that will be queried
  • The location state of the requestor/requesting facility will be used in conjunction with the roles determined from the From Qualifier and Speciality to determine if that requestor role can make the request from the requesting state to the destination state.

Taxonomy Code Mappings

Taxonomy code mappings are determined using a combination of the Qualifier attribute on the From element and the text of the Specialty node. The following example maps to a "Phamacist with prescriptive authority":

  <Header>
...
    <From Qualifier="P">FROMSYSTEM</From>
...
  </Header>
  <Body>
    <RxHistoryRequest>
      <Prescriber>
...
        <Specialty>1835P0018X</Specialty>
   

Below is a table of the mappings which currently exist in Gateway for Taxonomy codes. An asterisk means that if the characters before it match, it is considered a match.

From Qualifier Taxonomy Code Mask for Speciality Node Gateway Role
D or C 1223* Dentist
175F00000X Naturopathic Physician with prescriptive authority
363L* Nurse Practitioner
152W* Optometrist with prescriptive authority
1835P0018X Pharmacist with prescriptive authority
207* Physician
208*
213E*
363A* Physician Assistant with prescritive authority
103T* Psychologist with prescritive authority
174M00000X Veterinarian
P 1835* Pharmacist
3336* Pharmacy
183700000X Pharmacist's Delegate - Licensed

When a Gateway request is recieved, PMP Gateway requests patient prescription data from the required PMP systems.

If the PMP systems are successfully queried, the Gateway response will include the patient prescription data.

The Gateway request has many optional data elements. Additionally, some elements are conditional, meaning that your request must include at least one element out of a set of possible elements.

This example includes all required elements and most of the optional elements. For conditional elements, this example includes all possible options. There are notes where conditional elements are present.

Note: Some optional elements have been ommitted because they are not useful for the vast majority of users. For more information on these rarely used elements, consult the gateway request types XML schema.

Definition

POST https://gateway-prep.pmp.appriss.com/search_request/create

Example Request

curl https://gateway-prep.pmp.appriss.com/search_request/create \
  -u username:password \
  -H "Content-Type: application/xml" \
  -H "Accept: application/xml" \
  -d @gateway_request.xml

Example Request Data

request-ncpdp.xml

download
<Message xmlns="http://www.ncpdp.org/schema/SCRIPT" release="006" version="010">
  <Header>
    <To Qualifier="ZZZ">PMPGATEWAY</To>
    <From Qualifier="D">FROMSYSTEM</From> <!-- Required. Qualifier = [P]harmacy, [D]octor, or [C]linic -->
    <MessageID>501990</MessageID>
    <SentTime>2014-08-22T14:06:26.0Z</SentTime>
    <Security>
      <Sender>
        <!-- The facility identifier where the prescriber request originates is required. -->
        <!-- ID type will be determined by format. -->
        <TertiaryIdentification>AB1234567</TertiaryIdentification>
      </Sender>
      <Receiver>
        <TertiaryIdentification>PMPGATEWAY</TertiaryIdentification>
      </Receiver>
    </Security>
    <TestMessage>1</TestMessage>
  </Header>
  <Body>
    <RxHistoryRequest>
      <Prescriber>
        <Identification>
          <!-- The individual prescriber identifier of the requestor is required. -->
          <NPI>1132767439</NPI> <!-- DEANumber or NPI required for requestor-->
        </Identification>
        <Specialty>1835P0018X</Specialty> <!-- Required. Combines with From Qualifier for role name -->
        <ClinicName>Health Clinic</ClinicName> <!-- ClinicName is required for Prescribers -->

        <Name> <!-- Name of prescriber is required -->
          <LastName>Stolldorf</LastName> <!-- Required -->
          <FirstName>Bob</FirstName> <!-- Required -->
        </Name>
        <Address>
          <!-- The address of the facility from where the request originates -->
          <AddressLine1>10401 Linn Station Rd</AddressLine1>
          <City>Louisville</City>
          <State>KY</State> <!-- Required to determine originating state of request -->
          <ZipCode>40223</ZipCode> <!-- Zip or Phone Number required for patient -->
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>5025551234</Number>
            <Qualifier>TE</Qualifier> <!-- Zip or Phone Number required for patient -->
          </Communication>
          <Communication>
            <Number>5025551235</Number>
            <Qualifier>FX</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Prescriber>
      <Patient>
        <Identification>
          <MedicalRecordIdentificationNumberEHR>770560</MedicalRecordIdentificationNumberEHR>
        </Identification>
        <Name>
          <LastName>Smith</LastName> <!-- Required -->
          <FirstName>Tim</FirstName> <!-- Required -->
        </Name>
        <Gender>M</Gender>
        <DateOfBirth>
          <Date>1983-01-01</Date> <!-- Required -->
        </DateOfBirth>
        <Address>
          <AddressLine1>123 Main St</AddressLine1>
          <City>MADISON</City>
          <State>WI</State>
          <ZipCode>53719</ZipCode> <!-- Zip or phone required for patient -->
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>6085551234</Number>
            <Qualifier>TE</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Patient>
      <BenefitsCoordination>
        <EffectiveDate>
          <Date>2013-08-23</Date><!-- The Begin date range, required. -->
        </EffectiveDate>
        <ExpirationDate>
          <Date>2014-08-22</Date><!-- The end date range, required. -->
        </ExpirationDate>
        <Consent>Y</Consent>
      </BenefitsCoordination>
    </RxHistoryRequest>
  </Body>
</Message>

Example Response

<?xml version="1.0" encoding="UTF-8"?>
<!-- Sample of a Response to a Request from a Prescriber -->
<Message xmlns="http://www.ncpdp.org/schema/SCRIPT"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    HighestVersionSupported="" release="006" version="010"
    xsi:schemaLocation="http://www.ncpdp.org/schema/SCRIPT SCRIPT_XML_10_6.xsd">
  <Header>
    <To Qualifier="C">ASEUROWEDF</To>
    <From Qualifier="ZZZ">3428903284</From>
    <MessageID>PMP112</MessageID>
    <RelatesToMessageID>123456789AA001</RelatesToMessageID>
    <SentTime>2014-08-21T16:01:47Z</SentTime>
    <Security>
      <UsernameToken>
        <Username/>
        <Password Type="PasswordDigest">String</Password>
        <Nonce/>
        <Created>2001-12-17T09:30:47Z</Created>
      </UsernameToken>
      <Sender>
        <SecondaryIdentification>PASSWORD</SecondaryIdentification>
        <TertiaryIdentification/>
      </Sender>
      <Receiver>
        <SecondaryIdentification/>
        <TertiaryIdentification/>
      </Receiver>
    </Security>
  </Header>
  <Body>
    <RxHistoryResponse>
      <Response>
        <Approved/>
      </Response>
      <Patient>
        <Name>
          <LastName>JONES</LastName>
          <FirstName>DEAN</FirstName>
        </Name>
        <Gender>M</Gender>
        <DateOfBirth>
          <Date>1960-03-18</Date>
        </DateOfBirth>
        <Address>
          <AddressLine1>18991 STATE STREET</AddressLine1>
          <City>SHREWSBURY</City>
          <State>MA</State>
          <ZipCode>015450000</ZipCode>
        </Address>
      </Patient>
      <BenefitsCoordination>
        <EffectiveDate>
          <Date>2014-08-01</Date>
        </EffectiveDate>
        <ExpirationDate>
          <Date>2014-08-20</Date>
        </ExpirationDate>
        <Consent>N</Consent>
      </BenefitsCoordination>
      <MedicationDispensed>
        <!-- If a compound drug, DrugDescription will be "Compound Drug" -->
        <DrugDescription>HYDROCODONE 12.5 MG TABLET PAR</DrugDescription>
        <DrugCoded>
          <ProductCode>00228205710</ProductCode>
          <ProductCodeQualifier>ND</ProductCodeQualifier>
          <Strength/>
        </DrugCoded>
        <Quantity>
          <Value>90</Value>
          <CodeListQualifier>38</CodeListQualifier>
          <UnitSourceCode>AC</UnitSourceCode>
          <PotencyUnitCode>C48542</PotencyUnitCode>
        </Quantity>
        <DaysSupply>30</DaysSupply>
        <!-- PMT Type=Type ame|Name=First Last|DOB=YYYY-MM-DD|Address=Street, City, ST, Zipplus4 -->
        <Note>PMT Type=Indian Nations|Name=John Smith|DOB=1900-01-01|Address=123 Main St, Louisville, KY, 402010000</Note>
        <Refills>
          <Qualifier>R</Qualifier>
          <Value>1</Value>
        </Refills>
        <WrittenDate>
          <Date>2014-08-01</Date>
        </WrittenDate>
        <LastFillDate>
          <Date>2014-08-01</Date>
        </LastFillDate>
        <Pharmacy>
          <Identification>
            <NPI>78787878</NPI>
            <DEANumber>BC123233</DEANumber>
          </Identification>
          <StoreName>ABC PHARMACY</StoreName>
          <Address>
            <AddressLine1>1 STATE STREET</AddressLine1>
            <City>HOPKINTON</City>
            <State>MA</State>
            <ZipCode>015660000</ZipCode>
          </Address>
          <CommunicationNumbers>
            <Communication>
              <Number>5554440222</Number>
              <Qualifier>TE</Qualifier>
            </Communication>
          </CommunicationNumbers>
        </Pharmacy>
        <Prescriber>
          <Identification>
            <NPI>3209998001</NPI>
            <DEANumber>BF2820199</DEANumber>
          </Identification>
          <Name>
            <LastName>FAHEY</LastName>
            <FirstName>DAVID</FirstName>
            <MiddleName>A</MiddleName>
          </Name>
          <Address>
            <AddressLine1>26 JULIO DR</AddressLine1>
            <City>SHREWSBURY</City>
            <State>MA</State>
            <ZipCode>015450000</ZipCode>
          </Address>
          <CommunicationNumbers>
            <Communication>
              <Number>5088425594</Number>
              <Qualifier>TE</Qualifier>
            </Communication>
            <Communication>
              <Number>5088420989</Number>
              <Qualifier>FX</Qualifier>
            </Communication>
          </CommunicationNumbers>
        </Prescriber>
      </MedicationDispensed>
      <MedicationDispensed>
        <DrugDescription>METFORMIN HCL 500 MG TABLETMYL</DrugDescription>
        <DrugCoded>
          <ProductCode>00228205710</ProductCode>
          <ProductCodeQualifier>ND</ProductCodeQualifier>
          <Strength/>
        </DrugCoded>
        <Quantity>
          <Value>60</Value>
          <CodeListQualifier>38</CodeListQualifier>
          <UnitSourceCode>AC</UnitSourceCode>
          <PotencyUnitCode>C48542</PotencyUnitCode>
        </Quantity>
        <DaysSupply>30</DaysSupply>
        <Refills>
          <Qualifier>R</Qualifier>
          <Value>5</Value>
        </Refills>
        <WrittenDate>
          <Date>2014-08-06</Date>
        </WrittenDate>
        <LastFillDate>
          <Date>2014-08-07</Date>
        </LastFillDate>
        <Pharmacy>
          <Identification>
            <NPI>78787878</NPI>
            <DEANumber>BC123233</DEANumber>
          </Identification>
          <StoreName>ABC PHARMACY</StoreName>
          <Address>
            <AddressLine1>1 STATE STREET</AddressLine1>
            <City>BOSTON</City>
            <State>MA</State>
            <ZipCode>015660000</ZipCode>
          </Address>
          <CommunicationNumbers>
            <Communication>
              <Number>5554440222</Number>
              <Qualifier>TE</Qualifier>
            </Communication>
          </CommunicationNumbers>
        </Pharmacy>
        <Prescriber>
          <Identification>
            <NPI>3209998001</NPI>
            <DEANumber>AS5563386</DEANumber>
          </Identification>
          <Name>
            <LastName>STARR</LastName>
            <FirstName>JEROME</FirstName>
            <MiddleName>I</MiddleName>
          </Name>
          <Address>
            <AddressLine1>67 BELMONT ST</AddressLine1>
            <City>WORCESTER</City>
            <State>MA</State>
            <ZipCode>016050000</ZipCode>
            <PlaceLocationQualifier>AD2</PlaceLocationQualifier>
          </Address>
          <CommunicationNumbers>
            <Communication>
              <Number>5087541707</Number>
              <Qualifier>TE</Qualifier>
            </Communication>
            <Communication>
              <Number>5083345331</Number>
              <Qualifier>FX</Qualifier>
            </Communication>
          </CommunicationNumbers>
        </Prescriber>
      </MedicationDispensed>
    </RxHistoryResponse>
  </Body>
</Message>

Sample Request from a Pharmacy:

This example is the most minimalistic request possible. It includes all required elements and the conditional elements which are most commonly used. Providing less information will result in XML validation errors.

Definition

POST https://gateway-prep.pmp.appriss.com/search_request/create

Example Request

curl https://gateway-prep.pmp.appriss.com/search_request/create \
  -u username:password \
  -H "Content-Type: application/xml" \
  -H "Accept: application/xml" \
  -d @request-ncpdp-pharmacist.xml.xml

Example Request Data

request-ncpdp-pharmacist.xml

download
<?xml version="1.0"?>
<Message xmlns="http://www.ncpdp.org/schema/SCRIPT" release="006" version="010">
  <Header>
    <To Qualifier="ZZZ">PMPGATEWAY</To>
    <!-- From Required. Qualifier = [P]harmacy, [D]octor, or [C]linic -->
    <!-- For Pharmacy, the From element's text contains the identifier of the individual requestor. -->
    <!-- ID type will be determined by format. -->
    <From Qualifier="P">AB1234567</From>
    <MessageID>501990</MessageID>
    <SentTime>2014-08-22T14:06:26.0Z</SentTime>
  </Header>
  <Body>
    <RxHistoryRequest>
      <Pharmacy>
        <Identification>
          <!-- The pharmacy identifier where the request originates is required. -->
          <NPI>1234567890</NPI><!-- Facility DEANumber, NCPDP, or NPI required -->
        </Identification>
        <Specialty>1835P0018X</Specialty> <!-- Required. Combines with From Qualifier for role name -->
        <Pharmacist>
          <LastName>BARTON</LastName> <!-- Required -->
          <FirstName>CLARA</FirstName> <!-- Required -->
        </Pharmacist>
        <StoreName>Pharmacy Name</StoreName> <!-- StoreName is required for Pharmacies -->
        <Address>
          <!-- The address of the facility from where the request originates -->
          <AddressLine1>1 STATE STREET</AddressLine1>
          <City>ALEXANDRIA</City>
          <State>VA</State> <!-- Required to determine originating state of request -->
          <ZipCode>223010000</ZipCode>
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>5554440222</Number>
            <Qualifier>TE</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Pharmacy>
      <Patient>
        <Identification>
          <MedicalRecordIdentificationNumberEHR>770560</MedicalRecordIdentificationNumberEHR>
        </Identification>
        <Name>
          <LastName>Stolldorf</LastName> <!-- Required -->
          <FirstName>Tim</FirstName> <!-- Required -->
        </Name>
        <Gender>M</Gender>
        <DateOfBirth>
          <Date>1983-01-01</Date> <!-- Required -->
        </DateOfBirth>
        <Address>
          <AddressLine1>123 Main St</AddressLine1>
          <City>MADISON</City>
          <State>WI</State>
          <ZipCode>53719</ZipCode> <!-- Zip or Phone Number required for patient -->
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>6082719000</Number> <!-- Zip or Phone Number required for patient -->
            <Qualifier>TE</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Patient>
      <BenefitsCoordination>
        <EffectiveDate>
          <Date>2013-08-23</Date>
          <!-- The Begin date range, required. -->
        </EffectiveDate>
        <ExpirationDate>
          <Date>2014-08-22</Date>
          <!-- The end date range, required. -->
        </ExpirationDate>
        <Consent>Y</Consent>
      </BenefitsCoordination>
    </RxHistoryRequest>
  </Body>
</Message>

Example Response

<?xml version="1.0"?>
<Message xmlns="http://www.ncpdp.org/schema/SCRIPT" release="006" version="010">
  <Header>
    <To Qualifier="ZZZ">PMPGATEWAY</To>
    <!-- From Required. Qualifier = [P]harmacy, [D]octor, or [C]linic -->
    <!-- For Pharmacy, the From element's text contains the identifier of the individual requestor. -->
    <!-- ID type will be determined by format. -->
    <From Qualifier="P">AB1234567</From>
    <MessageID>501990</MessageID>
    <SentTime>2014-08-22T14:06:26.0Z</SentTime>
  </Header>
  <Body>
    <RxHistoryRequest>
      <Pharmacy>
        <Identification>
          <!-- The pharmacy identifier where the request originates is required. -->
          <NPI>1234567890</NPI><!-- Facility DEANumber, NCPDP, or NPI required -->
        </Identification>
        <Specialty>1835P0018X</Specialty> <!-- Required. Combines with From Qualifier for role name -->
        <Pharmacist>
          <LastName>BARTON</LastName> <!-- Required -->
          <FirstName>CLARA</FirstName> <!-- Required -->
        </Pharmacist>
        <StoreName>Pharmacy Name</StoreName> <!-- StoreName is required for Pharmacies -->
        <Address>
          <!-- The address of the facility from where the request originates -->
          <AddressLine1>1 STATE STREET</AddressLine1>
          <City>ALEXANDRIA</City>
          <State>VA</State> <!-- Required to determine originating state of request -->
          <ZipCode>223010000</ZipCode>
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>5554440222</Number>
            <Qualifier>TE</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Pharmacy>
      <Patient>
        <Identification>
          <MedicalRecordIdentificationNumberEHR>770560</MedicalRecordIdentificationNumberEHR>
        </Identification>
        <Name>
          <LastName>Stolldorf</LastName> <!-- Required -->
          <FirstName>Tim</FirstName> <!-- Required -->
        </Name>
        <Gender>M</Gender>
        <DateOfBirth>
          <Date>1983-01-01</Date> <!-- Required -->
        </DateOfBirth>
        <Address>
          <AddressLine1>123 Main St</AddressLine1>
          <City>MADISON</City>
          <State>WI</State>
          <ZipCode>53719</ZipCode> <!-- Zip or Phone Number required for patient -->
        </Address>
        <CommunicationNumbers>
          <Communication>
            <Number>6082719000</Number> <!-- Zip or Phone Number required for patient -->
            <Qualifier>TE</Qualifier>
          </Communication>
        </CommunicationNumbers>
      </Patient>
      <BenefitsCoordination>
        <EffectiveDate>
          <Date>2013-08-23</Date>
          <!-- The Begin date range, required. -->
        </EffectiveDate>
        <ExpirationDate>
          <Date>2014-08-22</Date>
          <!-- The end date range, required. -->
        </ExpirationDate>
        <Consent>Y</Consent>
      </BenefitsCoordination>
    </RxHistoryRequest>
  </Body>
</Message>

Gateway Responses

Because of the distributed architecture of the PMP network, there are many factors which impact the response to a Gateway request. This section explains some of the common responses and what they mean.

No Data

If a PMP system has no prescription data for the specified patient, it returns a NoData response.

Response Details

The Pmp node contains the state abbreviation for the PMP system which the response is for.

The Message node will be a simple text explanation of what happened. This should be appropriate to display to users.

The Source node describes where in the request lifecycle the error originated. This may be helpful in troubleshooting.

Example Request Data

response__no_data.xml

download
<?xml version="1.0" encoding="UTF-8"?>
<GatewayResponse xmlns="http://xml.appriss.com/gateway" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <RequestID>5424</RequestID>
  <Response>
    <Pmp>OH</Pmp>
    <NoData>
      <Message>No data.</Message>
      <Details><![CDATA[No Data]]></Details>
      <Source>PMP</Source>
    </NoData>
  </Response>
  <Disclaimer></Disclaimer>
</GatewayResponse>

Error

If something prevented the request from being processed, the response will be an error. This could be accompanied by an non-200 HTTP response code.

Response Details

The Pmp node contains the state abbreviation for the PMP system which the response is for.

The Message node will be a simple text explanation of what happened. This should be appropriate to display to users.

The Source node describes where in the request lifecycle the error originated. This may be helpful in troubleshooting.

Example Request Data

response-ncpdp-error.xml

download
<?xml version="1.0"?>
<Message xmlns="http://www.ncpdp.org/schema/SCRIPT" version="010" release="006">
  <Header>
    <To Qualifier="ZZZ">EHR</To>
    <From Qualifier="ZZZ">PMPGATEWAY</From> <!-- Required. Qualifier = [P]harmacy, [D]octor, or [C]linic -->
    <MessageID>050277017</MessageID>
    <RelatesToMessageID>501990</RelatesToMessageID>
    <SentTime>2014-08-22T14:06:28</SentTime>
    <TestMessage>1</TestMessage>
    <TertiaryIdentifier>FIL</TertiaryIdentifier>
  </Header>
  <Body>
    <Error>
      <Code>900</Code>
      <DescriptionCode>210</DescriptionCode>
      <Description>[ERROR] https://pmpgateway.net/ncpdp_request_errors/12039</Description> <!-- [NODATA] will not contain a URL after the type of error -->
    </Error>
  </Body>
</Message>

Disallowed

Your account with PMP Gateway does not have permission to query the specified PMP system.

Because of the distributed architecture of the PMP network, each PMP has its own administrator who manages permissions. To gain permission to query a specific PMP, contact the Appriss Project Manager who handles your account. Our project managers work with the PMP administrators to manage permissions requests.

Response Details

The Pmp node contains the state abbreviation for the PMP system which the response is for.

The Message node will be a simple text explanation of what happened. This should be appropriate to display to users.

The Source node describes where in the request lifecycle the error originated. This may be helpful in troubleshooting.

Example Request Data

response__disallowed.xml

download
<?xml version="1.0" encoding="UTF-8"?>
<GatewayResponse xmlns="http://xml.appriss.com/gateway" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <RequestID>5424</RequestID>
  <Response>
    <Pmp>IN</Pmp>
    <Disallowed>
      <Message>Your licensee is not allowed to make requests to IN</Message>
      <Source>GATEWAY</Source>
    </Disallowed>
  </Response>
  <Response>
    <Pmp>VA</Pmp>
    <Disallowed>
      <Message>A Optometrist from OH is not allowed to make requests to VA</Message>
      <Source>INTERCONNECT</Source>
    </Disallowed>
  </Response>
  <Disclaimer></Disclaimer>
</GatewayResponse>