Oystehr
eRx
Practitioner Enrollment

Practitioner Enrollment

Practitioners must be enrolled in the eRx Service to prescribe medications. Once enrolled, each practitioner will have a unique identifier that is used to manage their prescriptions and interactions with pharmacies. They will need to complete identity verification, and for EPCS, multi-factor authentication enrollment, before they can start prescribing.

Enrollment Process

The eRx Service provides a single endpoint for enrolling practitioners. Only the practitioner FHIR identifier is required. Supporting information is retrieved from the FHIR Service.

The following fields are required for enrollment:

  • name (first and last name)
  • date of birth
  • phone number
  • fax number
  • address
  • NPI (National Provider Identifier)

Here's an example of how to enroll a practitioner:

enroll-practitioner.ts
import Oystehr from '@oystehr/sdk';
import { Practitioner } from 'fhir/r4b';
 
const practitioner: Practitioner = {
  resourceType: 'Practitioner',
  name: [
    {
      use: 'official',
      family: 'Doe',
      given: ['Jane'],
    },
  ],
  birthDate: '1980-01-01',
  telecom: [
    {
      system: 'phone',
      value: '123-456-7890',
    },
    {
      system: 'fax',
      value: '123-456-7891',
    },
  ],
  address: [
    {
      line: ['123 Main St'],
      city: 'Anytown',
      state: 'CA',
      postalCode: '12345',
      country: 'USA',
    },
  ],
  identifier: [
    {
      system: 'http://hl7.org/fhir/sid/us-npi',
      value: '1234567890', // NPI number
    },
  ],
};
 
const oystehr = new Oystehr({ accessToken: '<your_access_token>' });
const practitioner = await oystehr.fhir.create<Practitioner>(practitioner);
await oystehr.erx.enrollPractitioner({ practitionerId: practitioner.id });

Checking Enrollment Status

You can check the enrollment status of a practitioner using the following endpoint:

check-enrollment-status.ts
import Oystehr from '@oystehr/sdk';
const oystehr = new Oystehr({ your_access_token: '<your_access_token>' });
const status = await oystehr.erx.checkPractitionerEnrollment({
  practitionerId: '<practitioner_id>',
});
console.log(status);

Unenrolling a Practitioner

To unenroll a practitioner, you can use the following endpoint:

unenroll-practitioner.ts
import Oystehr from '@oystehr/sdk';
const oystehr = new Oystehr({ your_access_token: '<your_access_token>' });
await oystehr.erx.unenrollPractitioner({
  practitionerId: '<practitioner_id>',
});

After unenrolling, the practitioner will no longer be able to prescribe medications through the eRx Service, and will need to complete identity verification and EPCS multi-factor authentication enrollment again if they wish to re-enroll in the future.

Identity verification

Identity verification is performed in the embedded eRx application. Practitioners must complete this step before they can prescribe medications. The verification process typically involves providing personal information and documentation to confirm the practitioner's identity.

Practitioners can access the identity verification process through the eRx application, where they will be guided through the necessary steps to complete their enrollment.

EPCS Multi-Factor Authentication Enrollment

EPCS (Electronic Prescribing of Controlled Substances) requires multi-factor authentication for added security. Practitioners must enroll in EPCS by setting up their multi-factor authentication method, which may include a combination of something they know (like a password), something they have (like a mobile device), and something they are (like biometric data).

EPCS enrollment is also done within the embedded eRx application. Practitioners will be guided through the steps to set up their multi-factor authentication method.