Assistant tools for your patient portal
Every tool a connected assistant can use on your behalf, with what each one reads or changes and what it takes.
- Updated
- Updated
- Reading time
- 5 min read
- Tags
- mcpassistantreference
This is the reference for the tools on EnWella's patient MCP server. Each section is one tool, named exactly as the assistant sees it, with the description the assistant reads. How to connect is in the related article below.
appointment_request_create
appointment_request_create(input: AppointmentRequestCreateInput!): AppointmentRequestCreatePayloadAsk the clinic for an appointment on a preferred requested_date (YYYY-MM-DD), optionally within a requested_start_time / requested_end_time window (HH:MM), with a provider_id, a visit type (appointment_template_id) and notes. Nothing is booked yet: the request starts PENDING and clinic staff answer it later, so follow up by polling portal_appointment_requests until it is APPROVED or BOOKED (the visit then also appears in calendar_events) or DECLINED, and tell the patient. A patient can have one open request at a time.
Parameters
inputAppointmentRequestCreateInput!RequiredParameters for AppointmentRequestCreate
appointment_request_inputAppointmentRequestInput!Requiredpatient_idIDOptionalprovider_idIDOptionalappointment_template_idIDOptionalrequested_dateISO8601DateOptionalDate, YYYY-MM-DD
requested_start_timeTimeOfDayOptional24-hour time of day, HH:MM
requested_end_timeTimeOfDayOptional24-hour time of day, HH:MM
notesStringOptionalstatusAppointmentRequestStatusTypeOptionalOne of:
PENDING,APPROVED,DECLINED,BOOKED,CANCELLED
Response
appointment_request_createAppointmentRequestCreatePayloadMay be nullappointment_requestAppointmentRequest!idID!ID of the object.
statusAppointmentRequestStatusType!One of:
PENDING,APPROVED,DECLINED,BOOKED,CANCELLEDrequested_dateISO8601DateMay be nullDate, YYYY-MM-DD
requested_start_timeStringMay be nullRequested start, HH:MM in the clinic's time zone
requested_end_timeStringMay be nullRequested end, HH:MM in the clinic's time zone
notesStringMay be null
calendar_events
calendar_events(start_date: ISO8601DateTime, end_date: ISO8601DateTime, statuses: [CalendarEventStatusType!], tense: String, after: String, first: Int): CalendarEventBaseConnection!This patient's appointments: date and time, status, the clinician, room or whether it is a video visit, and the visit type with its preparation instructions. The clinic can reschedule or cancel a visit at any time, so to report changes, poll this tool and compare each visit's start_time and status with what you last told the patient (updated_at moves on every change). Filter with tense (FUTURE for upcoming, PAST for past visits), start_date / end_date (ISO 8601 date-times) and statuses (e.g. SCHEDULED, CONFIRMED, CANCELLED); page with first / after.
Parameters
start_dateISO8601DateTimeOptionalISO 8601 date-time with a UTC offset
end_dateISO8601DateTimeOptionalISO 8601 date-time with a UTC offset
statuses[CalendarEventStatusType!]OptionalRestrict to these statuses (e.g. exclude CANCELLED for a 'booked appointments' count).
One of:
REQUESTED,SCHEDULED,CONFIRMED,CHECKED_IN,IN_PROGRESS,COMPLETED,CANCELLED,NO_SHOWtenseStringOptionalShortcut: FUTURE (ongoing or future and not concluded, ASC), PAST (ended or concluded, DESC), or ALL (no filter). Compared against end_time so in-progress events stay in FUTURE; a COMPLETED visit is PAST even before its end_time. Overrides sort when set. Legacy values 'upcoming' / 'past' are still accepted for one release window — see Types::Enums::CalendarEventTenseType + the comment above this argument.
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
calendar_eventsCalendarEventBaseConnection!countIntMay be nullnodes[CalendarEventBase!]!A list of nodes.
idID!ID of the object.
start_timeISO8601DateTime!ISO 8601 date-time with a UTC offset
end_timeISO8601DateTime!ISO 8601 date-time with a UTC offset
statusCalendarEventStatusType!One of:
REQUESTED,SCHEDULED,CONFIRMED,CHECKED_IN,IN_PROGRESS,COMPLETED,CANCELLED,NO_SHOWis_virtualBoolean!visit_locationVisitLocationType!Where the patient is located for this visit (in-office vs telehealth).
One of:
IN_OFFICE,TELEHEALTHcancelled_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
updated_atISO8601DateTime!ISO 8601 date-time with a UTC offset
doctorUserDoctor!nameString!credentialProviderDegreeTypeMay be nullProfessional degree, as reported to the e-prescribing network.
One of:
MD,DO,NP,PA,DDS,DMD,DPM,OD,DVM,PHARMD,CNM,CRNA,OTHERspecialtyMedicalSpecialtyTypeMay be nullPrimary clinical specialty (shared vocabulary with referrals).
One of:
ALLERGY_IMMUNOLOGY,CARDIOLOGY,DERMATOLOGY,ENDOCRINOLOGY,GASTROENTEROLOGY,GENERAL_SURGERY,HEMATOLOGY,INFECTIOUS_DISEASE,NEPHROLOGY,NEUROLOGY,OBSTETRICS_GYNECOLOGY,ONCOLOGY,OPHTHALMOLOGY,ORTHOPEDICS,OTOLARYNGOLOGY,PAIN_MANAGEMENT,PEDIATRICS,PHYSICAL_THERAPY,PLASTIC_SURGERY,PODIATRY,PRIMARY_CARE,PSYCHIATRY,PULMONOLOGY,RADIOLOGY,RHEUMATOLOGY,UROLOGY,OTHER
roomRoomMay be nullnameString!
appointment_templateAppointmentTemplateMay be nullnameStringMay be nullduration_minutesIntMay be nullDuration in whole minutes
patient_instructionStringMay be null
care_team_memberships
care_team_memberships(after: String, first: Int): CareTeamMembershipConnection!The clinicians on this patient's care team: each one's name, credential, specialty and role, and whether they are the patient's primary clinician. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
care_team_membershipsCareTeamMembershipConnection!countIntMay be nullnodes[CareTeamMembership!]!A list of nodes.
idID!ID of the object.
primaryBoolean!The original provider — locked, cannot be removed from the care team.
doctor_membershipMedicalEstablishmentMembershipMay be nullcoarse_roleString!Coarse role label (Doctor / Administrator)
providerProvider!nameString!Present when the value is a
UserDoctorcredentialProviderDegreeTypeMay be nullPresent when the value is a
UserDoctorProfessional degree, as reported to the e-prescribing network.
One of:
MD,DO,NP,PA,DDS,DMD,DPM,OD,DVM,PHARMD,CNM,CRNA,OTHERspecialtyMedicalSpecialtyTypeMay be nullPresent when the value is a
UserDoctorPrimary clinical specialty (shared vocabulary with referrals).
One of:
ALLERGY_IMMUNOLOGY,CARDIOLOGY,DERMATOLOGY,ENDOCRINOLOGY,GASTROENTEROLOGY,GENERAL_SURGERY,HEMATOLOGY,INFECTIOUS_DISEASE,NEPHROLOGY,NEUROLOGY,OBSTETRICS_GYNECOLOGY,ONCOLOGY,OPHTHALMOLOGY,ORTHOPEDICS,OTOLARYNGOLOGY,PAIN_MANAGEMENT,PEDIATRICS,PHYSICAL_THERAPY,PLASTIC_SURGERY,PODIATRY,PRIMARY_CARE,PSYCHIATRY,PULMONOLOGY,RADIOLOGY,RHEUMATOLOGY,UROLOGY,OTHER
clinic_faq
clinic_faq(): [ClinicFaqEntry!]!The clinic's answers to common questions (parking, payment, cancellation policy and so on): each entry's topic, title and answer.
Parameters
This tool takes no parameters
Response
clinic_faq[ClinicFaqEntry!]!topicClinicFaqTopicType!One of:
HOURS,ADDRESS,PARKING,INSURANCE,NEW_PATIENT,TELEHEALTH,PRESCRIPTIONS,CUSTOMtitleStringMay be nullanswerString!
clinic_hours
clinic_hours(): StringThe clinic's opening hours, as the clinic wrote them.
Parameters
This tool takes no parameters
Response
clinic_hoursStringMay be null
patient_allergies
patient_allergies(after: String, first: Int): PatientAllergyConnection!This patient's recorded allergies: what they are allergic to, the kind of allergy (drug, food, environmental), the reaction and its severity. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
patient_allergiesPatientAllergyConnection!countIntMay be nullnodes[PatientAllergy!]!A list of nodes.
idID!ID of the object.
nameString!allergy_typeAllergyTypeEnum!One of:
DRUG,FOOD,ENVIRONMENTAL,OTHERreactionStringMay be nullseverityAllergySeverityEnumMay be nullOne of:
MILD,MODERATE,SEVERE,UNABLE_TO_ASSESS
patient_insurances
patient_insurances(after: String, first: Int): PatientInsuranceConnection!The insurance policies on file for this patient, primary first: payer, plan type, member, policy and group numbers, subscriber, coverage end date, copay / coinsurance / deductible, and the policy's latest verification as much as the clinic shows its patients (patient_eligibility: disclosure says the level; a field the clinic does not show is null). Clinic staff verify coverage; the patient cannot run a check from here. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
patient_insurancesPatientInsuranceConnection!countIntMay be nullnodes[PatientInsurance!]!A list of nodes.
idID!ID of the object.
priorityIntMay be nullinsurance_typeInsuranceTypeEnumMay be nullOne of:
COMMERCIAL,MEDICAID,MEDICARE,SELF_PAY,UNREGISTEREDinsurance_carrierInsuranceCarrierMay be nulldisplay_nameString!
member_idStringMay be nullpolicy_numberStringMay be nullgroup_numberStringMay be nullplan_codeStringMay be nullsubscriber_nameStringMay be nullCMS-1500 box 4 'Insured's Name' — required when relationship_to_subscriber != 'self'.
relationship_to_subscriberStringMay be nullvalid_untilISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
copay_amountIntMay be nullcoinsurance_percentageIntMay be nulldeductible_amountIntMay be nullpatient_eligibilityPatientEligibilityView!The latest eligibility result on this policy, as much of it as the clinic shows its patients.
disclosurePatientEligibilityDisclosureType!The level the clinic shows; every other field is cut to it.
One of:
HIDDEN,CHECKED,COVERAGE,NETWORK,FULLchecked_atISO8601DateTimeMay be nullWhen the payer answered. Null while no answer has come back, or when the clinic shows nothing.
ISO 8601 date-time with a UTC offset
coveragePatientEligibilityCoverageTypeMay be nullOne of:
ACTIVE,INACTIVE,NOT_FOUND,UNAVAILABLE,PENDINGpayerStringMay be nullplan_nameStringMay be nullcoverage_start_dateISO8601DateMay be nullDate, YYYY-MM-DD
coverage_end_dateISO8601DateMay be nullDate, YYYY-MM-DD
networkPatientEligibilityNetworkTypeMay be nullWhether this practice is in the plan's network. Set on active coverage only.
One of:
IN_NETWORK,OUT_OF_NETWORK,NOT_CONFIRMEDcopay_centsMoneyMay be nullMonetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
coinsurance_percentIntMay be nulldeductible_centsMoneyMay be nullThe plan's annual deductible.
Monetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
deductible_met_centsMoneyMay be nullHow much of the deductible has been met this year.
Monetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
out_of_pocket_max_centsMoneyMay be nullMonetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
out_of_pocket_met_centsMoneyMay be nullHow much of the out-of-pocket maximum has been met this year.
Monetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
portal_appointment_requests
portal_appointment_requests(status: AppointmentRequestStatusType, after: String, first: Int): AppointmentRequestConnection!Appointment requests this patient has sent the clinic: the date and time window asked for, notes, status, and — once staff book it — the scheduled visit. Staff answer requests later: a PENDING request becomes APPROVED or BOOKED (with its calendar_event) or DECLINED, so after requesting, poll this tool to report the answer back. Filter with status; page with first / after.
Parameters
statusAppointmentRequestStatusTypeOptionalOne of:
PENDING,APPROVED,DECLINED,BOOKED,CANCELLEDafterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_appointment_requestsAppointmentRequestConnection!countIntMay be nullnodes[AppointmentRequest!]!A list of nodes.
idID!ID of the object.
statusAppointmentRequestStatusType!One of:
PENDING,APPROVED,DECLINED,BOOKED,CANCELLEDrequested_dateISO8601DateMay be nullDate, YYYY-MM-DD
requested_start_timeStringMay be nullRequested start, HH:MM in the clinic's time zone
requested_end_timeStringMay be nullRequested end, HH:MM in the clinic's time zone
notesStringMay be nullcreated_atISO8601DateTime!ISO 8601 date-time with a UTC offset
updated_atISO8601DateTime!ISO 8601 date-time with a UTC offset
calendar_eventCalendarEventMay be nullidID!ID of the object.
start_timeISO8601DateTime!ISO 8601 date-time with a UTC offset
end_timeISO8601DateTime!ISO 8601 date-time with a UTC offset
statusCalendarEventStatusType!One of:
REQUESTED,SCHEDULED,CONFIRMED,CHECKED_IN,IN_PROGRESS,COMPLETED,CANCELLED,NO_SHOW
portal_diagnoses
portal_diagnoses(after: String, first: Int): DiagnosisInfoDiagnosisConnection!This patient's diagnoses (problem list): each condition's ICD-10 code and name, status, onset and diagnosis dates and any clinician comment. Diagnoses entered in error are left out. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_diagnosesDiagnosisInfoDiagnosisConnection!countIntMay be nullnodes[DiagnosisInfoDiagnosis!]!A list of nodes.
idID!ID of the object.
icd10_codeIcd10CodeMay be nullcodeString!descriptionString!
statusDiagnosisStatusTypeMay be nullOne of:
ACTIVE,INACTIVE,RESOLVED,ENTERED_IN_ERRORonset_dateISO8601DateMay be nullDate, YYYY-MM-DD
diagnosis_dateISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
diagnosis_end_dateISO8601DateMay be nullDate, YYYY-MM-DD
commentStringMay be null
portal_documents
portal_documents(document_type: DocumentTypeEnum, after: String, first: Int): DocumentConnection!Documents the clinic has shared with this patient (forms, letters, results, uploaded files): name, type, and whether and when it was signed. Filter with document_type; page with first / after.
Parameters
document_typeDocumentTypeEnumOptionalOne of:
PROVIDER_UPLOAD,PATIENT_UPLOAD,SUPERBILL,INTAKE_FORM,SPRAVATO_REMSafterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_documentsDocumentConnection!countIntMay be nullnodes[Document!]!A list of nodes.
idID!ID of the object.
nameString!document_typeDocumentTypeEnum!One of:
PROVIDER_UPLOAD,PATIENT_UPLOAD,SUPERBILL,INTAKE_FORM,SPRAVATO_REMScategoryDocumentCategoryType!What the document is about, for filing and filtering.
One of:
LAB_RESULT,IMAGING,CLINICAL_PHOTO,CORRESPONDENCE,REFERRAL,OUTSIDE_RECORDS,INSURANCE,IDENTIFICATION,ADVANCE_DIRECTIVE,OTHERsignature_statusSignatureStatusType!One of:
NOT_REQUIRED,PENDING,COMPLETED,DECLINEDsigned_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
created_atISO8601DateTime!ISO 8601 date-time with a UTC offset
portal_invoices
portal_invoices(status: InvoiceStatusType, after: String, first: Int): InvoiceConnectionThis patient's bills from the clinic: invoice number, date, status, and the total and balance due in cents. Filter with status (e.g. UNPAID, PAID); page with first / after.
Parameters
statusInvoiceStatusTypeOptionalOne of:
DRAFT,UNPAID,PAID,PARTIALLY_PAID,VOID,CANCELLEDafterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_invoicesInvoiceConnectionMay be nullcountIntMay be nullnodes[Invoice!]!A list of nodes.
idID!ID of the object.
invoice_numberString!invoice_dateISO8601Date!Date, YYYY-MM-DD
statusInvoiceStatusType!One of:
DRAFT,UNPAID,PAID,PARTIALLY_PAID,VOID,CANCELLEDsubtotal_centsMoneyMay be nullMonetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
total_centsMoneyMay be nullMonetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
balance_due_centsMoneyMay be nullMonetary amount stored as integer cents with currency code, e.g. { amount_cents: 1050, currency: 'USD' }
memoStringMay be null
portal_lab_orders
portal_lab_orders(after: String, first: Int): LabOrderConnection!This patient's resulted lab orders and their released results: the test, value, unit, reference range and abnormal flag, with the ordering clinician and dates. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_lab_ordersLabOrderConnection!countIntMay be nullnodes[LabOrder!]!A list of nodes.
idID!ID of the object.
statusLabOrderStatusType!One of:
DRAFT,ORDERED,COLLECTED,RESULTED,CANCELLEDpriorityLabOrderPriorityType!One of:
ROUTINE,ASAP,STATordered_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
reviewed_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
ordering_providerUserDoctorMay be nullnameString!
lab_resultsLabResultConnection!nodes[LabResult!]!A list of nodes.
idID!ID of the object.
valueString!unitStringMay be nullreference_rangeStringMay be nullabnormal_flagLabResultAbnormalFlagType!One of:
NORMAL,LOW,HIGH,CRITICAL_LOW,CRITICAL_HIGH,ABNORMALobserved_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
resulted_atISO8601DateTime!ISO 8601 date-time with a UTC offset
noteStringMay be nullloinc_codeLoincCodeMay be nulllong_common_nameString!
portal_medications
portal_medications(after: String, first: Int): MedicationConnection!This patient's current and past medications: name, dose, how often and how to take it, status, start and end dates, prescriber, pharmacy and refill dates. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
portal_medicationsMedicationConnection!countIntMay be nullnodes[Medication!]!A list of nodes.
idID!ID of the object.
nameString!dosageStringMay be nullfrequencyStringMay be nullrouteStringMay be nulldirectionsStringMay be nullHow to take this medication — the sig from the most recent linked prescription.
statusMedicationStatusType!One of:
ACTIVE,DISCONTINUED,ON_HOLD,ENTERED_IN_ERRORstart_dateISO8601DateMay be nullDate, YYYY-MM-DD
end_dateISO8601DateMay be nullDate, YYYY-MM-DD
prescribed_by_nameStringMay be nullpharmacy_nameStringMay be nullpharmacy_phonePhoneNumberMay be nullE.164 phone number, e.g. +15551234567
last_filled_dateISO8601DateMay be nullDate, YYYY-MM-DD
next_refill_dateISO8601DateMay be nullDate, YYYY-MM-DD
refill_stateMedicationRefillStateType!Where the latest refill stands: requested, approved and waiting to be sent, sent, or denied.
One of:
NONE,REQUESTED,APPROVED_NOT_SENT,SENT,DENIED
portal_tasks
portal_tasks(): [PatientTask!]!What this patient's clinic is waiting on them to do, as shown on their portal home page: unfinished intake, check-in questionnaires that are due, consents and forms to sign, a request to re-confirm insurance or redo intake sections, and today's mood check-in. Each task has its kind, title, the clinic's note if it left one, when it was asked, and url: the portal page where the patient completes it. No tool completes a task, so give the patient that link. A finished task drops off the list; an empty list means nothing is outstanding.
Parameters
This tool takes no parameters
Response
portal_tasks[PatientTask!]!kindPatientTaskKind!What the patient is being asked to do.
One of:
INTAKE,MOOD_CHECK_IN,SURVEY,CONSENT,FORM_SIGNATURE,INSURANCE_UPDATE,INTAKE_SECTIONStitleString!What it is, by name where it has one: the questionnaire, form or consent.
urlString!Link to the patient portal page where the patient completes this task.
noteStringMay be nullWhat the clinic told the patient about this ask, in its own words. Null when it added nothing.
requested_atISO8601DateTimeMay be nullWhen the clinic asked. Null for a standing task nobody sent, such as the daily mood check-in.
ISO 8601 date-time with a UTC offset
portal_vital_measurements
portal_vital_measurements(): [VitalMeasurement!]!This patient's vital-sign readings recorded at signed visits (blood pressure, heart rate, weight, temperature and so on): each reading's measure, value and when it was taken.
Parameters
This tool takes no parameters
Response
portal_vital_measurements[VitalMeasurement!]!metricVitalMetricType!One of:
BP_SYSTOLIC,BP_DIASTOLIC,HEART_RATE,RESPIRATORY_RATE,TEMPERATURE_F,SPO2,WEIGHT_LB,HEIGHT_IN,PAIN_SCORE,BMIvalueFloat!recorded_atISO8601Date!The day the reading is charted under, in the clinic's time zone
Date, YYYY-MM-DD
signed_clinical_notes
signed_clinical_notes(after: String, first: Int): ClinicalNoteConnectionVisit notes the clinic has signed and released to this patient, newest first: title, type, visit date, the note text and the clinician who wrote it. Page with first / after.
Parameters
afterStringOptionalReturns the elements in the list that come after the specified cursor.
firstIntOptionalReturns the first n elements from the list.
Response
signed_clinical_notesClinicalNoteConnectionMay be nullcountIntMay be nullnodes[ClinicalNote!]!A list of nodes.
idID!ID of the object.
titleString!note_typeNoteTypeEnumMay be nullOne of:
CUSTOM,EVALUATION,IM_KETAMINE,IV_KETAMINE,KAP,MEDICAL_SOAP,MEMO,PSYCHOTHERAPY,SIMPLE_CLINICAL,SPRAVATO,THERAPY_SOAP,BLANK,TMS_SESSION,BRIEF_MED_MGMT,SUD_ASSESSMENT,GROUP_THERAPY,COUPLES_FAMILY_THERAPY,INTAKE,ANNUAL_PHYSICAL,PEDIATRIC_WELL_CHILD,OB_PRENATAL,PAIN_MANAGEMENT,PROCEDURE,PREOP_HP,DISCHARGE_SUMMARY,TELEHEALTH,URGENT_CARE,CARDIOLOGY,DERMATOLOGY,NEUROLOGY,ENDOCRINE,GASTROENTEROLOGY,PULMONARY,ORTHOPEDICnote_dateISO8601Date!Date, YYYY-MM-DD
signed_atISO8601DateTimeMay be nullISO 8601 date-time with a UTC offset
bodyStringMay be nullrendering_providerUserDoctorMay be nullnameString!credentialProviderDegreeTypeMay be nullProfessional degree, as reported to the e-prescribing network.
One of:
MD,DO,NP,PA,DDS,DMD,DPM,OD,DVM,PHARMD,CNM,CRNA,OTHER
Was this article helpful?