Organization

Provides API methods related to an Organization.

APIDescription
GET ping

Ping: Can be used to test for API server connectivity. Returns string "Alive".

GET v1/organization/serviceproviders?forOrdersOnly={forOrdersOnly}

Get Service Providers: Get list of services providers (labs and imaging providers) defined in the organization.

GET v1/organization/ordermap?serviceprovider={serviceprovider}&full={full}

Get Order Map: Get a list of order map entries in the given service provider's published Order Map.

GET v1/organization/ordermaplastupdated?serviceprovider={serviceprovider}

Get Order Map Last Update: Get a UTC timestamp of the last time a given service provider's Order Map was published.

GET v1/organization/searchordermap?searchtext={searchtext}&searchfield={searchfield}&searchtype={searchtype}&defaultserviceprovider={defaultserviceprovider}&preferredserviceprovider={preferredserviceprovider}

Search Order Map: Search a service provider ordermap for a specific test

GET v1/organization/providers

Get Providers: Get list of providers (physicians) defined in the organization.

POST v1/organization/providers/pccupdate

Update Providers (PCC EMR only): Update list of providers (physicians) defined in the organization. This can be an Add, Update, or Remove. If an Update is attempted but no provider can be found using the ProviderSearchValues or the non-null Update Values (filled in with the ProviderSearchValues as necessary), a new provider will be added. For Update and Remove actions, the ProviderSearchFields must contain values for Last Name, First Name, and NPI. For Add actions, the ProviderAddUpdateValues must contain values for Last Name, First Name, and NPI.

GET v1/organization/serviceprovideraccounts?serviceprovidername={serviceprovidername}

Get Service Provider Accounts: Get list of service provider (lab and imaging) accounts defined in the organization. An optional serviceprovidername parameter can be passed to specify a particular service provider. If not supplied, the accounts for all service providers in the organization are returned. The service provider name must match the lab connection name in the organization's lab list.

GET v1/organization/ordersets

Get Order Sets: Get list of Order Sets defined in the organization.

GET v1/organization/orderentrysettings?serviceprovidername={serviceprovidername}

Get Order Entry Settings: Get a set of Order Entry Settings that can be used to control the order entry behavior for a given service provider.

POST v1/organization/authenticatedaccess

Get Authenticated Access URL: Request a URL that provides authenticated access to a specific area of EMR-Link

Results

Provides API methods related to Results.

APIDescription
GET v1/results/download?serviceprovider={serviceprovider}&mode={mode}&limit={limit}

Get Results: Retrieve results provided by a service provider not downloaded before.

GET v1/results/confirmdownload?batchids={batchids}&failedResultIDs={failedResultIDs}

Confirm Result Download: Confirm the download of results

Patient

Provides API methods related to a Patient.

APIDescription
GET v1/patient/observations?chartID={chartID}&obsCodes={obsCodes}&lastOnly={lastOnly}&startDate={startDate}&endDate={endDate}&patientFieldList={patientFieldList}

Get Observations: Retrieve result observation values for a given patient.

Order

Provides API methods related to an Order.

APIDescription
GET v1/order/remove?EMRLinkOrderID={EMRLinkOrderID}&permanently={permanently}&reason={reason}

Remove Order: Remove an existing order if it has not been transmitted to the service provider already or the service provider allows for a cancellation message to be sent. If the order has already been transmitted and the service provider does not accept cancellation messages, an error message will be returned.

GET v1/order?EMRLinkOrderID={EMRLinkOrderID}

Get Order: Get an existing order. Lookup order based on the EMR-Link generated Order ID.

POST v1/order/defaultserviceprovider

Get Default Service Provider: Provides the default service provider for an order. If a preferred and default service provider are configured, it returns both. Default service providers are determined by a combination of Location and Insurance rules.

POST v1/order/routing

Get Order Routing and Splitting: Provides Order routing and splitting information. This method should be used after tests are selected to determine what service providers will be used and how tests might split out to separate orders because of various splitting rules.

POST v1/order/requiredfields

Get Required Fields: Provides a list of fields that are required for either sending the order directly to the service provider or to the service provider's Patient Service Center (PSC).

POST v1/order/serviceprovideraccounts

Get Accounts: Get list of accounts for the service provider and authorizing provider identified in given order.

POST v1/order/medicalnecessity

Get Medical Necessity Info: Get medical necessity information for a given order.

POST v1/order/create?allowTestAddition={allowTestAddition}&requiredFieldCheck={requiredFieldCheck}&sendImmediately={sendImmediately}

Create Order: Create and save an order in EMR-Link (and optionally immediately send the order to a service provider).

POST v1/order/update?requiredFieldCheck={requiredFieldCheck}&sendImmediately={sendImmediately}

Update Order: Update an existing order in EMR-Link. Lookup will be based on the EMRLinkOrderID that was assigned to the order during creation by EMR-Link. All data previously sent for the order will be overwritten with the new order data.

GET v1/order/send?EMRLinkOrderID={EMRLinkOrderID}&sendType={sendType}

Send Order: Send an existing order to the service provider.

GET v1/order/abnform?EMRLinkOrderID={EMRLinkOrderID}&FormatType={FormatType}&spanish={spanish}&largePrint={largePrint}

Get ABN Form: Generate and return a filled-in ABN form for the given order in either PDF or HTML format.

GET v1/order/requisitionform?EMRLinkOrderID={EMRLinkOrderID}&FormatType={FormatType}

Get Requisition: Get either a PDF or HTML formatted requisition form for a given order.

GET v1/order/specimeninfo?EMRLinkOrderID={EMRLinkOrderID}

Get Specimen Storage and Handling Info: Get a list of specimen storage and handling info for each test in a given order.

GET v1/order/specimenlabel?EMRLinkOrderID={EMRLinkOrderID}&FormatType={FormatType}&PDFMarginLeft={PDFMarginLeft}&PDFMarginTop={PDFMarginTop}

Get Specimen Label: Get either a PDF or HTML formatted specimen label for a given order.

POST v1/order/initiate?runSplittingLogicOnImport={runSplittingLogicOnImport}&enableTestLevelScheduledDateSplitting={enableTestLevelScheduledDateSplitting}&allowTestAddition={allowTestAddition}

Initiate Order: Initiate a partial order in EMR-Link. This method is only to be used if the order is to be completed using the EMR-Link application. It should not be used if the Web API is used to fully integrate the ordering process in the EMR.

POST v1/order/submitORM

Submit ORM: Submit an ORM to EMR-Link for transmission to service provider.

GET v1/order/cptcodes?EMRLinkOrderID={EMRLinkOrderID}

Get CPT Codes: Get a list of CPT codes for the tests and service provider in a given order.

POST v1/order/updatesigninginfo

Update Signing Info: Update the signing info of an existing order in EMR-Link. Lookup will be based on the EMRLinkOrderID that was assigned to the order during creation by EMR-Link. If a TestIDList is specified, only the tests listed will have their signing info updated. Otherwise, all tests in the order will be updated.

Orders

Provides API methods related to Orders.

APIDescription
GET v1/orders/patientorderlist?patientid={patientid}&lastname={lastname}&firstname={firstname}&dob={dob}&startdate={startdate}&todayonly={todayonly}&includeremoved={includeremoved}

Retrieve Patient Orders: Retrieve a list of orders for a given patient. The minimum patient information must include the patient ID.

GET v1/orders/activity?startdate={startdate}&enddate={enddate}&locname={locname}&locabbrev={locabbrev}&patientid={patientid}&lastname={lastname}&firstname={firstname}&dob={dob}

Get Order Activity: Get activity information related to orders for a given date/time through the end of day. Can optionally provide a Location Name and/or Location Abbreviation for filtering the order list on a specific Location of Care. Can optionally get order activity for a specific patient. If no patient information is supplied, order activity will be retrieved for all patients within the specified date/time range. Note that if PHI data (e.g. Last Name, First Name, DOB, Patient ID) is needed for the filtering, it is better to use the POST version of Get Order Activity.

POST v1/orders/activity

Get Order Activity: Get activity information related to orders for a given date/time through the end of day. Can optionally provide a Location Name and/or Location Abbreviation for filtering the order list on a specific Location of Care. Can optionally get order activity for a specific patient. If no patient information is supplied, order activity will be retrieved for all patients within the specified date/time range. Note that this version of Get Order Activity is an HTTP Post and expects the parameters to be passed in the body of the request which protects it from having PHI exposed to logging facilities.

ServiceProvider

Provides API methods for service provider (Labs/Imaging providers) use only.

APIDescription
GET v1/serviceprovider/GetOrders?mode={mode}&serviceProviderConnectionAuthCode={serviceProviderConnectionAuthCode}

Get Service Provider Orders: Get Orders destined for a service provider. This can be used by a lab or imaging provider to retrieve orders from EMR-Link queued up and ready for that service provider. This call must be followed up with a call to ConfirmGetOrders to acknowledge the successful download.

GET v1/serviceprovider/ConfirmGetOrders?mode={mode}&serviceProviderConnectionAuthCode={serviceProviderConnectionAuthCode}&ackResponse={ackResponse}

Confirm Service Provider Orders Retrieval: Confirm the successful retrieval of orders. This must be used by a lab or imaging provider to confirm the retrieval of orders after calling the GetOrders API method. If this request is not made after a successful call to GetOrders, the orders will not be marked as downloaded and will be retrieved again in the next call to GetOrders resulting in duplicate orders.

POST v1/serviceprovider/SendResults?mode={mode}&serviceProviderConnectionAuthCode={serviceProviderConnectionAuthCode}

Send Service Provider Results: Send Results to EMR-Link. This can be used by a lab or imaging provider to send result files to EMR-Link.

GET v1/serviceprovider/IsValidAccount?serviceprovidername={serviceprovidername}&accountNumber={accountNumber}

Check if Account is valid: Can be used by a lab or imaging provider to determine if an account is currently associated with an EMR-Link customer and service provider.