NAV
  • Introduction
  • Getting Started
  • API Import and Management Guidance
  • Partner Authorization
  • SMART App Authorization
  • Metadata
  • Patient
  • Location
  • Practitioner
  • Account
  • Coverage
  • Organization
  • Provenance
  • Bulk Export
  • Frequently Asked Questions
  • Introduction

    The Nextech Select APIs provide secure access to patient data through a RESTful implementation based on the R4 (4.0.1) version of the FHIR® standard, and are protected by the OAuth 2.0 standard. All API requests are performed over HTTPS, and must use TLS 1.2.

    Available API functionality:

    Before you can start using our APIs, you must go through our registration process. Continue to the Getting Started section for more information on the different authorization models, and their respective registration processes.

    Getting Started

    All API requests are performed over HTTPS, and must use TLS 1.2. Although the FHIR® standard supports both JSON and XML, this API currently only supports JSON. Therefore any type explicitly defined in the request's Accept header will be ignored.

    Before you can access the Nextech API you must have the proper credentials for authorization. These credentials will be provided to you by your Nextech representative, and vary depending on how you wish to integrate with the Nextech API. There are two different authorization models available for accessing the Nextech API: SMART App authorization, and partner authorization. See each linked authorization section for more information on each, including how to register your application with the Nextech API and acquire the necessary credentials.

    Base API Endpoint
    https://select.nextech-api.com/api/r4

    API Limitations
    - Users of the Nextech API are restricted to a rate limit of 20 requests per second per endpoint
    - Nextech is not responsible for the development or maintenance of any third-party application

    Rate Limiting

    Rate limiting of the API is primarily on a per-user, per-endpoint basis. The default rate limit of 20 requests per second per endpoint. When a user exceeds the rate limit for a given API endpoint, the API will reject the request and return a HTTP 429 “Too Many Requests” response code. The API rate limit is subjet to change.

    Handling 429 response codes

    If your API user exceeds the rate limit, you will receive a HTTP 429 response code. We advise to design to handle these requests with Exponential backoff.

    Best practices to avoid Rate Limiting
    - The API is intended for on-demand requests for user interaction in real-time, try to avoid synchronizing data.
    - Requests should be staggered as much as possible to avoid bursts of high traffic volume.
    - Cache your own data when you need to store specialized values or rapidly review very large data sets.
    - Query with _lastUpdated search parameters to avoid re-querying unmodified data.
    - If you need to synchronize data, it is best to do so during non-peak business hours. Which vary on a per practice basis.

    Using Postman

    You can use Postman to make a simple request to the metadata endpoint:  

    GET https://select.nextech-api.com/api/r4/metadata
    
      Each rest.resource member in the metadata response contains information about all FHIR resources that are supported, along with the supported interactions and search parameters for each resource.

    Searching

    Searches may be performed via HTTPS calls to the API where supported.

    A search is executed by performing a GET operation in the RESTful framework
    GET https://select.nextech-api.com/api/r4/[type]?[field1][:modifier1]=[value1]&[field2][:modifier2]=[value2]...
    where [type] refers to a resource such as Patient or Immunization followed by one or more query filters and optional modifiers.

    Multiple Values on One Field

    To search for a field that meets at least one of several values, each value should be specified and separated by a comma.

    Example: Get patients who live in several nearby cities

    GET https://select.nextech-api.com/api/r4/Patient?address-postalcode=33609,33625,33647
    
     

    Multiple Fields

    To search for multiple fields that all must meet certain criteria, each field should be specified and separated by an ampersand.

    Example: Search for encounters for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' that took place between and including 1/1/2022 through 11/14/2022

    GET https://select.nextech-api.com/api/r4/Encounter?patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    
     

    Modifiers

    A modifier defines how a search match should be performed for a field. A modifier must appear after the field name with a preceeding colon followed by the modifier name.

    Modifier Description
    exact The value must match the data exactly
    contains The data must contain the value

    Example: Get all patients whose last name is Smith

    GET https://select.nextech-api.com/api/r4/Patient?family:exact=Smith
    
     

    Example: Get all patients whose last name contains the text "mit"

    GET https://select.nextech-api.com/api/r4/Patient?family:contains=mit
    
     

    Operators

    Numeric and date values can be combined with operators to search on ranges of values. The following operators are supported:

    Operator Description
    gt Greater Than
    ge Greater Than or Equal to
    lt Less Than
    le Less Than or Equal to
    eq Equals
    ne Not Equal to

    Example: Get the patients with chart numbers between and including 100 and 200

    GET https://select.nextech-api.com/api/Patient/r4?identifier=ge100&identifier=le200
    
     

    Example: Search for immunizations for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' administered between and including 1/1/2022 through 11/14/2022

    GET https://select.nextech-api.com/api/r4/Immunization?patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    
     

    Search Parameter Types

    String

    When matching a simple text string with data, the match is always case-insensitive and always ignores whitespace before and after the data. The default search attempts to match just the start of the data, and you may use a modifier to force an exact match or a match where the data contains the string.

    Example: Get all patients whose last name begins with Smith

    GET https://select.nextech-api.com/api/r4/Patient?family=Smith
    
     

    Number

    By default, exact matches are performed in numeric searches. You may use operators to specify a numeric range.

    Example: Get the patient with chart number 3442

    GET https://select.nextech-api.com/api/r4/Patient?identifier=3442
    
     

    Date

    By default, exact matches are performed in date searches. You may use operators to specify a date range.

    Example: Get immunizations for the month of October 2022

    GET https://select.nextech-api.com/api/r4/Immunization?date=ge2022-10-01&date=lt2022-11-01
    
     

    Human Name

    Some resources have abstract fields which contain a first name, last name, prefix and suffix. When searching on names, each of those fields are searched individually. The way those fields are matched are consistent with how String searches work, and modifiers may be used to change how the matching works.

    Example: Get the patients whose first name, last name, prefix or suffix begins with Doe

    GET https://select.nextech-api.com/api/r4/Patient?name=doe
    
     

    Address

    Some resources have abstract fields which contain an Address 1, Address 2, City, State and Postal Code field. When searching on address, each of these fields are searched individually. The way those fields are matched are consistent with how String searches work, and modifiers may be used to change how the matching works.

    Example: Get the patients whose Address 1, Address 2, City, State or Zip code begins with 1500

    GET https://select.nextech-api.com/api/r4/Patient?address=1500
    
     

    Writing

    Currently, only creating a document via a POST https://select.nextech-api.com/api/r4/DocumentReference call is supported.

     

    Pagination

    When a search results in multiple matches, the first ten matches ordered by entered date are returned by default. Included in the result are links to the first set of matches, the following set of matches, the previous set of matches and the last set of matches.

    You may overide the number of matches returned, up to fifty, by including _count={number} in your search.

    GET https://select.nextech-api.com/api/r4/Patient?_count=25

    Response Codes

    The Nextech Select APIs use the standard HTTP response codes to indicate success or failure of an API request.

    Code Description
    200 OK - Successful request
    400 Bad Request - The request is missing information or is malformed
    401 Unauthorized - The request lacks valid authentication credentials
    403 Forbidden - The request is valid, but the server is refusing action
    404 Not Found - The requested resource cannot be found
    408 Request Timeout - Client did not send a request in the time the server was expecting
    422 Unprocessable Entity - Unable to process the contained instructions
    429 Too Many Requests - The user has sent too many requests in a given amount of time
    500 Internal Server Error - We had a problem with our server
    501 Not Implemented Error - Requested implementation is not available
    502 Bad Gateway - Communication has been disrupted
    523 Authentication Fault - Unexpected exception in regards to authentication

    Exception Handling

    Remarks

    Some resources contain a Remarks section at the end of its documentation page, which contains details on common questions and solutions for that resource.

    API Import and Management Guidance

    This section describes how to import and manage the Nextech Partner API using Azure API Management (Azure APIM).

    OpenAPI Specifications

    Two OpenAPI 3.0.3 specification files are available for direct download:

    File API Version Base URL Operations
    nextech-partner-api-stu3.openapi.json FHIR STU3 https://select.nextech-api.com/api 47
    nextech-partner-api-r4.openapi.json FHIR R4 https://select.nextech-api.com/api/r4 80

    Intended OpenAPI Version

    Both specifications use OpenAPI 3.0.3. OpenAPI 3.1.x is not used because Azure API Management does not fully support it as of 2024. OpenAPI 2.0 (Swagger) was considered but 3.0.3 provides better support for securitySchemes, multiple auth requirements, and header-based API keys.

    Importing into Azure API Management

    Import Steps

    1. In the Azure Portal, navigate to your APIM instance.
    2. Select APIs → Add API → OpenAPI.
    3. Upload or paste the URL to the desired spec file (STU3 or R4).
    4. Set the API URL suffix (e.g., partner-stu3 or partner-r4).
    5. Configure the product and subscription settings.

    Authentication Configuration

    All partner endpoints require two credentials, both of which must be configured in APIM:

    Credential Type Header Name Notes
    Bearer Token OAuth2 (Resource Owner Credentials) Authorization Token endpoint: https://login.microsoftonline.com/nextech-api.com/oauth2/token
    Practice ID API Key nx-practice-id Provided by Nextech during partner registration

    Recommended APIM policy: Use an inbound set-header policy to inject the nx-practice-id from a named value or subscription property, and use the validate-jwt or oauth2-token policy to handle Bearer token acquisition and forwarding.

    Named Values

    Configure these as Named Values in APIM: - nextech-token-endpoint → https://login.microsoftonline.com/nextech-api.com/oauth2/token - nextech-api-resource → https://select.nextech-api.com/api - nextech-practice-id → (per-tenant value, store as Secret)

    Known Constraints and Intentional Omissions

    Omitted from Specs

    Azure APIM Constraints Applied

    BulkExport Async Pattern (R4 only)

    Bulk export endpoints (/Patient/$export, /Group/{groupId}/$export, /$export) return 202 Accepted with a Content-Location header pointing to the polling URL. Configure APIM with an extended backend timeout (minimum 30 seconds) for the polling endpoint (GET /Export/{exportJobId}).

    Assumptions

    1. Partner auth is the primary integration model. All endpoints are modeled with bearerAuth + practiceId. SMART on FHIR is excluded from these specs.
    2. STU3 and R4 are separate imports. They have different base URLs and endpoint surfaces; they should be imported as two separate APIs in APIM.
    3. FHIR resource schemas are simplified. Full HL7 FHIR JSON schemas are very large and contain recursive structures incompatible with APIM. The schemas in these specs model the key fields documented by Nextech, not the complete FHIR spec.
    4. Rate limiting is handled externally. The 20 req/sec/endpoint limit should be enforced via APIM rate-limit policies rather than relying on the backend 429 response alone.
    5. nx-practice-id is tenant-scoped. Each practice has a unique ID; APIM product/subscription configuration should map subscribers to their practice ID via policy or Named Values.

    Partner Authorization

    Partner Authorization Overview

    Nextech's implementation of the FHIR® standard is protected by the OAuth 2.0 standard for authenticating requests. All API requests are authenticated by passing a Bearer token in the Authorization Header, which can be obtained via your Nextech-provided credentials (see the "Registration" section below).

    Required Headers

    The following values are required in the header for every request:

    Name Description Required?
    Authorization Every request requires a Bearer token Bearer {access_token} Yes
    nx-practice-id The unique identifier for a practice Yes

    Registration

    Before you can start using the Nextech API, you must go through our registration process. If you're interested in API access for your practice, please contact us here. Upon completion of the registration process, Nextech will provide you with credentials that are necessary for proper authorization with the Nextech API. These credentials will expire on your first login and must be reset through Microsoft here.

    Request Access Token

    Access tokens are used to make API requests on behalf of a user. These tokens are short-lived (1 hour by default) but should be kept confidential in transit and in storage. A access_token and refresh_token pair is issued when requesting an access token.

    HTTP Request
    POST https://login.microsoftonline.com/nextech-api.com/oauth2/token

    Parameter Description
    grant_type Use password (Resource owner credentials grant)
    client_id Application ID
    username Resource owner username

    Refresh Access Token

    Refresh tokens are used to renew an expired access token without providing user credentials. A access_token and refresh_token pair is issued when requesting an access token using the resource owner credentials grant. A new pair is also generated when using the refresh_token grant type.

    HTTP Request
    POST https://login.microsoftonline.com/nextech-api.com/oauth2/token

    Parameter Description
    grant_type Always refresh_token
    client_id Application ID
    refresh_token A valid refresh token

    Response Parameters

    Parameter Description
    token_type Always Bearer
    scope Always user_impersonation
    expires_in The lifetime of the access token, in seconds. Default 3600
    access_token The bearer token used in the Authorization header for subsquent requests
    refresh_token A long-lived token (14 days) used to renew expired access tokens without providing user credentials

    Authorization With Postman

    Postman makes it easy to acquire OAuth 2.0 access tokens. Use the information listed below for obtaining a token via the authorization_code grant type. When requesting a new token, you will be redirected to the Auth URL listed below where you can enter your user credentials to authenticate.

    Field Value
    Auth URL https://login.microsoftonline.com/nextech-api.com/oauth2/authorize?resource=https%3A%2F%2Fselect.nextech-api.com%2Fapi
    Access Token URL https://login.microsoftonline.com/nextech-api.com/oauth2/token
    Callback URL https://www.getpostman.com/oauth2/callback
    Client ID Your application ID
    Grant Type Authorization Code
    Client Authentication Send client credentials in body

    SMART App Authorization

    SMART on FHIR Technology Overview

    SMART on FHIR Authorization Overview

    SMART apps are able to access through SMART on FHIR authorization standards.

    Registration

    In order to create a SMART app that can access FHIR resources from the Nextech API, the app must first be registered with Nextech, and issued required authentication information. Visit the app registration form to submit your request. There are a few different pieces of information that will need to be provided to Nextech upon app registration, which vary depending on the SMART app's use case:

    Public and Confidential Clients

    If the app is capable of securely storing a secret, it is considered to be a confidential client, and will be issued a client secret, along with a client ID, after the Nextech app registration process has completed. Both of these must be used to authenticate with the Nextech authorization server. NOTE: This secret value will only be received once: Make sure the Client Secret is securely stored and maintained; Nextech will not be able to provide this secret value again once registration has completed.

    If the app is not capable of securely storing a secret, then it is considered to be a public client, and will only be issued a client ID after the Nextech app registration process has completed. NOTE: Because Nextech requires the use of PKCE (see the "PKCE" section of this documentation below for more details), native apps may store refresh tokens, despite being "public" clients. Such apps must properly secure such refresh tokens.

    Examples of confidential clients include:

    Examples of public clients include:

    Supported SMART on FHIR app types

    There are three different types of SMART apps that Nextech supports for communicating with the Nextech API:

    Patient-facing apps

    SMART apps of this type are intended for use by a single patient, and require that the patient (and their associated practice) be setup with a myPatientVisit patient portal user account. Once setup, patient apps must follow the standlone launch (1.0.0) sequence, as defined by the SMART app framework specification, which uses the authorization code flow (described further below).

    Patient-facing apps must request, at a minimum, the below scopes in their authentication request to the Nextech authorization server, in addition to whatever other access scopes are required by the application:

    Practitioner-facing apps

    SMART apps of this type are for use by a practitioner within a practice, and can be allowed to access all patient information in the practice, or can instead be focused on a single patient at a time. The practice that the practitioner is associated with must be setup with myPatientVisit. Once setup, practitioner apps may follow either the standlone launch sequence (1.0.0) or the EHR launch sequence (1.0.0) as defined by the SMART app framework specification, both of which use the authorization code flow (described further below).

    For practitioner apps following the EHR launch sequence, the app that resides at the launch URL provided to Nextech upon client registration must use the provided iss URL parameter, which should always point to the Nextech API URL ( https://select.nextech-api.com/api/r4) to query either the Nextech API 's metadata endpoint (https://select.nextech-api.com/api/r4/metadata) or SMART configuration endpoint (https://select.nextech-api.com/api/r4/.well-known/smart-configuration), both of which contain in their responses OAuth authorize and token endpoint URLs for use in requesting authorization to access the Nextech API via the Nextech authorization server.

    Practitioner-facing apps must request, at a minimum, the below scopes in their authorization request to the Nextech authorization server, in addition to whatever other access scopes are required by the application:

    Authorization code flow

    The authorization code workflow, which must be used by both patient- and practitioner-facing SMART apps, follows the below steps, and must use PKCE with a SHA-256 code challenge hashing scheme :

    Step 1. The SMART app redirects the user to the Authorization Server (or in the case of a native application, opens a web browser) at a URL similar to the following:

    https://sts.mypatientvisit.com/connect/authorize?aud=https://select.nextech-api.com/api/r4&response_type=code&client_id={appClientID}&scope=openid%20offline_access%20fhirUser%20launch%2Fpatient%20patient%2FAllergyIntolerance.read&redirect_uri=https%3A%2F%2FmySmartApp.com%2Fcallback&code_challenge={sha256HashOfRandomString}0&code_challenge_method=S256&state={someUnpredictableValue}
    

    URL parameter notes:

    Name Description
    aud This is the base URL to the Nextech API that the app is requesting access to pull FHIR resources from, and will always be https://select.nextech-api.com/api/r4
    response_type This is always set to code for the authorization flow
    client_id This is the unique identifier for the SMART application, issued by Nextech
    scope indicates the space-delimited set of scopes that the SMART app is requesting
    redirect_uri This is the URI that belongs to the SMART application, which the app user will be redirected to, once the authorization flow completes
    code_challenge This is the Base64-encoded SHA-256 hash of the random string generated for the request (as part of PKCE)
    code_challenge_method This should always be S256, to indicate the hashing method of the code_challenge value that is supplied, for use with PKCE
    state An unpredictable value with at least 122 bits of entropy (e.g., a properly configured random UUID is suitable) that is tied to the user's current session, and can be verified at the end of the authorization code flow to make sure that no replay attacks have occurred

    Step 2: The Nextech authorization server presents the user with a login screen. For patient-facing SMART applications, patients will need to sign in using their myPatientVisit user account, select a patient, and then consent to the scopes that they want to allow the app to use to request information on their behalf. For practitioner-facing SMART applications, the practitioner will be prompted to log in using their Nextech software's user credentials (and, if the launch/patient scope is requested for a standalone launch sequence, select a patient context to use for the application), and then consent to the scopes that they want to allow the app to use to request information on their behalf.

    Step 3: The Nextech authorization server redirects the user back the the redirect_uri that was provided in step 1, and adds a code parameter onto the URL, which is a temporary authorization code provided by the Nextech authorization server that the SMART app now must exchange in order to get a back an access token that can be used to access the Nextech API's FHIR resources. Additionally, the state parameter should be verified to be the same state token provided in the request in step 1. Example:

    https://mySmartApp.com/callback?code=aded553gr3g7dggakG&state={someUnpredictableValue}
    

    Step 4: The SMART app now must call the Nextech authorization server to exchange its authorization code for an access token, which it must do via a request like below:

    POST /connect/token
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic [client ID and secret]

    client_id={appClientID}&grant_type=authorization_code&code=aded553gr3g7dggakG&redirect_uri=https://mySmartApp.com/callback&scope=openid%20offline_access%20fhirUser%20launch%2Fpatient%20patient%2FAllergyIntolerance.read&aud=https://select.nextech-api.com/api/r4&code_verifier={someRandomString}

    Header notes:

    Name Description
    Content-Type must be set to application/x-www-form-urlencoded
    Authorization This header is optional, and must only be used if the SMART app client is a confidential client (i.e. it has a client secret configured that it is capable of securely storing). This header uses Basic auth, which will have the string Basic, followed by a space, followed by the Base-64 encoding of the string in the form [client ID]:[client secret].

    Parameter notes:

    Name Description
    client_id This is the same Nextech-issued client ID that was used in step 1 above
    grant_type This is always set to authorization_code
    code This is code received from the Nextech authorization server in step 3 above
    redirect_uri This must match the URI used in step 1 above
    scope This must match the scopes used in step 1 above
    code_verifier This is the original (unhashed) random string that was provided in a hashed format in the code_challenge parameter in step 1 above

    The Nextech authorization server will then respond to with a response similar to below, which includes an access token that can now be used by the SMART app to access FHIR resources within the Nextech API:

    {
       "access_token":"eyJraWQiOiJ1.eyJhenAiOiJteS1jbGllb.Bv42OB0f",
       "id_token":"eyJra33ed8dofh.doh3ohfeisgdOiJteS1jbGllb.u44hdhB0p",
       "token_type":"bearer",
       "expires_in":900,
       "scope":"openid fhirUser launch/patient patient/AllergyIntolerance.read",
       "patient":"123",
       "encounter":null,
       "smart_style_url":"https://sts.mypatientvisit.com/css/smart-style.json?v=133092895520000000",
       "need_patient_banner": false
    }
    

    Response body notes:

    Name Description
    id_token returned if the openid and/or fhirUser scopes are approved by the SMART app user. Contains information about the user. The fhirUser claim within this token can be used to retrieve information about the user via a FHIR resource endpoint
    patient Patient ID indicating that the app launched in the context of a patient with this ID. Any patient-level scopes will be scoped to this particular patient
    encounter Encounter ID, indicating that the app launched in the context of a particular encounter. Currently returned, but not supported
    need_patient_banner Used in EHR launches for practitioner apps. Indicates whether or not the app was launched in a context that requires a patient banner be displayed
    smart_style_url Used in EHR launches for practitioner apps. URL where styling information can be found, for apps that support styling

    Additionally, if the offline_access scope is requested by the app (recommended, or else the app will have to frequently re-authenticate with the Nextech authorization server), and consented to by the SMART app user, then the response body will contain a refresh_token member containing a refresh token that can be used to acquire a new access_token once the one received in the response expires (in the amount of time, in seconds, indicated by the expires_in response body member).

    PKCE

    PKCE, using a SHA-256 hashing method for its code challenge values, must be used with all SMART apps following the authorization code flow (so any apps that require user interaction), so that potential interception attacks can be mitigated. PKCE requires that the SMART app add an additional token to the initial authorization request, and then requires the SMART app to submit a verifier during the code exchange step that can be used as additional proof that no "man in the middle" has intercepted the authorization code and is trying to maliciously redeem it.

    In order to use PKCE, the SMART app must first generate a random string to use as a challenge value. This should be a new random string each time PKCE is used. Once the random string is generated, create a SHA-256 hash of the random string and Base64-encode it for use as the code_challenge URL parameter in authorize request. This is the first step of the authorization code flow.

    System apps

    SMART apps of this type have no need for user interaction, can run autonomously (or semi-autonomously), and are capable of protecting a private key. System apps must follow the SMART Backend Services Authorization (STU 1.0.1) specification for authentication/authorization, which requires that SMART apps follow the client credentials flow, with JWT credentials, which is described below. The practice that the system app wishes to access must be setup with myPatientVisit, and established at app registration time.

    Client credentials flow with JWT credentials

    System apps follow a variation of the client credentials flow, one that uses a cryptographically secure, signed JWT (JSON Web Token) that it presents to the Nextech authorization server, instead of a client secret. This flow is fully defined in RFC 7526.

    In order to authenticate, the SMART app must first create a JWT resembling the following, and digitally sign it using the SMART app's private key (which must be either an RS384 or ES384 signature):

    {
      "jti":"random-non-reusable-jwt-id-12",
      "sub":"my-client-id",
      "iss":"my-client-id",
      "aud":"https://sts.mypatientvisit.com/connect/token",
      "kid":"some-key-id",
      "exp":1623019405,
      "iat":1623019345
    }
    

    Important to note:

    After the JWT is digitally signed, it must be sent to the Nextech authorization server with a request like below:

    POST /connect/token
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded

    grant_type=client_credentials &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer &client_assertion=[signed JWT] &scope=[spaceDelimitedDesiredScopes]

    The Nextech authorization server will then respond with a response like below, containing an access token that the system app can use to access FHIR resources from the Nextech API:

    {
       "access_token":"eyJraWQiOiJ1bml0dG.eyJhenAiOiJteS1j.THbNnfuX7Ly4g",
       "token_type":"bearer",
       "expires_in":900,
       "scope":"[spaceDelimitedDesiredScopes]"
    }
    

    Scopes

    Nextech currently only supports scopes that adhere to the format defined in version 1.0.0 of the SMART app specification, as indicated here. The full list of scopes supported by the Nextech API for SMART apps (depending on the type of SMART app) are as follows:

    For patient or practitioner-facing apps:

    For patient-facing apps permission-v1 (standalone patient apps, or practitioner apps acting in a patient context):

    For patient-facing apps permission-v2 (standalone patient apps, or practitioner apps acting in a patient context):

    For practitioner-facing apps permission-v1:

    For practitioner-facing apps permisison-v2:

    For secure, system apps that require no user interaction permission-v1:

    For secure, system apps that require no user interaction permission-v2:

    Note:
    - When sub-scopes are requested, the parent resource-level scope (e.g., user/Condition.rs or user/Observation.rs) will not be granted.
    - The Authorization server enforces filtering so that only data matching the selected sub-categories is returned.
    - Supported for launch contexts user/, patient/, and system/.

    All scope names map to the FHIR resource endpoint that they can be used against. For example, a SMART app using an access token that has been granted the patient/Encounter.read, patient/Encounter.rs, user/Encounter.read, user/Encounter.rs, system/Encounter.read or system/Encounter.rs scopes can use that token against the GET https://select.nextech-api.com/api/r4/Encounter/{someEncounterID} endpoint to grab information about a particular encounter.

    Important note: With the exception of the DocumentReference.write or DocumentReference.cud scopes, writing-related scopes are currently not supported. Additionally, SMART apps must only request the bare minimum scopes that are required for their app to function.

    Example of SMART App Authorization With Postman

    Once you have been issued a client ID (and client secret, if capable of securing one) from Nextech, you can use Postman to test grabbing an access token using your app credentials:

    Once these fields are filled out and the authorization request is made, your browser should open up to the Nextech authorization server's login screen. MyPatientVisit user credentials, for patient-facing apps, or Nextech software user credentials, for practitioner-facing apps, will have to be used to log in. After logging in, the user will select which practice and patient they are granting access to, and then they will consent (or not) to the requested scopes. Once this is done, there will be a callback to Postman (check browser pop-up settings and try changing your default browser if that fails). When Postman receives this callback, it will pop up a dialog containing the response information from the Nextech authorization server, including the access token.

    Using the Access Token

    Once the app has gone through the above steps to acquire an access token, that access token needs to be placed in an Authorization header, using the Bearer scheme:Bearer {token} where {token} represents the access token, for all requests made from the app to the Nextech API's FHIR resource endpoints.

    Refresh Access Token

    Refresh tokens are used to renew an expired access token without providing user credentials. An access_token and refresh_token pair is issued when requesting an access token using the authorization code flow (see above) for patient or practitioner-facing SMART apps (system apps are not issued refresh tokens, and so must always request a new access token upon previous access token expiration), as long as the SMART app requests the offline_access scope, and the user consents to that scope. When the access_token expires, the SMART app can call into the Nextech authorization server's connect/token endpoint to be issued a new access token (and refresh token), as shown below:

    POST /connect/token
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic [client ID and secret]
    
    grant_type=refresh_token&refresh_token=<{refreshToken}
    

    Header notes:

    Name Description
    Content-Type must be set to application/x-www-form-urlencoded
    Authorization This header is optional, and must only be used if the SMART app client is a confidential client (i.e. it has a client secret configured that it is capable of securely storing). This header uses Basic auth, which will have the string Basic, followed by a space, followed by the Base-64 encoding of the string in the form [client ID]:[client secret].

    Parameter notes:

    Name Description
    grant_type This is always set to refresh_token
    refresh_token This is the refresh token that was returned alongside the access_token in the previous response from the Nextech authorization server, when the SMART app first acquired an access token

    Revoking Refresh Tokens

    If a SMART app wishes to revoke a refresh token that it has been issued, then it can do so by making a call like below to the Nextech authorization server:

    POST /connect/revocation
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic [client ID and secret]
    
    token={refreshToken}
    

    Header notes:

    Name Description
    Content-Type must be set to application/x-www-form-urlencoded
    Authorization This header is optional, and must only be used if the SMART app client is a confidential client (i.e. it has a client secret configured that it is capable of securely storing). This header uses Basic auth, which will have the string Basic, followed by a space, followed by the Base-64 encoding of the string in the form [client ID]:[client secret].

    Parameter notes:

    Revoking the refresh token will make it so that the SMART app will need to have the user re-authorize the SMART application's required scopes, once the access token that accompanied the refresh token expires.

    Nextech Authorization Server Metadata Endpoint

    SMART apps can call the Nextech authorization server's OpenID Connect metadata endpoint in order to find out information about the available endpoints, scopes, and response types supported by the Nextech authorization server, for use by SMART applications:

    GET .well-known/openid-configuration
    

    This endpoint requires no authentication.

    Nextech Authorization Server UserInfo Endpoint

    SMART apps can call the Nextech authorization server's UserInfo endpoint to learn more about the user associated with a given access token:

    GET connect/userinfo
    Authorization: Bearer [access token]
    

    Header notes:

    Nextech Authorization Server Session Lifetime

    All browser sessions that a SMART app opens with the Nextech authorization server are only good for the lifetime of the browser window/tab. No persisted web authorization session is kept between a given SMART app and the Nextech authorization server after the app has successfully been authorized (or just exited the Nextech authorization server web page), so, if a SMART app redirects to the Nextech authorization server not long after being issued an access and/or refresh token then the Nextech authorization server will once more prompt the user of the app to log in again, no matter how much time has passed since the SMART app's previous authorization request. Since there is no persistent authorization web session maintained between the SMART app and the Nextech authorization server, there is no need for the SMART app to logout of the Nextech authorization server session: once the refresh token (if any was obtained, otherwise just the access token) expires the SMART app will need to re-authorize with the Nextech authorization server.

    Metadata

    Overview

    Information about supported server functionality and the server's SMART on FHIR configuration.

    Capability Statement

    Fields

    Name Description Type
    resourceType The declaration of the type of resource this is. string
    status The status of this capability statement. code
    date The date (and optionally time) when the capability statement was published. dateTime
    publisher The name of the organization or individual that published the capability statement. string
    kind The way that this statement is intended to be used, to describe an actual running instance of software, a particular product or a class of implementation. code
    implementation.description Information about the specific installation that this capability statement relates to. string
    implementation.url An absolute base URL for the implementation. url
    fhirVersion The version of the FHIR specification that this CapabilityStatement describes. code
    format A list of the formats supported by this implementation using their content types. code
    implementationGuide A list of implementation guides that the server does (or should) support in their entirety. canonical(Implementation Guide)
    instantiates Reference to a canonical URL of another CapabilityStatement that this software implements. canonical(Capabiliy Statement)
    rest.mode Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. code
    rest.security.extension The oauth uris for this server ('authorize' and 'token' endpoints). Extension
    rest.security.service Types of security services that are supported by the system. CodeableConcept
    rest.resource.type A type of resource exposed via the restful interface. code
    rest.resource.supportedProfile A list of profiles that represent different use cases supported by the system. canonical(StructureDefinition)
    rest.resource.interaction.code Coded identifier of the operation, supported by the system resource. code
    rest.resource.searchRevInclude A list of _revinclude (reverse include) values supported by the server. string
    rest.resource.searchParam.name The name of the search parameter used in the interface. string
    rest.resource.searchParam.type The type of value a search parameter refers to, and how the content is interpreted. code
    rest.resource.operation.name The name of the operation or query. string

     

    Get

    Retrieves the Capability Statement which holds information about supported server functionality.

    HTTP Request

    GET /r4/metadata

    Example: Get Capability Statement
    GET https://select.nextech-api.com/api/r4/metadata
    

     

    SMART Configuration

    Fields

    Name Description Type
    capabilities Array of strings representing SMART capabilities string
    authorization_endpoint URL to the OAuth2 authorization endpoint url
    token_endpoint URL to the OAuth2 token endpoint url
    token_endpoint_auth_methods_supported Array of client authentication methods supported by the token endpoint string
    token_endpoint_auth_signing_alg_values_supported Array containing a list of the JWS signing algorithms supported by the token endpoint. string

    Get

    Retrieves server's SMART on FHIR configuration

    HTTP Request

    GET /r4/.well-known/smart-configuration

    Example: Get SMART on FHIR configuration
    GET https://select.nextech-api.com/api/r4/.well-known/smart-configuration
    

     

    Patient

    Overview

    The patient resource contains information about the demographics of a patient.

    Fields

    Name Description Type Initial Version
    id The unique identifier of the patient string 12.6
    identifier The unique value assigned to each patient which discerns them from all others. It can be the patient's unique identifier or the patient's Nextech chart number.

    As a convenience for some use cases, in version 14.1 and above, the patient's masked social security number (last four only) is also returned in this field if available.
    Identifier 12.6
    extension:race The race of the patient Extension (US Core Race Extension) 12.6
    extension:ethnicity The ethnicity of the patient Extension (US Core Ethnicity Extension) 12.6
    extension:birthsex The patient's sex assigned at birth Extension (US Core Birth Sex Extension) 12.6
    extension:genderIdentity The gender identity of the patient Extension (US Core Gender Identity Extension) 17.1
    name Names of the patient, additional information including prefix and nickname added in version 12.9.20. Other patient names are also returned here starting in 16.9 HumanName 12.6
    telecom Contact details for the patient, fax, preferred contact, and other phone added 12.9.20 ContactPoint 12.6
    gender The gender of the patient code 12.6
    birthDate The date of birth of the patient date 12.6
    address Addresses associated with the patient. Previous patient addresses are also returned here starting in 16.9 Address 12.6
    communication A list of Languages which may be used to communicate with the patient about his or her health BackboneElement 12.6
    deceased Indicates if the individual is deceased or not. If the patient is deceased, it contains the date of death. dateTime 18.5
    extension:sex The Sex Extension is used to reflect the documentation of a person's sex. Extension (US Core Sex Extension) 18.6
    extension:tribalAffiliation The tribal affiliation of the patient Extension (US Core Tribal Affiliation Extension) 18.7

    Example

    {
        "resourceType": "Patient",
        "id": "b664fd37-ff5f-4022-9d71-2e476d42f316",
        "extension": [
            {
                "extension": [
                    {
                        "url": "ombCategory",
                        "valueCoding": {
                            "system": "urn:oid:2.16.840.1.113883.6.238",
                            "code": "2054-5",
                            "display": "Black or African American"
                        }
                    },
                    {
                        "url": "text",
                        "valueString": "Black or African American"
                    }
                ],
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race"
            },
            {
                "extension": [
                    {
                        "url": "detailed",
                        "valueCoding": {
                            "system": "urn:oid:2.16.840.1.113883.6.238",
                            "code": "2072-7",
                            "display": "Jamaican"
                        }
                    },
                    {
                        "url": "text",
                        "valueString": "Jamaican"
                    }
                ],
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race"
            },
            {
                "extension": [
                    {
                        "url": "ombCategory",
                        "valueCoding": {
                            "system": "urn:oid:2.16.840.1.113883.6.238",
                            "code": "2186-5",
                            "display": "Not Hispanic or Latino"
                        }
                    },
                    {
                        "url": "text",
                        "valueString": "Not Hispanic or Latino"
                    }
                ],
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity"
            },
            {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex",
                "valueCode": "M"
            },
            {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-sex",
                "valueCode": "248153007"
            },
            {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-genderIdentity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://snomed.info/sct",
                            "code": "446151000124109",
                            "display": "Identifies as Male"
                        }
                    ],
                    "text": "Identifies as Male"
                }
            },
            {
                "extension": [
                    {
                        "url": "tribalAffiliation",
                        "valueCodeableConcept": {
                            "coding": [
                                {
                                    "system": "http://terminology.hl7.org/CodeSystem/v3-TribalEntityUS",
                                    "code": "338",
                                    "display": "Native Village of Afognak"
                                }
                            ]
                        }
                    }
                ],
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-tribal-affiliation"
            }
        ],
        "identifier": [
            {
                "use": "official",
                "system": "",
                "value": "b664fd37-ff5f-4022-9d71-2e476d42f316"
            },
            {
                "use": "usual",
                "system": "",
                "value": "112334"
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "John Jacob Smith",
                "family": "Smith",
                "given": [
                    "John",
                    "Jacob"
                ],
                "suffix": [
                    ""
                ]
            }
        ],
        "telecom": [
            {
                "system": "email",
                "value": "example@nextech.com"
            },
            {
                "system": "phone",
                "value": "(763) 560-8033",
                "use": "home"
            }
        ],
        "gender": "male",
        "birthDate": "1952-06-13",
        "deceasedDateTime": "2024-08-29",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "4807 89th Ave N"
                ],
                "city": "Brooklyn Park",
                "state": "MN",
                "postalCode": "55443",
                "country": "USA"
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "urn:ietf:bcp:47",
                            "code": "en",
                            "display": "English"
                        }
                    ],
                    "text": "English"
                },
                "preferred": true
            }
        ]
    }
    

     

    Contact Information and Privacy

    The telecom section contains the contact information for the patient. The example above shows the complete response based on what information is on file and which privacy settings are set. If the Privacy setting is checked then the checked fields will not be sent over the API even though the contact information is on file.

    i.e The patient's work number is on file, but marked private then the telecom section will not contain the work field.

    The preferred contact is also available from the API. If a preferred contact is set then it will contain a "rank":1 member in the telecom object indicating it is the preferred method.

    Get

    Returns a single Patient result based on the patient ID.

    HTTP Request

    GET /r4/Patient/{patientId}

    Parameters

    Name Located in Description Required Initial Version
    patientId path The unique identifier for the patient Yes 12.6

    Example: Get the patient with an ID of 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a'

    GET https://select.nextech-api.com/api/r4/Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    

     

    Searches for all patients matching the given search criteria. See https://www.hl7.org/fhir/R4/search.html for instructions on formatting search criteria.

    HTTP Request

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Type Initial Version
    _lastUpdated query or body The date the patient was last modified formatted as yyyy-MM-dd. As of version 14.3, we also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] No dateTime 12.8
    family query or body The family (last) name of the patient No string 12.6
    given query or body The given (first) name of the patient No string 12.6
    birthdate query or body The patient's date of birth formatted as YYYY-MM-DD No dateTime 12.6
    phone query or body The patient's phone number which will be matched against any phone number (home, cell, etc.) No string 12.6
    email query or body The patient's email address No string 12.6
    address-city query or body The city of the patient's address No string 12.6
    address-state query or body The state of the patient's address No string 12.6
    address-postalcode query or body The postal (zip) code of the patient's address No string 12.6
    name query or body The given(first) name, middle name, family(last) name, prefix or title of the patient No string 12.6
    identifier query or body The unique value assigned to each patient which discerns them from all others. It can be the patient's unique identifier or the patient's Nextech chart number No string 12.6
    _id query or body The unique value assigned to each patient which discerns them from all others. It can be the patient's unique identifier or the patient's Nextech chart number No string 16.7
    gender query or body The gender of the patient No string 16.7
    group-id query or body The letter writing group of the patient No string 16.8
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each patient No string 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with patients

    The _revinclude parameter allows support for including Provenance references that match the returned patient. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the patient.

    Example: Get a patient with an identifier '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' with provenance

    GET https://select.nextech-api.com/api/r4/Patient?identifier=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: identifier=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Patient?_id=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: _id=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&_revinclude=Provenance:target
    

    Example: Get the patient of a specific chart number

    GET https://select.nextech-api.com/api/r4/Patient/12345
    

     

    Example: Get all patients

    GET https://select.nextech-api.com/api/r4/Patient
    

     

    Example: Get all patients with identifier '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192'

    GET https://select.nextech-api.com/api/r4/Patient?identifier=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: identifier=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    GET https://select.nextech-api.com/api/r4/Patient?_id=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: _id=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    

    Example: Get all patients who live within '12345' zip code

    GET https://select.nextech-api.com/api/r4/Patient?address-postalcode=12345
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: address-postalcode=12345
    

    Example: Get all patients with birth dates between and including 1/1/1981 through 5/31/1981

    GET https://select.nextech-api.com/api/r4/Patient?birthdate=ge1981-01-01&birthdate=lt1981-05-31
    
    POST https://select.nextech-api.com/api/r4/Patient/_search
    body: birthdate=ge1981-01-01&birthdate=lt1981-05-31
    

    Attempts to find patient IDs that match the given search criteria and, if successful, returns those patients' unique identifiers.

    HTTP Request

    GET /r4/Patient/ID?{parameters}

    Parameters

    Name Located in Description Required Type Initial Version
    group-id query The letter writing group of the patient No string 16.8

    Example: Get the unique identifiers of all patients that are in a letter writing group with an ID of 20

    GET https://select.nextech-api.com/api/r4/Patient/ID?group-id=20
    

     

    Allergy Intolerance

    Overview

    The allergy intolerance resource describes the risk of undesirable responses of exposure to a substance.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 12.6
    identifier The unique value assigned to each allergy intolerance record which discerns them from all others. Identifier 12.6
    clinicalStatus Describes whether the allergy or intolerance is active, inactive or resolved CodeableConcept 12.6
    verificationStatus Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product). CodeableConcept 12.6
    code The clinical code that identifies the allergy or intolerance CodeableConcept 12.6
    patient The patient who the allergy or intolerance is for Reference (US Core Patient Profile) 12.6
    reaction Details about each adverse reaction event linked to exposure to the identified substance. BackboneElement 12.6
    reaction.manifestation Clinical symptoms and/or signs that are observed or associated with the adverse reaction event. CodeableConcept 12.6

    Example

    {
        "resourceType": "AllergyIntolerance",
        "id": "21",
        "identifier": [
            {
                "use": "official",
                "value": "21"
            }
        ],
        "clinicalStatus": {
            "coding": [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
                    "code": "active"
                }
            ]
        },
        "verificationStatus": {
            "coding": [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
                    "code": "unconfirmed"
                }
            ]
        },
        "code": {
            "coding": [
                {
                    "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                    "code": "852519",
                    "display": "house dust"
                }
            ],
            "text": "house dust"
        },
        "patient": {
            "reference": "Patient/b664fd37-ff5f-4022-9d71-2e476d42f316",
            "display": "Smith, John Jacob"
        },
        "reaction": [
            {
                "manifestation": [
                    {
                        "coding": [
                            {
                                "system": "http://snomed.info/sct",
                                "code": "25064002",
                                "display": "Headache"
                            }
                        ],
                        "text": "Headache"
                    }
                ]
            }
          ]
    }
    

     

    Get

    Returns a single AllergyIntolerance result based on the allergy intolerance ID.

    HTTP Request

    GET /r4/AllergyIntolerance/{allergyId}

    Parameters

    Name Located in Description Required Initial Version
    allergyId path The unique identifier for the allergy intolerance Yes 16.7

    Example: Get the allergy intolerance with an ID of '123'

    GET https://select.nextech-api.com/api/r4/AllergyIntolerance/123
    

     

    Search

    Searches for allergy intolerances for a single patient

    HTTP Requests

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body The unique identifier of the allergy intolerance No 16.7
    _id query or body The unique identifier of the allergy intolerance No 16.7
    patientUid path The official patient identifier acquired from a patient search No 12.6
    patient query or body The patient who the allergy or intolerance is for No 12.6
    _lastUpdated query or body The date the allergy intolerance was last modified, formatted as OOXXXXX where OO is an operator and XXXXX is a date in the form YYYY-MM-DD No 12.6
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each allergy intolerance No 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with allergy intolerances

    The _revinclude parameter allows support for including Provenance references that match the returned allergy intolerance. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the allergy intolerance.

    Example: Get an allergy intolerance with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/AllergyIntolerance?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/AllergyIntolerance/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/AllergyIntolerance?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/AllergyIntolerance/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Examples:

    GET https://select.nextech-api.com/api/r4/Patient/b664fd37-ff5f-4022-9d71-2e476d42f316/AllergyIntolerance?_lastUpdated=ge2022-01-01
    
    GET https://select.nextech-api.com/api/r4/AllergyIntolerance?patient=b664fd37-ff5f-4022-9d71-2e476d42f316
    
    GET https://select.nextech-api.com/api/r4/AllergyIntolerance?patient=Patient/b664fd37-ff5f-4022-9d71-2e476d42f316
    
    POST https://select.nextech-api.com/api/r4/AllergyIntolerance/_search
    body: patient=b664fd37-ff5f-4022-9d71-2e476d42f316
    

     

    Care Plan

    Overview

    A Care Plan contains patient diet, procedure, lab work and counseling and other care information for a single patient.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each care plan which discerns them from all others. string 16.9
    subject The patient pertaining to the care plan. Reference(US Core Patient Profile) 16.9
    text A human-readable narrative that contains a summary of the resource. Narrative 16.9
    text.div The actual narrative content of the patient care plan. xhtml 16.9
    text.status The text status for the resource narrative. code 16.9
    category The type of the care plan. CodeableConcept 16.9
    status Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. code 16.9
    intent Indicates the level of intentionality associated with the care plan (proposal, plan, order, option). code 16.9

    Example

    {
        "resourceType": "CarePlan",
        "id": "674",
        "text": {
            "status": "additional",
            "div": "
    Get a Chest X-ray done on 6/23/2015 showing the Lower Respiratory Tract Structure.
    " }, "status": "active", "intent": "plan", "category": [ { "coding": [ { "system": "http://hl7.org/fhir/us/core/CodeSystem/careplan-category", "code": "assess-plan" } ] } ], "subject": { "reference": "Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a", "display": "Newman, Alice Jones" } }

     

    Get

    Returns a single Care Plan result based on the Care Plan ID.

    HTTP Request

    GET /r4/CarePlan/{carePlanId}

    Parameters

    Name Located in Description Required Initial Version
    carePlanId path The unique identifier for the care plan Yes 16.9

    Example: Get the care plan with an ID of '676'

    GET https://select.nextech-api.com/api/r4/CarePlan/676
    

     

    Search

    Searches for care plans for a single patient

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    patient query or body The official patient identifier acquired from a patient search No 16.9
    _id query or body The unique identifier for the care plan No 16.9
    identifier query or body The unique identifier for the care plan No 16.9
    category query or body The type of the care plan. Ex.: 'assess-plan' No 16.9
    _lastUpdated query or body The date the care plan was last modified, formatted as OOXXXXX where OO is an operator and XXXXX is a date in the form YYYY-MM-DD. No 16.9
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each care plan No 16.9

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with care plans

    The _revinclude parameter allows support for including Provenance references that match the returned care plans. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the care plan.

    Example: Get a care plan with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/CarePlan?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/CarePlan/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/CarePlan?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/CarePlan/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get all care plans for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a' and category 'assess-plan'

    GET https://select.nextech-api.com/api/r4/CarePlan?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=assess-plan
    
    GET https://select.nextech-api.com/api/r4/CarePlan?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=assess-plan
    
    GET https://select.nextech-api.com/api/r4/CarePlan?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan
    
    POST https://select.nextech-api.com/api/r4/CarePlan/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=assess-plan
    
    POST https://select.nextech-api.com/api/r4/CarePlan/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan
    

     

    Example: Get all care plans for a single patient that were modified as of 5/5/2022

    GET https://select.nextech-api.com/api/r4/CarePlan?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&_lastUpdated=ge2022-05-05
    

     

    Example: Get all care plans that were modified by 5/5/2022

    GET https://select.nextech-api.com/api/r4/CarePlan?_lastUpdated=le2022-05-05
    

     

    Care Team

    Oveview

    The CareTeam resource includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each care team which discerns them from all others. string 16.9
    status Indicates the current state of the care team. code 16.9
    subject Identifies the patient or group whose intended care is handled by the team. Reference(US Core Patient Profile) 16.9
    participant.role Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Caregiver", etc. CodeableConcept 16.9
    participant.member The specific person or organization who is participating/expected to participate in the care team. Reference (US Core Patient Profile or US Core Practitioner Profile or US Core Organization Profile) 16.9

    Example

    {
        "resourceType": "CareTeam",
        "id": "3",
        "status": "active",
        "subject": {
            "reference": "Patient/3",
            "display": "Newman,  Alice Jones"
        },
        "participant": [
            {
                "role": [
                    {
                        "coding": [
                            {
                                "system": "http://nucc.org/provider-taxonomy",
                                "code": "2086S0122X"
                            }
                        ]
                    }
                ],
                "member": {
                    "reference": "Practitioner/5",
                    "display": "Davis, Albert"
                }
            },
            {
                "role": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
                                "code": "unknown"
                            }
                        ]
                    }
                ],
                "member": {
                    "reference": "Practitioner/77",
                    "display": "Davis, Tracy"
                }
            },
            {
                "role": [
                    {
                        "coding": [
                            {
                                "system": "http://snomed.info/sct",
                                "code": "116154003"
                            }
                        ]
                    }
                ],
                "member": {
                    "reference": "Patient/3",
                    "display": "Newman,  Alice Jones"
                }
            }
        ]
    }
    

     

    Get

    Returns a single Care Team result based on the Care Team ID.

    HTTP Request

    GET /r4/CareTeam/{careTeamId}

    Parameters

    Name Located in Description Required Initial Version
    careTeamId path The unique identifier for the care team Yes 16.9

    Example: Get the care team with an ID of '3'

    GET https://select.nextech-api.com/api/r4/CareTeam/3
    

     

    Search

    Searches for care teams for a single patient

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    patient query or body The official patient identifier acquired from a patient search No 16.9
    _id query or body The unique identifier for the care team No 16.9
    identifier query or body The unique identifier for the care team No 16.9
    status query or body Indicates the current state of the care team. Ex.: 'active' No 16.9
    _lastUpdated query or body The date the care team was last modified, formatted as OOXXXXX where OO is an operator and XXXXX is a date in the form YYYY-MM-DD. No 16.9
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each care team No 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with care teams

    The _revinclude parameter allows support for including Provenance references that match the returned care teams. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the care team.

    Example: Get a care team with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/CareTeam?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/CareTeam/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/CareTeam?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/CareTeam/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get all care teams for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a' and status 'active'

    GET https://select.nextech-api.com/api/r4/CareTeam?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&status=active
    
    GET https://select.nextech-api.com/api/r4/CareTeam?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&status=active
    
    GET https://select.nextech-api.com/api/r4/CareTeam?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&status=http://hl7.org/fhir/ValueSet/care-team-status|active
    
    POST https://select.nextech-api.com/api/r4/CareTeam/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&status=active
    
    POST https://select.nextech-api.com/api/r4/CareTeam/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&status=http://hl7.org/fhir/ValueSet/care-team-status|active
    

     

    Example: Get all care teams for a single patient that were modified as of 5/5/2022

    GET https://select.nextech-api.com/api/r4/CareTeam?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&_lastUpdated=ge2022-05-05
    

     

    Example: Get all care teams that were modified by 5/5/2022

    GET https://select.nextech-api.com/api/r4/CareTeam?_lastUpdated=le2022-05-05
    

     

    Condition

    Overview

    The condition (an encounter diagnosis, a health concern or a problem) resource describes a certain state of health of a patient.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each condition record which discerns them from all others Identifier 16.8
    clinicalStatus The condition status Condition Clinical Status Code 16.8
    verificationStatus The condition verification status Condition Verification Status 16.8
    category:us-core A category assigned to the condition CodeableConcept using US Core Problem or Health Concern value set 16.8
    category:screening-assessment A category that can be used to classify that this Condition is related to a USCDI Health Status/Assessments Data Class CodeableConcept using US Core Screening Assessment value set 19.1
    code Identification of the condition, problem or diagnosis Condition/Problem/Diagnosis Code 16.8
    subject The patient pertaining to the condition Reference(US Core Patient Profile) 16.8
    recordedDate Date record was first recorded dateTime 17.1
    extension:assertedDate The date on which the existence of the Condition was first asserted or acknowledged Extension (assertedDate) 17.1
    onsetDateTime Estimated or actual date or date-time the condition began dateTime 17.1
    abatementDateTime The date or estimated date that the condition resolved or went into remission dateTime 17.1
    encounter Encounter created as part of Reference (US Core Encounter Profile) 17.1

    Examples

     {
                "resource": {
                    "resourceType": "Condition",
                    "id": "ed-1",
                    "extension": [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/condition-assertedDate",
                            "valueDateTime": "2022-09-22"
                        }
                    ],
                    "clinicalStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
                                "code": "resolved",
                                "display": "Resolved"
                            }
                        ],
                        "text": "Resolved"
                    },
                    "verificationStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
                                "code": "confirmed",
                                "display": "Confirmed"
                            }
                        ],
                        "text": "Confirmed"
                    },
                    "category": [
                        {
                            "coding": [
                                {
                                    "system": "http://terminology.hl7.org/CodeSystem/condition-category",
                                    "code": "encounter-diagnosis",
                                    "display": "Encounter Diagnosis"
                                }
                            ],
                            "text": "Encounter Diagnosis"
                        }
                    ],
                    "code": {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/sid/icd-10",
                                "code": "L11.1",
                                "display": "Transient acantholytic dermatosis [Grover]"
                            }
                        ],
                        "text": "Transient acantholytic dermatosis [Grover]"
                    },
                    "subject": {
                        "reference": "Patient/683cbc02-a96c-4697-b7e6-df0e9391d333",
                        "display": "Tester, Inferno Official"
                    },
                    "encounter": {
                        "reference": "Encounter/30"
                    },
                    "onsetDateTime": "2022-08-29",
                    "abatementDateTime": "2022-11-04",
                    "recordedDate": "2022-09-22"
                }
     }
    
    {
                "resource": {
                    "resourceType": "Condition",
                    "id": "hc-4116",
                    "extension": [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/condition-assertedDate",
                            "valueDateTime": "2025-06-25"
                        }
                    ],
                    "clinicalStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
                                "code": "active",
                                "display": "Active"
                            }
                        ],
                        "text": "Active"
                    },
                    "verificationStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
                                "code": "confirmed",
                                "display": "Confirmed"
                            }
                        ],
                        "text": "Confirmed"
                    },
                    "category": [
                        {
                            "coding": [
                                {
                                    "system": "http://hl7.org/fhir/us/core/CodeSystem/condition-category",
                                    "code": "health-concern",
                                    "display": "Health Concern"
                                }
                            ],
                            "text": "Health Concern"
                        },
                        {
                            "coding": [
                                {
                                    "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                                    "code": "cognitive-status",
                                    "display": "Cognitive Status"
                                }
                            ],
                            "text": "Cognitive Status"
                        }
                    ],
                    "code": {
                        "coding": [
                            {
                                "system": "http://snomed.info/sct",
                                "code": "48167000",
                                "display": "Amnesia"
                            }
                        ],
                        "text": "Amnesia"
                    },
                    "subject": {
                         "reference": "Patient/683cbc02-a96c-4697-b7e6-df0e9391d333",
                        "display": "Tester, Inferno Official"
                    },
                    "encounter": {
                        "reference": "Encounter/1210"
                    },
                    "onsetDateTime": "2025-01-01",
                    "recordedDate": "2025-06-25"
                }
    }
    
    {
                "resource": {
                    "resourceType": "Condition",
                    "id": "hc-852",
                    "meta": {
                        "profile": [
                            "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition-problems-health-concerns"
                        ]
                    },
                    "clinicalStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-clinical",
                                "code": "resolved",
                                "display": "Resolved"
                            }
                        ],
                        "text": "Resolved"
                    },
                    "verificationStatus": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status",
                                "code": "confirmed",
                                "display": "Confirmed"
                            }
                        ],
                        "text": "Confirmed"
                    },
                    "category": [
                        {
                            "coding": [
                                {
                                    "system": "http://hl7.org/fhir/us/core/CodeSystem/condition-category",
                                    "code": "health-concern",
                                    "display": "Health Concern"
                                }
                            ],
                            "text": "Health Concern"
                        },
                        {
                            "coding": [
                                {
                                    "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                                    "code": "sdoh",
                                    "display": "SDOH"
                                }
                            ],
                            "text": "SDOH"
                        }
                    ],
                    "code": {
                        "coding": [
                            {
                                "system": "http://snomed.info/sct",
                                "code": "105529008",
                                "display": "Lives alone (finding)"
                            }
                        ],
                        "text": "Lives alone (finding)"
                    },
                    "subject": {
                        "reference": "Patient/e29bb180-c4b8-4c29-9487-73742bf6e315",
                        "display": "Patient, Another  Demo"
                    },
                    "encounter": {
                        "reference": "Encounter/720935"
                    },
                    "onsetDateTime": "2000-01-01",
                    "abatementDateTime": "2002-11-11"
                }
            }
    

     

    Get

    Returns a single Condition result based on the Condition ID.

    HTTP Request

    GET /r4/Condition/{conditionId}

    Parameters

    Name Located in Description Required Initial Version
    conditionId path The unique identifier for the condition Yes 16.8

    Example: Get a condition problem with an ID of '12'

    GET https://select.nextech-api.com/api/r4/Condition/prb-12
    

     

    Search

    Searches for conditions for a single patient

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    patient query or body The official patient identifier acquired from a patient search Yes 16.8
    _id query or body The unique identifier for the condition No 16.8
    identifier query or body The unique identifier for the condition No 16.8
    _lastUpdated query or body The date the condition was last modified, formatted as OOXXXXX where OO is an operator and XXXXX is a date in the form YYYY-MM-DD. No 16.8
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each condition No string
    category query or body A category assigned to the condition. Yes 19.1

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with conditions

    The _revinclude parameter allows support for including Provenance references that match the returned condition. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the condition.

    Example: Get a condition problem with an identifier '12' with provenance

    GET https://select.nextech-api.com/api/r4/Condition?identifier=prb-12&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: identifier=prb-12&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Condition?_id=prb-12&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: _id=prb-12&_revinclude=Provenance:target
    

     

    Example: Get all conditions for a single patient

    GET https://select.nextech-api.com/api/r4/Condition?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    

     

    Example: Get the condition problem with id of 'prb-12'

    GET https://select.nextech-api.com/api/r4/Condition?_id=prb-12
    
    GET https://select.nextech-api.com/api/r4/Condition?identifier=prb-12
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: _id=prb-12
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: identifier=prb-12
    

     

    Example: Get all conditions for a single patient that were modified as of 5/5/2022

    GET https://select.nextech-api.com/api/r4/Condition?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&_lastUpdated=ge2022-05-05
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&_lastUpdated=ge2022-05-05
    

     

    Example: Get all conditions for a single patient with category encounter-diagnosis

    GET https://select.nextech-api.com/api/r4/Condition?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=encounter-diagnosis 
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=encounter-diagnosis
    

     

    Example: Get the SDOH Health Concern for a single patient with category health-concern

    GET https://select.nextech-api.com/api/r4/Condition?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=health-concern 
    
    GET https://select.nextech-api.com/api/r4/Condition?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&category=health-concern
    
    POST https://select.nextech-api.com/api/r4/Condition/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    

     

    Device

    Overview

    The implantable device resource identifies an instance or type of manufactured item used in the provision of healthcare.

    Fields

    Name Description Type Initial Version
    id The unique identifier for the device string 16.8
    udiCarrier Unique Device Identifier (UDI) Barcode string BackboneElement 16.8
    distinctIdentifier The distinct identification string string 16.8
    lotNumber Lot number of manufacturer string 16.8
    serialNumber Serial number assigned by the manufacturer string 16.8
    manufactureDate Date when the device was made dateTime 16.8
    expirationDate Date and time of expiry of this device dateTime 16.8
    type The kind or type of device CodeableConcept 16.8
    patient The patient pertaining to the device Reference(US Core Patient Profile) 16.8

    Example

    {
        "resourceType": "Device",
        "id": "123",
        "udiCarrier": [
          {
            "deviceIdentifier": "43069338026389",
            "carrierHRF": "(01)43069338026389(11)000302(17)250317(10)1134(21)842026117977"
          }
        ],
        "distinctIdentifier": "A9971312345600",
        "lotNumber": "000000000000XYZ123",
        "serialNumber": "842026117977"
        "manufactureDate": "2013-02-01T00:00:00Z",
        "expirationDate": "2014-02-01T00:00:00Z",
         "type": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "714549006",
              "display": "Synthetic bone graft (physical object)"
            }
          ],
          "text": "Synthetic bone graft (physical object)"
        },
        "patient": {
          "reference": "Patient/ad2085b5-b974-401d-bfcb-3b865109fd35",
          "display": "Smith, John"
        }
    }
    

     

    Get

    Returns a single Device result based on the Device ID.

    HTTP Request

    GET /r4/Device/{deviceId}

    Parameters

    Name Located in Description Required Initial Version
    deviceId path The unique identifier for the device Yes 16.8

    Example: Get the device with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Device/123
    

     

    Search

    Searches for devices for a single patient

    HTTP Request

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query or body The date the device was last modified, formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) No 16.8
    patient query or body The official patient identifier acquired from a patient search No 16.8
    date query or body The device last update date in the form YYYY-MM-DD No 16.8
    identifier query or body The unique identifier for the device No 16.8
    _id query or body The unique identifier for the device No 16.8
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each device No 17.0

    Note: The possible filter values for the date or _lastUpdated parameters are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with devices

    The _revinclude parameter allows support for including Provenance references that match the returned device. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the device.

    Example: Get a device with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Device?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Device?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get all devices for a single patient with id 'ad2085b5-b974-401d-bfcb-3b865109fd35'

    GET https://select.nextech-api.com/api/r4/Device?patient=ad2085b5-b974-401d-bfcb-3b865109fd35
    
    GET https://select.nextech-api.com/api/r4/Device?patient=Patient/ad2085b5-b974-401d-bfcb-3b865109fd35
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: patient=ad2085b5-b974-401d-bfcb-3b865109fd35
    

     

    Example: Get all devices for a single patient with id 'ad2085b5-b974-401d-bfcb-3b865109fd35' that were recorded as of 1/1/2017

    GET https://select.nextech-api.com/api/r4/Device?patient=ad2085b5-b974-401d-bfcb-3b865109fd35&date=ge2017-01-01
    
    GET https://select.nextech-api.com/api/r4/Device?patient=Patient/ad2085b5-b974-401d-bfcb-3b865109fd35&date=ge2017-01-01
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: patient=ad2085b5-b974-401d-bfcb-3b865109fd35&date=ge2017-01-01
    
    GET https://select.nextech-api.com/api/r4/Device?patient=ad2085b5-b974-401d-bfcb-3b865109fd35&_lastUpdated=ge2017-01-01
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: patient=ad2085b5-b974-401d-bfcb-3b865109fd35&_lastUpdated=ge2017-01-01
    

     

    Search for a device with the id '123'

    GET https://select.nextech-api.com/api/r4/Device?identifier=123
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: identifier=123
    
    GET https://select.nextech-api.com/api/r4/Device?_id=123
    
    POST https://select.nextech-api.com/api/r4/Device/_search
    body: _id=123
    

     

    DocumentReference

    Overview

    A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), clinical notes, scanned paper, and non-patient specific documents like policy text.

    Fields

    Name Description Type Initial Version
    id The unique id string assigned to each documentreference string 16.7
    identifier The unique identifier assigned to each documentreference Identifier 16.7
    status Specifies the status of the document reference Code 16.7
    type Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced. LOINC Code if possible CodeableConcept 16.8
    category The categorization for the document reference CodeableConcept 16.7
    subject The patient pertaining to the documentreference Reference (US Core Patient Profile) 16.7
    date document creation time (in UTC) dateTime 16.7
    author Identifies who is responsible for the information in the document reference Reference (US Core Practitioner Profile) 16.7
    description The description of the documentreference string 16.7
    content.format An identifier of the document encoding, structure, and template that the document conforms to Coding 16.7
    content.attachment.contentType The mimetype of the content. Code 16.7
    content.attachment.data The base64 encoded data of the attachment. base64Binary 16.7
    content.attachment.url The url to retrieve the data from the binary endpoint url 17.0
    content.attachment.title The title of the document string 16.7
    extension: note-category Contains the category of the document string 16.7
    extension: document-publish-portal Contains whether the document is published to myPatientVisit boolean 16.7
    context.encounter The clinical context in which the document was prepared. Reference (US Core Encounter Profile) 16.8
    context.period The time period over which the service that is described by the document was provided Period 16.7
    custodian Identifies the organization or group who is responsible for ongoing maintenance of and access to the document. Reference (US Core Organization Profile) 16.8

    Example

    {
        "resourceType": "DocumentReference",
        "id": "history-2262",
        "identifier": [
            {
                "use": "official",
                "value": "history-2262"
            }
        ],
        "status": "current",
        "type": {
            "coding": [
                {
                    "system": "http://loinc.org",
                    "code": "18842-5",
                    "display": "Discharge Summary"
                }
            ],
            "text": "Discharge Summary"
        },
        "category": [
            {
                "coding": [
                    {
                        "system": "https://select.nextech-api.com/api/structuredefinition/note-category",
                        "code": "Prescriptions",
                        "display": "Prescriptions"
                    }
                ],
                "text": "Prescriptions"
            }
        ],
        "subject": {
            "reference": "Patient/c21ab936-3a2a-4c5a-81b8-76b120194053",
            "display": "White, Nicole Francis"
        },
        "date": "2022-06-02T17:11:23.943+00:00",
        "author": [
            {
                "reference": "Organization/22",
                "display": "Clinic One"
            }
        ],
        "custodian": {
            "reference": "Organization/22",
            "display": "Clinic One"
        },
        "content": [
            {
                "attachment": {
                    "contentType": "text/plain",
                    "url": "Binary/history-125369",
                    "title": "small text doc.txt"
                },
                "format": {
                    "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3",
                    "code": "urn:ihe:iti:xds:2017:mimeTypeSufficient",
                    "display": "mimeType Sufficient"
                }
            }
        ],
        "context": {
            "encounter": [
                {
                    "reference": "Encounter/6",
                    "display": "Encounter Name"
                }
            ],
            "period": {
                "start": "2022-06-02T17:11:23.943+00:00",
                "end": "2022-06-02T17:11:23.943+00:00"
            }
        }
    }
    

     

    Get By ID

    Finds a single document based on the ID

    HTTP Request

    GET /r4/DocumentReference/{documentType-id}

    Parameters

    Name Description Required Initial Version
    documentType-id Must be in the form documenttype-id i.e: GET /r4/DocumentReference/history-5 Yes 16.8

    Supported Document Types

    The supported document type specifiers for IDs are history-{id} and emn-{id}.

    Example: Get the history document with ID 2262 which is a text file with a content of "Hello!"

    GET https://select.nextech-api.com/api/r4/DocumentReference/history-2262
    

     

    Search

    Finds a bundle of documents based on the search parameters

    HTTP Request

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _id query or body Unique ID of the document No 16.8
    identifier query or body Unique ID of the document No 16.8
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each document reference No 17.0
    patient query or body The ID of the patient associated with the document No 16.9
    category query or body The category of the document No 16.9
    date query or body This searches based on the created date of the document, either a specific date or a range depending on search modifiers No 16.9
    type query or body The type of the document No 16.9

    Note: The possible filter values for the date parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with document references

    The _revinclude parameter allows support for including Provenance references that match the returned document references. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the document reference

    Example: Get a history document reference with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/DocumentReference?identifier=history-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/DocumentReference/_search
    body: identifier=history-123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/DocumentReference?_id=history-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/DocumentReference/_search
    body: _id=history-123&_revinclude=Provenance:target
    

     

    Example: Get the history document with ID 7741

    GET https://select.nextech-api.com/api/r4/DocumentReference?_id=history-7741
    

     

    Example: Searching for all documents that have a type of 11488-4, category of Unknown, created on 2022-06-03 for the specific patient

    GET https://select.nextech-api.com/api/r4/DocumentReference?type=11488-4&category=Unknown&date=2022-06-03&patient=c21ab936-3a2a-4c5a-81b8-76b120194053
    

     

    Example: Search for all documents that were created between 2020-06-03 and 2022-06-01

    GET https://select.nextech-api.com/api/r4/DocumentReference?date=gt2020-06-03&date=lt2022-06-01
    

     

    Example Search by _id in POST Body

    POST https://select.nextech-api.com/api/r4/DocumentReference/_search
    body: 
    _id:history-2262
    

    Example Searching for all documents that have a type of 11488-4, category of Clinical, created before 2022-06-03 for the specific patient

    POST https://select.nextech-api.com/api/r4/DocumentReference/_search
    body: 
    type:11488-4
    category:Clinical
    date:lt2022-06-03
    patient:c21ab936-3a2a-4c5a-81b8-76b120194053
    

    Create

    Creates the document in the provided content.attachment POST body field for a patient, and attaches it to the patient's history tab in the Nextech software.

    HTTP Request

    POST /r4/DocumentReference

    Body Fields

    Name Description Required Initial Version
    resourceType Must be DocumentReference Yes 16.8
    type Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced. LOINC Code if possible Yes 16.8
    category Allows setting category of the document No 16.8
    date The date (in UTC) of the composition. ie. 2017-10-16T20:32:28.9692476Z No 16.8
    author.display The name of the author. This will be appended to the beginning of the description value. No 16.8
    description A description of the document No 16.8
    content.attachment.contentType The mimetype of the document. See Allowed Mimetypes below Yes 16.8
    content.attachment.data The base64 data of the document Yes 16.8
    content.attachment.title The title of the document, will be used as the filename Yes 16.8
    extension: note-category Allows setting category of the document No 16.8
    extension: document-publish-portal Allows setting whether or not to publish the document to myPatientVisit. Note: Must be licensed for myPatientVisit and have permission to publish EMNs to MPV to work No 16.8

    Extension: note-category

    This is a custom extension to allow the setting of the category on the document. This must match with an existing note category or is left blank. There can be only one note-category extension.

    Note: This custom extension should not be used, instead category is encouraged. When category is supplied, only the first coding will be used. Any others will be ignored. When both category and the this extension are used, the NexTech extension will be used instead of the category.

    Extension system url: https://select.nextech-api.com/api/structuredefinition/note-category valueString: <name of Nextech note category>

    Extension: document-publish-portal

    This is a custom extension to allow publishing of a document to myPatientVisit. The client must be licensed for myPatientVisit and the caller must have permission to publish EMNs to MPV, otherwise the document will not be published. There can be only one document-publish-portal extension. If this extension is not included in the POST, the document is not published to myPatientVisit.

    Extension system url: https://select.nextech-api.com/api/structuredefinition/document-publish-portal valueBoolean: true or false

    Example: Attach a new document for a patient

    POST https://select.nextech-api.com/api/r4/DocumentReference
    

     

    Body

    Note: The note-category NexTech extension should not be used, instead the FHIR category POST body member is encouraged When the FHIR category POST body member is supplied, only the first coding will be used. Any others will be ignored. When both the FHIR category and the note-category NexTech extension POST body members are used, the NexTech extension will be used instead of the FHIR category value  

    {
        "resourceType": "DocumentReference",
        "type": {
            "coding": [
                {
                    "system": "http://loinc.org",
                    "code": "18842-5",
                    "display": "Discharge Summary"
                }
            ],
            "text": "Discharge Summary"
        },
        "category": [
            {
                "coding": [
                    {
                        "system": "https://select.nextech-api.com/api/structuredefinition/note-category",
                        "code": "Prescriptions",
                        "display": "Prescriptions"
                    }
                ],
                "text": "Prescriptions"
            }
        ],
        "subject": {
            "reference": "Patient/9CFE7258-8F50-45E8-9732-6433976CC164"
        },
        "content": [{"attachment": {
            "contentType": "text/plain",
            "data": "Tm8gYWN0aXZpdHkgcmVzdHJpY3Rpb24sIHJlZ3VsYXIgZGlldCwgZm9sbG93IHVwIGluIHR3byB0byB0aHJlZSB3ZWVrcyB3aXRoIHByaW1hcnkgY2FyZSBwcm92aWRlci4="
        } }],
        "context": {"encounter": {"reference": "Encounter/1"} },
        "extension": [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/note-category",
                    "valueString": "Past Medical History"
                },
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/document-publish-portal",
                    "valueBoolean": "true"
                }
        ],
    }
    
     

    $docref operation

    This generates a CCDA for the given patient and attaches it to their patient history if no Summary of Care has been previously generated for the relevant encounters. Otherwise, this returns the most recent CCDA Summary of Care document generated for each encounter. If only patient is specified, then it will return one (1) Summary of Care document reference record for the latest encounter. If patient and a date range are specified (start, end, start+end), then it will return one document reference for each encounter that falls within that range.

    HTTP Request

    POST /r4/DocumentReference/$docref

    Body Fields

    Name Description Required Initial Version
    resourceType Must be Parameters Yes 16.9
    parameter This is an array of parameters which must include one patient parameter Yes 16.9
    parameter.patient The patient the document is for Yes 16.9
    parameter.start The start date for EMN encounters No 16.9
    parameter.end the end date for EMN encounters No 16.9

    Example: Generating a CCDA for patient with an ID of C21AB936-3A2A-4C5A-81B8-76B120194053 via POST

    POST https://select.nextech-api.com/api/r4/DocumentReference/$docref
    

     

    Body

     {
          "resourceType": "Parameters",
          "parameter": [
            {
              "name": "patient",
              "valueId" : "C21AB936-3A2A-4C5A-81B8-76B120194053"
            },
            {
                "name": "start",
                "valueDateTime": "2022-02-23T08:00:00"
            },
            {
                "name": "end",
                "valueDateTime": "2022-02-24T08:00:00"
            }
          ]
        }
    

    Note: The start and end parameters can be either of type valueDateTime as above, or simply valueDate and passing only values such as 2022-02-23

    HTTP Request

    GET /r4/DocumentReference/$docref?{patient}[&{start}][&{end}]

    Parameters

    Name Description Required Initial Version
    patient Must be in the form {patient GUID} i.e: patient=C21AB936-3A2A-4C5A-81B8-76B120194053 Yes 16.9
    start Must be in the form of either 2022-02-23T08:00:00 or 2022-02-23 No 16.9
    end Must be in the form of either 2022-02-24T08:00:00 or 2022-02-24 No 16.9

    Note: Despite being a GET request, if an encounter that falls within the date range (if supplied) or the most recent encounter does not have a CCDA Summary of Care document previously generated, this request will cause one to be created and attached to the patient's document history

    Example: Generating a CCDA for patient with an ID of C21AB936-3A2A-4C5A-81B8-76B120194053 via GET

    GET https://select.nextech-api.com/api/r4/DocumentReference/$docref?patient=C21AB936-3A2A-4C5A-81B8-76B120194053
    

    Response

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 1,
        "entry": [
            {
                "resource": {
                    "resourceType": "DocumentReference",
                    "identifier": [
                        {
                            "use": "official",
                            "value": "history-2263"
                        }
                    ],
                    "status": "current",
                    "type": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "34133-9",
                                "display": "Summarization of Episode Note"
                            }
                        ],
                        "text": "Summarization of Episode Note"
                    },
                    "category": [
                        {
                            "coding": [
                                {
                                    "system": "https://select.nextech-api.com/api/structuredefinition/note-category",
                                    "code": "clinical",
                                    "display": "Clinical Note"
                                }
                            ],
                            "text": "Clinical Note"
                        }
                    ],
                    "subject": {
                        "reference": "Patient/c21ab936-3a2a-4c5a-81b8-76b120194053",
                        "display": "White, Nicole Francis"
                    },
                    "date": "2022-06-02T13:26:26.2198865-04:00",
                    "author": [
                        {
                            "reference": "Organization/1",
                            "display": "Pawtucket Plastic Surgeons"
                        }
                    ],
                    "custodian": {
                        "reference": "Organization/1",
                        "display": "Pawtucket Plastic Surgeons"
                    },
                    "content": [
                        {
                            "attachment": {
                                "contentType": "application/xml",
                                "url": "Binary/history-125369"
                            },
                            "format": {
                                "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3",
                                "code": "urn:hl7-org:sdwg:ccda-structuredBody:2.1",
                                "display": "Documents following C-CDA constraints using a structured body"
                            }
                        }
                    ],
                    "context": {
                        "encounter": [
                            {
                                "reference": "Encounter/8109",
                                "display": "MUS2"
                            }
                        ],
                        "period": {
                            "start": "2022-06-02T13:26:26.2198865-04:00",
                            "end": "2022-06-02T13:26:26.2198865-04:00"
                        }
                    }
                }
            }
        ]
    }
    

     

    Allowed Mimetypes

    The following mimetypes are currently supported:

    Document Type MimeType
    pdf application/pdf
    Microsoft Word application/msword
    Microsoft Excel application/vnd.ms-excel or application/vnd.ms-excel.12
    Tif Image files application/tif, application/tiff, or image/tiff
    HTML text/html
    Text text/plain
    XML text/xml
    BMP Image image/bmp
    GIF Image image/gif
    JPG Image image/jpeg
    PNG Image image/png or image/x-png

    Encounter

    Overview

    The Encounter resource describes an interaction between a patient and healthcare provider.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each encounter which discerns them from all others string 16.9
    identifier The unique value assigned to each encounter which discerns them from all others Identifier 16.9
    status The current state of the encounter (either in-progress, finished, or unknown) code with encounter status value set 16.9
    class The classification of the encounter Coding 16.9
    type The specific type of the encounter CodeableConcept 16.9
    subject The patient pertaining to the encounter Reference(US Core Patient Profile) 16.9
    participant The medical professionals involved in the encounter BackboneElement 16.9
    period The start and end date of the encounter in the form YYYY-MM-DD period 16.9
    reasonCode The coded reason the encounter took place CodeableConcept 16.9
    hospitalization.dischargeDisposition Category or kind of location after discharge CodeableConcept 16.9
    location.location Location the encounter took place at Reference(US Core Location Profile) 16.9
    meta.lastUpdated The last time the encounter was updated instant 16.9

    Example

    {
        "resourceType": "Encounter",
        "id": "19632",
        "meta": {
            "lastUpdated": "2022-07-20T09:41:50.82-04:00"
        },
        "identifier": [
            {
                "use": "official",
                "system": "https://select.nextech-api.com/api/structuredefinition/encounter-id",
                "value": "19632"
            }
        ],
        "status": "in-progress",
        "class": {
            "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
            "code": "AMB",
            "display": "ambulatory"
        },
        "type": [
            {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason",
                        "code": "unknown",
                        "display": "Unknown"
                    }
                ],
                "text": "Unknown"
            }
        ],
        "subject": {
            "reference": "Patient/2ab530e0-9606-4f7a-8b67-e2de253ba80b",
            "display": "Smith, John"
        },
        "participant": [
            {
                "type": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                                "code": "PRF",
                                "display": "performer"
                            }
                        ],
                        "text": "performer"
                    }
                ],
                "period": {
                    "start": "2022-04-22",
                    "end": "2022-04-22"
                },
                "individual": {
                    "reference": "Practitioner/123",
                    "display": "1, Doctor"
                }
            },
            {
                "type": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                                "code": "PRF",
                                "display": "performer"
                            }
                        ],
                        "text": "performer"
                    }
                ],
                "period": {
                    "start": "2022-04-22",
                    "end": "2022-04-22"
                },
                "individual": {
                    "reference": "Practitioner/124",
                    "display": "2, Doctor"
                }
            },
            {
                "type": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                                "code": "PRF",
                                "display": "performer"
                            }
                        ],
                        "text": "performer"
                    }
                ],
                "period": {
                    "start": "2022-04-22",
                    "end": "2022-04-22"
                },
                "individual": {
                    "reference": "Practitioner/125",
                    "display": "3, Doctor"
                }
            },
            {
                "type": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                                "code": "PRF",
                                "display": "performer"
                            }
                        ],
                        "text": "performer"
                    }
                ],
                "period": {
                    "start": "2022-04-22",
                    "end": "2022-04-22"
                },
                "individual": {
                    "reference": "Practitioner/126",
                    "display": "4, Doctor"
                }
            }
        ],
        "period": {
            "start": "2022-04-22",
            "end": "2022-04-22"
        },
        "reasonCode": [
            {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason",
                        "code": "unknown",
                        "display": "Unknown"
                    }
                ],
                "text": "Unknown"
            }
        ],
        "hospitalization": {
            "dischargeDisposition": {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason",
                        "code": "unknown",
                        "display": "Unknown"
                    }
                ],
                "text": "Unknown"
            }
        },
        "location": [
            {
                "location": {
                    "reference": "Location/1",
                    "display": "Pawtucket Plastic Surgeons"
                }
            }
        ]
    }
    

     

    Get

    Returns a single Encounter result based on the Encounter ID.

    HTTP Request

    GET /r4/Encounter/{encounterID}

    Parameters

    Name Located in Description Required Initial Version
    encounterID path The encounter unique identifier Yes 16.9

    Example: Get an encounter with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Encounter/123
    

     

    Search

    Returns encounters based on the provided search parameters.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query or body The date the encounter was last modified, formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) No 16.9
    patient query or body The official patient identifier acquired from a patient search No 16.9
    date query or body The date the encounter took place in the form YYYY-MM-DD No 16.9
    identifier query or body The encounter unique identifier No 16.9
    _id query or body The encounter unique identifier No 16.9
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each encounter No 17.0

    Note: The possible filter values for the date or _lastUpdated parameters are: eq, ne, le, lt, ge and gt.

     

    Retrieve Provenance with encounters

    The _revinclude parameter allows support for including Provenance resources that match the returned encounters. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the encounter.  

    Example: Get an encounter with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Encounter?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Encounter?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Examples:

    Get all encounters

    GET https://select.nextech-api.com/api/r4/Encounter
    

    Search for encounters for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192'

    GET https://select.nextech-api.com/api/r4/Encounter?patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    

    Search for encounters for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' that took place between and including 1/1/2022 through 11/14/2022

    GET https://select.nextech-api.com/api/r4/Encounter?patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    

    Search for an Encounter with the id '123'

    GET https://select.nextech-api.com/api/r4/Encounter?identifier=123
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: identifier=123
    
    GET https://select.nextech-api.com/api/r4/Encounter?_id=123
    
    POST https://select.nextech-api.com/api/r4/Encounter/_search
    body: _id=123
    

    Goal

    Overview

    The goal resource describes a desired state of health for a patient.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each goal which discerns them from all others. Identifier 17.0
    id The unique value assigned to each goal which discerns them from all others. string 17.0
    lifeCycleStatus The intended objective(s) for a patient code using Goal Lifecycle Status value set 17.0
    description Code or text describing the goal CodeableConcept 17.0
    subject The patient pertaining to the goal Reference(US Core Patient Profile) 17.0
    target The target outcome of the goal BackboneElement 17.0
    target.dueDate The date to reach the goal on or before date 17.0
    meta.lastUpdated The last time the goal was modified instant 17.0

    Example

    {
        "resourceType": "Goal",
        "id": "goalemn-2284code-559215",
         "meta": {
           "lastUpdated": "2022-08-05T14:29:08.217-04:00"
         },
        "identifier": [
          {
            "use": "official",
            "value": "goalemn-2284code-559215"
          }
        ],
        "lifecycleStatus": "active",
        "description": {
            "coding": [
                {
                    "system": "http://loinc.org",
                    "code": "386661006",
                    "display": "Fever"
                }
            ],
            "text": "In case of high fever, take Tylenol as needed"
        },
        "subject": {
          "reference": "Patient/F15FB185-5E63-485E-B025-D113103DCEC3",
          "display": "Smith, Jane"
        },
        "target": {
          "measure": {
            "coding": [
              {
                "system": "http://loinc.org",
                "code": "LA7435-6"
              }
            ],
            "text": "Fever"
          }
        }
    }
    

     

    Get

    Returns a single Goal based on the goal's ID.

    HTTP Request

    GET r4/Goal/{GoalID}

    Parameters

    Name Located in Description Required Initial Version
    GoalID path The official goal identifier acquired from a goal search Yes 17.0

    Example: Get a goal with ID 'goalemn-2284code-559215'

    GET https://select.nextech-api.com/api/r4/Goal/goalemn-2284code-559215
    

     

    Search

    Searches for goals for a single patient

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body The goal identifier No 17.0
    _id query or body The goal identifier No 17.0
    patient query or body The official patient identifier acquired from a patient search No 17.0
    date query or body The date of the encounter containing the goal in the form YYYY-MM-DD No 17.0
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each goal No 17.0
    _lastUpdated query or body The date a goal was last modified No 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with goals

    The _revinclude parameter allows support for including Provenance references that match the returned goal. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the goal.

    Example: Get a goal with an identifier 'goalemn-2284code-559215' with provenance

    GET https://select.nextech-api.com/api/r4/Goal?identifier=goalemn-2284code-559215&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Goal/_search
    body: identifier=goalemn-2284code-559215&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Goal?_id=goalemn-2284code-559215&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Goal/_search
    body: _id=goalemn-2284code-559215&_revinclude=Provenance:target
    

     

    Example: Get all goals for a single patient

    GET https://select.nextech-api.com/api/r4/Goal?patient=29D5AA40-6E3E-4683-B17F-2FBFECACF9BC
    

     

    Example: Get all goals for a single patient, using a Patient/ reference prefix

    GET https://select.nextech-api.com/api/r4/Goal?patient=Patient/29D5AA40-6E3E-4683-B17F-2FBFECACF9BC
    

     

    Example: Get all goals for a patient on a date

    GET https://select.nextech-api.com/api/r4/Goal?patient=29D5AA40-6E3E-4683-B17F-2FBFECACF9BC&date=2017-01-01
    

     

    Example: Get all goals for a patient on a date

    POST https://select.nextech-api.com/api/r4/Goal/_search?patient=29D5AA40-6E3E-4683-B17F-2FBFECACF9BC&date=2017-01-01
    

     

    Immunization

    Overview

    The Immunization resource describes an administered vaccine.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 16.7
    identifier The unique value assigned to each immunization which discerns them from all others. Identifier 16.7
    status Either completed or not-done code with immunization status value set 16.7
    statusReason Reason that an immunization event was not performed, if any CodeableConcept using Substance Refusal Reason (NIP) value set 16.7
    vaccineCode Vaccine product administered CodeableConcept using vaccine administered value set 16.7
    patient The immunized patient Reference (US Core Patient Profile) 16.7
    occurrenceDateTime The vaccination administration date in the form YYYY-MM-DD dateTime 16.7
    primarySource Whether or not the information is from the person who administered the vaccine boolean 16.7
    meta.lastUpdated The last time the immunization was updated instant 16.7

    Example

    {
        "resourceType": "Immunization",
        "id": "123",
        "meta": 
        {
           "lastUpdated": "2022-04-02T14:04:35.9+00:00"
         },
        "identifier": [
          {
            "use": "official",
            "value": "123"
          }
        ],
        "status": "completed",
        "vaccineCode": {
          "coding": [
            {
              "system": "http://hl7.org/fhir/sid/cvx",
              "code": "05",
              "display": "measles virus vaccine"
            }
          ],
          "text": "measles virus vaccine"
        },
        "patient": {
          "reference": "Patient/4AAE9E3C-B1E4-46EA-93C2-CF3B36747D1A",
          "display": "Tinsley, Carol F"
        },
        "occurrenceDateTime": "2013-08-17",
        "primarySource" : true
    }
    

     

    Get

    Returns a single Immunization result based on the Immunization ID.

    HTTP Request

    GET /r4/Immunization/{immunizationID}

    Parameters

    Name Located in Description Required Initial Version
    immunizationID path The immunization unique identifier Yes 16.7

    Example: Get an immunization with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Immunization/123
    

     

    Search

    Returns immunizations based on the provided search parameters.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query or body The date the patient was last modified, formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) No 16.7
    patient query or body The official patient identifier acquired from a patient search No 16.7
    date query or body The date the immunization was administered in the form YYYY-MM-DD No 16.7
    identifier query or body The immunization unique identifier No 16.7
    _id query or body The immunization unique identifier No 16.7
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each immunization No 17.0

    Note: The possible filter values for the date or _lastUpdated parameters are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with immunizations

    The _revinclude parameter allows support for including Provenance references that match the returned immunizations. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the immunization.

     

    Example: Get an immunization with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Immunization?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Immunization?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Examples:

    Get all immunizations

    GET https://select.nextech-api.com/api/r4/Immunization
    

    Search for immunizations for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192'

    GET https://select.nextech-api.com/api/r4/Immunization?patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    

    Search for immunizations for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' administered between and including 1/1/2022 through 11/14/2022

    GET https://select.nextech-api.com/api/r4/Immunization?patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    

    Search for an immunization with the id '123'

    GET https://select.nextech-api.com/api/r4/Immunization?identifier=123
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: identifier=123
    
    GET https://select.nextech-api.com/api/r4/Immunization?_id=123
    
    POST https://select.nextech-api.com/api/r4/Immunization/_search
    body: _id=123
    

     

    Diagnostic Report

    Overview

    A diagnostic report resource describes the findings and interpretation of diagnostic tests performed on patients and/or specimens derived from these. There are two types of diagnostic reports that can be returned:

    These types of laboratory reports are denoted by their category. Diagnostic reports for laboratory specimens will always have a category of "LAB", while reports containing result documents will have a the document's assigned LOINC code as their category. For example, "LP29684-5" would be the category for a radiology document report.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 16.9
    identifier The unique value assigned to each diagnostic report which discerns them from all others. Identifier 16.9
    status The status of the diagnostic report code with DiagnosticReportStatus 16.9
    category Classification of type of diagnostic report Category using Diagnostic Service Section Codes 16.9
    code A code that describes the diagnostic report LOINC Diagnostic Report Codes 16.9
    subject The patient pertaining to the diagnostic report Reference (US Core Patient Profile) 16.9
    effectiveTime The date and time of specimen collection dateTime 16.9
    issued The date and time that this version of the report was made available to providers dateTime 16.9
    performer The provider who is responsible for issuing the report Reference (US Core Practitioner Profile) 16.9
    encounter The healthcare event which this diagnostic report is about Reference(US Core Encounter Profile) 16.9
    result A reference to the related lab result observations Reference (US Core Observation Lab Profile) 16.9
    presentedForm A document attachment containing lab result data for the report Attachment 16.9
    presentedForm.url The url to retrieve the data from the binary endpoint url 17.0

    Example

    {
        "resourceType":"DiagnosticReport",
        "id":"244",
        "identifier":[
           {
              "use":"official",
              "value":"244"
           },
           {
              "use":"usual",
              "value":"XY202200011 - A"
           }
        ],
        "status":"registered",
        "category":[
           {
              "coding":[
                 {
                    "system":"http://terminology.hl7.org/CodeSystem/v2-0074",
                    "code":"LAB"
                 }
              ]
           }
        ],
        "code":{
           "coding":[
              {
                 "system":"http://loinc.org",
                 "code":"11268-0",
                 "display":"S pyog Throat Ql Cult"
              }
           ],
           "text":"S pyog Throat Ql Cult"
        },
        "subject":{
           "reference":"Patient/C56936DF-FED7-4EFA-8998-2A9848C99631"
        },
        "effectiveDateTime":"2022-06-24T00:00:00-04:00",
        "issued":"2022-06-24T00:00:00-04:00",
        "performer":[
           {
              "reference":"Practitioner/9149",
              "display":"Smith, Susan"
           }
        ],
        "result":[
           {
              "reference":"Observation/442",
              "display":""
           }
        ]
     }
    

     

    Get

    Returns a single DiagnosticReport result based on the DiagnosticReport ID.

    HTTP Request

    GET /r4/DiagnosticReport/{diagnosticReportID}

    Parameters

    Name Located in Description Required Initial Version
    diagnosticReportID path The diagnostic report unique identifier Yes 16.9

    Example: Get a diagnostic report with an ID of '123'

    GET https://select.nextech-api.com/api/r4/DiagnosticReport/123
    

     

    Search

    Returns diagnostic reports based on the provided search parameters

    HTTP Request

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body or path The diagnostic report identifier No 16.9
    _id query or body or path The diagnostic report identifier No 16.9
    patient query or body The official patient identifier acquired from a patient search No 16.9
    category query or body The category of the diagnostic report by either "LAB" or code ie. category=LP29684-5 or by token ie. category=http://terminology.hl7.org/CodeSystem/v2-0074|LP29684-5 No 16.9
    date query or body The diagnostic report date in the form YYYY-MM-DD No 16.9
    code query or body The loinc code of the diagnostic report by code ie. code=49765-1 or token ie. code=http://loinc.org|49765-1 No 16.9
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each diagnostic report No 17.0

    Note: The possible filter values for the date parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with diagnostic reports

    The _revinclude parameter allows support for including Provenance references that match the returned diagnostic reports. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the diagnostic report.

    Example: Get a diagnostic report with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/DiagnosticReport?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/DiagnosticReport/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/DiagnosticReport?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/DiagnosticReport/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get all lab-type diagnostic reports on or after 5/1/2017

    GET https://select.nextech-api.com/api/r4/DiagnosticReport?category=LAB&date=ge2017-05-01
    
    POST https://select.nextech-api.com/api/r4/DiagnosticReport/_search
    body: category=LAB&date=ge2017-05-01
    

     

    Specimen

    Overview

    The Specimen resource contains information about the specimen type and patient for a specific laboratory requisition.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 19.1
    identifier The unique value assigned to each specimen which discerns them from all others. Identifier 19.1
    type Kind of material that forms the specimen Type using Specimen Codes 19.1
    subject The patient where the specimen came from. Reference (US Core Patient Profile) 19.1

    Example

    {
        "resourceType":"Specimen",
        "id":"54",
        "identifier": [
            {
                "use": "official",
                "value": "54"
            }
        ],
        "type":[
            {
                "coding": [
                    {
                         "system": "http://snomed.info/sct",
                         "code": "119376003",
                         "display": "Tissue specimen (specimen)"
                    }
                ],
                "text": "Tissue specimen (specimen)"
           }
        ],
        "subject":{
           "reference":"Patient/C56936DF-FED7-4EFA-8998-2A9848C99631"
        }
     }
    

     

    Example: Get all specimens associated with a specific lab

    GET https://select.nextech-api.com/api/r4/Specimen
    

     

    Get

    Returns a single Specimen result based on the Specimen ID.

    HTTP Request

    GET /r4/Specimen/{SpecimenID}

    Example: Get a Specimen with an SpecimenID of '21'

    GET https://select.nextech-api.com/api/r4/Specimen/21
    

     

    Search

    Returns specimens based on the provided search parameters

    HTTP Request

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body or path The specimen identifier No 19.1
    _id query or body or path The specimen identifier No 19.1

    ServiceRequest

    Overview

    The ServiceRequest resource represents a clinical order or plan for a patient, such as a laboratory test, imaging study, or procedure.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 19.2
    identifier Business identifiers assigned to this request. Identifier 19.2
    status The status of the request (e.g., active, completed). code 19.2
    intent The kind of order (e.g., plan, order). code 19.2
    category Classification of the request (lab, imaging, etc.). CodeableConcept 19.2
    code What is being requested (test, procedure, service). CodeableConcept 19.2
    subject The patient the request is about. Reference (US Core Patient Profile) 19.2
    encounter Encounter in which the request was created. Reference 19.2
    authoredOn When the request was authored. dateTime 19.2
    requester Who/what is requesting the service. Reference 19.2
    reasonCode Reason or justification for the request. CodeableConcept 19.2

    Example

    {
      "resourceType": "ServiceRequest",
      "id": "2242",
      "text": {
        "status": "generated",
        "div": "
    Order for urinalysis (dipstick panel)
    " }, "identifier": [ { "use": "official", "system": "https://select.nextech-api.com/api/structuredefinition/servicerequest-id", "value": "2242" } ], "status": "completed", "intent": "order", "category": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "108252007", "display": "Laboratory procedure" } ], "text": "Laboratory procedure" } ], "priority": "routine", "code": { "coding": [ { "system": "http://loinc.org", "code": "24357-6", "display": "Urinalysis dipstick panel - Urine" } ], "text": "Urinalysis dipstick panel" }, "subject": { "reference": "Patient/315c1ec0-6961-420e-8bd1-fa273cc8e660", "identifier": { "system": "https://select.nextech-api.com/api/structuredefinition/patient-uid", "value": "315c1ec0-6961-420e-8bd1-fa273cc8e660" }, "display": "Alice Newman" }, "encounter": { "reference": "Encounter/927" }, "authoredOn": "2025-08-19T14:43:36-04:00", "requester": { "reference": "Practitioner/17920", "identifier": { "system": "https://select.nextech-api.com/api/structuredefinition/practitioner-id", "value": "17920" }, "display": "Albert Davis, MD" }, "reasonCode": [ { "coding": [ { "system": "http://hl7.org/fhir/sid/icd-10-cm", "code": "R33.9", "display": "Retention of urine, unspecified" } ], "text": "R33.9 - Retention of urine, unspecified" } ] }

    Example: Get all ServiceRequests

    GET https://select.nextech-api.com/api/r4/ServiceRequest
    

    Get

    Returns a single ServiceRequest result based on the ServiceRequest ID.

    HTTP Request

    GET /r4/ServiceRequest/{ServiceRequestID}

    Example: Get a ServiceRequest with an ID of '2242'

    GET https://select.nextech-api.com/api/r4/ServiceRequest/2242
    

    Search

    Returns ServiceRequests based on the provided search parameters.

    HTTP Request

    Parameters

    Name Located in Description Required Initial Version
    identifier query, body, or path The ServiceRequest identifier No 19.2
    _id query, body, or path The ServiceRequest resource ID No 19.2
    authored query or body Date or date range when the request was authored No 19.2
    patient query or body The patient associated with the ServiceRequest No 19.2
    _revinclude query or body Return resources related to the ServiceRequest (e.g., Provenance) No 19.2
    status query or body The status of the request (e.g., active, completed) No 19.2

    Medication Request

    Overview

    The Medication Request resource can be used to record a patient's medication prescription or order.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource string 17.0
    status A code specifying the current state of the medication request MedicationRequestStatus 17.0
    intent Whether the request is a proposal, plan, or an original order MedicationRequestIntent 17.0
    reported Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record boolean 17.0
    medication The supplied medication CodeableConcept 17.0
    authoredOn The date and time when the prescription was initially written or authored on dateTime 17.0
    subject The patient pertaining to the medication request Reference (US Core Patient Profile) 17.0
    requester The individual, organization, or device that initiated the request and has responsibility for its activation Reference (US Core Practitioner Profile) 17.0
    encounter The Encounter during which the medication request was created or to which the creation of this record is tightly associated Reference (US Core Encounter Profile) 17.0
    dosageInstruction Indicates how the medication is to be used by the patient Dosage 17.0
    category Indicates the type of medication request (for example, where the medication is expected to be consumed or administered) CodeableConcept 17.2
    reasonCode Reason or indication for ordering or not ordering the medication CodeableConcept 19.0
    dispenseRequest Indicates the specific details for the dispense or medication supply part of a medication request BackboneElement 19.0

    Example

    {
        "resourceType": "MedicationRequest",
        "id": "1",
        "status": "active",
        "intent": "original-order",
        "category": [
            {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
                        "code": "community",
                        "display": "Community"
                    }
                ],
                "text": "Community"
            }
        ],
        "reportedBoolean": false,
        "medicationCodeableConcept": {
            "coding": [
                {
                    "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                    "code": "310964",
                    "display": "ibuprofen"
                }
            ],
            "text": "ibuprofen"
        },
        "subject": {
            "reference": "Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a",
            "display": "Newman, Alice Jones"
        },
        "encounter": {
            "reference": "Encounter/1"
        },
        "authoredOn": "2022-07-06T18:20:39+02:00",
        "requester": {
            "reference": "Practitioner/84",
            "display": "Davis, Albert"
        },
        "reasonCode": [
            {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/sid/icd-10-cm",
                        "code": "R52",
                        "display": "Pain, unspecified"
                    }
                ],
                "text": "Pain, unspecified"
            }
        ],
        "dosageInstruction": [
            {
                "text": "1 capsule by mouth twice a day",
                "timing": {
                    "code": {
                        "text": "1 capsule by mouth twice a day"
                    }
                },
                "doseAndRate": [
                    {
                        "doseQuantity": {
                            "value": 1,
                            "unit": "capsule"
                        }
                    }
                ]
            }
        ],
        "dispenseRequest": {
            "numberOfRepeatsAllowed": 1,
            "quantity": {
                "value": 14,
                "unit": "capsules"
            }
        }
    }
    

     

    Get

    Returns a single Medication Request result based on the Medication Request ID.

    HTTP Request

    GET /r4/MedicationRequest/{medicationRequestId}

    Parameters

    Name Located in Description Required Initial Version
    medicationRequestId path The unique identifier for the medication request Yes 17.0

    Example: Get the medication request with an ID of '12'

    GET https://select.nextech-api.com/api/r4/MedicationRequest/12
    

     

    Search

    Searches for medication requests for a single patient

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    patient query or body The official patient identifier acquired from a patient search No 17.0
    _id query or body The unique identifier for the medication request No 17.0
    identifier query or body The unique identifier for the medication request No 17.0
    intent query or body The intent of the medication request. Ex.: 'original-order' No 17.0
    status query or body The status of the medication request. Ex.: 'active' No 17.0
    _lastUpdated query or body The date the medication request was last modified, formatted as OOXXXXX where OO is an operator and XXXXX is a date in the form YYYY-MM-DD. No 17.0
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each medication request No 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with medication requests

    The _revinclude parameter allows support for including Provenance resources that match the returned medication requests. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the medication request.  

    Example: Get a medication request with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/MedicationRequest?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/MedicationRequest?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get the medication request with an ID of '12'

    GET https://select.nextech-api.com/api/r4/MedicationRequest?identifier=12
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: identifier=12
    
    GET https://select.nextech-api.com/api/r4/MedicationRequest?_id=12
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: _id=12
    

     

    Example: Get all medication requests for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a'

    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    

     

    Example: Get all medication requests for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a' and intent 'original-order'

    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order
    
    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=http://hl7.org/fhir/CodeSystem/medicationrequest-intent|original-order
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=http://hl7.org/fhir/CodeSystem/medicationrequest-intent|original-order
    

     

    Example: Get all medication requests for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a', intent 'original-order' and status 'active'

    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order&status=active
    
    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order&status=http://hl7.org/fhir/CodeSystem/medicationrequest-status|active
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order&status=active
    
    POST https://select.nextech-api.com/api/r4/MedicationRequest/_search
    body: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&intent=original-order&status=http://hl7.org/fhir/CodeSystem/medicationrequest-status|active
    

     

    Example: Get all medication requests for a single patient that were modified as of 5/5/2022

    GET https://select.nextech-api.com/api/r4/MedicationRequest?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a&_lastUpdated=ge2022-05-05
    

     

    Example: Get all medication requests that were modified by 5/5/2022

    GET https://select.nextech-api.com/api/r4/MedicationRequest?_lastUpdated=le2022-05-05
    

     

    Medication Dispense

    Overview

    Medication Dispense State of a medication with regards to dispensing or other activity.(e.g., dispensed, partially dispensed, not dispensed)

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource string 19.0
    status A code specifying the current state of the medication dispense MedicationDispenseStatus 19.0
    medication The supplied medication CodeableConcept 19.0
    subject The patient pertaining to the medication dispense Reference (USCorePatientProfile) 19.0
    performer The individual who was performing BackboneElement (USCorePractitionerProfile) 19.0
    authorizingPrescription The Medication order that authorizes the dispense Reference (USCoreMedicationRequestProfile) 19.0
    type Identifies types of dispensing events CodeableConcept 19.0
    quantity Amount dispensed Quantity 19.0
    whenHandedOver The date and time when product was given out or mailed (Will be present if the status is "completed") dateTime 19.0
    dosageInstruction Indicates how the medication is to be used by the patient Dosage 19.0

    Example

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 1,
        "entry": [
            {
                "resource": {
                    "resourceType": "MedicationDispense",
                    "id": "1",
                    "status": "completed",
                    "medicationCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                                "code": "310964",
                                "display": "ibuprofen 500 mg capsule"
                            }
                        ],
                        "text": "ibuprofen 500 mg capsule"
                    },
                    "subject": {
                        "reference": "Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a",
                        "display": "Newman, Alice Jones"
                    },
                     "performer": [
                        {
                            "actor": {
                                "reference": "Practitioner/58206",
                                "display": "Davis, Albert"
                            }
                        }
                    ],
                    "authorizingPrescription": [
                        {
                            "reference": "MedicationRequest/5",
                            "display": "ibuprofen 500 mg capsule"
                        }
                    ],
                    "type": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                                "code": "RF",
                                "display": "Refill"
                            }
                        ],
                        "text": "Refill"
                    },
                    "quantity": {
                        "value": 10,
                        "unit": "capsule"
                    },
                    "whenHandedOver": "2024-07-06T18:20:39+02:00",
                    "dosageInstruction": [
                        {
                            "text": "1 capsule by mouth twice a day"
                        }
                    ]
                }
            }
        ]
    }
    

     

    Get

    Returns a single Medication Dispense result based on the Medication Dispense ID.

    HTTP Request

    GET /r4/MedicationDispense/{medicationDispenseId}

    Parameters

    Name Located in Description Required Initial Version
    medicationDispenseId path The unique identifier for the medication dispense Yes 19.0

    Example: Get the medication dispense with an ID of '10'

    GET https://select.nextech-api.com/api/r4/MedicationDispense/10
    

     

    Search

    Searches for medication dispenses for a single patient

    HTTP Requests

    Parameters

    Name Located in Description Required Initial Version
    patient query or payload The official patient identifier acquired from a patient search No 19.0
    _id query or payload The unique identifier for the medication dispense No 19.0
    identifier query or payload The unique identifier for the medication dispense No 19.0
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each medication dispense No 19.0

    Retrieve Provenance with medication dispense

    The _revinclude parameter allows support for including Provenance resources that match the returned medication dispenses. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the medication dispense.  

    Example: Get a medication dispense with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/MedicationDispense?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/MedicationDispense/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/MedicationDispense?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/MedicationDispense/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Example: Get the medication dispense with an ID of '12'

    GET https://select.nextech-api.com/api/r4/MedicationDispense?identifier=10
    
    POST https://select.nextech-api.com/api/r4/MedicationDispense/_search
    payload: identifier=10
    
    GET https://select.nextech-api.com/api/r4/MedicationDispense?_id=10
    
    POST https://select.nextech-api.com/api/r4/MedicationDispense/_search
    payload: _id=10
    

     

    Example: Get all medication dispenses for a single patient with id 'c27e5be0-4b44-4ec5-a284-4308d6ac2b1a'

    GET https://select.nextech-api.com/api/r4/MedicationDispense?patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    GET https://select.nextech-api.com/api/r4/MedicationDispense?patient=Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    
    POST https://select.nextech-api.com/api/r4/MedicationDispense/_search
    payload: patient=c27e5be0-4b44-4ec5-a284-4308d6ac2b1a
    

     

    Observation

    Overview

    An observation resource describes a measurement or an assertion made about a patient. The following category codes are supported:

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each observation which discerns them from all others. Identifier 16.9
    subject The patient pertaining to the observation Reference(US Core Patient Profile) 16.9
    status The observation status Observation Status 16.9
    category Classification of type of observation Category 16.9
    code Type of observation LOINC Code 16.9
    effectiveDate Clinically relevant time/time-period for observation dateTime 16.9
    value Observation result CodeableConcept 16.9
    issued The date and time this version of the observation was made available to providers instant 16.9
    value Observation result CodeableConcept 16.9
    bodySite Indicates the site on the subject's body where the observation was made (i.e. the target site) CodeableConcept 16.9
    method Indicates the mechanism used to perform the observation CodeableConcept 16.9
    hasMember Used when reporting vital signs panel components Reference(US Core Observation Lab Profile)(US Core Observation Screening Assessment Profile) 16.9
    component Used when reporting systolic and diastolic blood pressure BackboneElement 16.9
    meta.lastUpdated The last time the observation was updated instant 16.9
    specimen Specimen used for this observation Reference (US Core Specimen Profile) 19.1
    valueQuantity Observation Quantity valueQuantity 19.2
    performer Performer used for this observation Reference (US Core Patient Profile) 19.2

    Example

    {
      "resource":{
        "resourceType":"Observation",
        "id":"lab-452",
        "identifier":[
          {
            "use":"official",
            "value":"lab-452"
          },
          {
            "use":"usual",
            "value":"XY202200016 - A"
          }
        ],
        "status":"registered",
        "category":[
          {
            "coding":[
              {
                "system":"http://terminology.hl7.org/CodeSystem/observation-category",
                "code":"laboratory",
                "display":"laboratory"
              }
            ],
            "text":"Laboratory"
          }
        ],
        "code":{
          "coding":[
            {
              "system":"http://loinc.org",
              "code":"11065-0"
            }
          ],
          "text":"HPV Cervix"
        },
        "subject":{
          "reference":"Patient/4CC272B3-0842-4D9E-A4AD-9535FA1AD01E",
          "display":"Underwood, Jane"
        },
        "effectiveDate":"2022-06-30",
        "issued":"2022-06-01T11:39:12+47:11",
        "bodySite":{
          "text":"right anterior 1st finger"
        },
        "method":{
          "text":"Excision"
        },
        "specimen": {
           reference": "Specimen/57"
        }
      }
    }
    
    {
        "resource": {
            "resourceType": "Observation",
            "id": "simple-observation-sdoh-15107",
            "meta": {
                "lastUpdated": "2025-10-16T14:23:49.837+05:30",
                "profile": [
                    "http://hl7.org/fhir/us/core/StructureDefinition/us-core-simple-observation"
                ]
            },
            "identifier": [
                {
                    "use": "official",
                    "value": "simple-observation-sdoh-15107"
                }
            ],
            "status": "final",
            "category": [
                {
                    "coding": [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                            "code": "survey",
                            "display": "Survey"
                        }
                    ],
                    "text": "Survey"
                },
                {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                            "code": "disability-status",
                            "display": "Disability Status"
                        }
                    ],
                    "text": "Disability Status"
                },
                {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                            "code": "sdoh",
                            "display": "SDOH"
                        }
                    ],
                    "text": "SDOH"
                },
                {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                            "code": "functional-status",
                            "display": "Functional Status"
                        }
                    ],
                    "text": "Functional Status"
                },
                {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-category",
                            "code": "cognitive-status",
                            "display": "Cognitive Status"
                        }
                    ],
                    "text": "Cognitive Status"
                }
            ],
            "code": {
                "coding": [
                    {
                        "system": "http://loinc.org",
                        "code": "96777-8",
                        "display": "Accountable health communities (AHC) health-related social needs screening (HRSN) tool"
                    }
                ],
                "text": "~USCDI v3 - Accountable health communities (AHC) health-related social needs screening (Panel code 96777-8)"
            },
            "subject": {
                "reference": "Patient/fec408bc-3c64-4bdb-8d49-cdb68421d366",
                "display": "Singh, RV Tomar"
            },
            "effectiveDateTime": "2025-09-25",
            "issued": "2025-09-25T00:00:00+05:30",
            "performer": [
                {
                    "reference": "Patient/fec408bc-3c64-4bdb-8d49-cdb68421d366",
                    "display": "Singh, RV Tomar"
                }
            ],
            "valueQuantity": {
                "value": 7
            },
            "hasMember": [
                {
                    "reference": "Observation/15107-$0",
                    "display": "Body height:Length:Point in time:^Patient:Quantitative"
                },
                {
                    "reference": "Observation/15107-$1",
                    "display": "Problems with place where you live"
                },
                {
                    "reference": "Observation/15107-$2",
                    "display": "Within the past 12Mo the food we bought just didn't last and we didn't have money to get more"
                },
                {
                    "reference": "Observation/15107-$3",
                    "display": "Within the past 12Mo we worried whether our food would run out before we got money to buy more"
                },
                {
                    "reference": "Observation/15107-$4",
                    "display": "Has lack of transportation kept you from medical appointments, meetings, work, or from getting things needed for daily living"
                },
                {
                    "reference": "Observation/15107-$5",
                    "display": "Has the electric, gas, oil, or water company threatened to shut off services in your home in past 12 months"
                },
                {
                    "reference": "Observation/15107-$6",
                    "display": "How often does anyone, including family and friends, insult or talk down to you?"
                },
                {
                    "reference": "Observation/15107-$7",
                    "display": "How often does anyone, including family and friends, insult or talk down to you?"
                },
                {
                    "reference": "Observation/15107-$8",
                    "display": "How often does anyone, including family and friends, threaten you with harm?"
                }
            ],
            "component": [
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "8302-2",
                                "display": "Body height:Length:Point in time:^Patient:Quantitative"
                            }
                        ],
                        "text": "Body height:Length:Point in time:^Patient:Quantitative"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA25495-5",
                                "display": "Allen figure"
                            }
                        ],
                        "text": "Allen figure"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "96778-6",
                                "display": "Problems with place where you live"
                            }
                        ],
                        "text": "Problems with place where you live"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA31998-0",
                                "display": "Lack of heat"
                            }
                        ],
                        "text": "Lack of heat"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "88123-5",
                                "display": "Within the past 12Mo the food we bought just didn't last and we didn't have money to get more"
                            }
                        ],
                        "text": "Within the past 12Mo the food we bought just didn't last and we didn't have money to get more"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA28398-8",
                                "display": "Never true"
                            }
                        ],
                        "text": "Never true"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "88122-7",
                                "display": "Within the past 12Mo we worried whether our food would run out before we got money to buy more"
                            }
                        ],
                        "text": "Within the past 12Mo we worried whether our food would run out before we got money to buy more"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA28398-8",
                                "display": "Never true"
                            }
                        ],
                        "text": "Never true"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "93030-5",
                                "display": "Has lack of transportation kept you from medical appointments, meetings, work, or from getting things needed for daily living"
                            }
                        ],
                        "text": "Has lack of transportation kept you from medical appointments, meetings, work, or from getting things needed for daily living"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA32-8",
                                "display": "No (Qualifier value)"
                            }
                        ],
                        "text": "No (Qualifier value)"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "96779-4",
                                "display": "Has the electric, gas, oil, or water company threatened to shut off services in your home in past 12 months"
                            }
                        ],
                        "text": "Has the electric, gas, oil, or water company threatened to shut off services in your home in past 12 months"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA32002-0",
                                "display": "Already shut off"
                            }
                        ],
                        "text": "Already shut off"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "95617-7",
                                "display": "How often does anyone, including family and friends, insult or talk down to you?"
                            }
                        ],
                        "text": "How often does anyone, including family and friends, insult or talk down to you?"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA6729-3",
                                "display": "Sometimes true"
                            }
                        ],
                        "text": "Sometimes true"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "95617-7",
                                "display": "How often does anyone, including family and friends, insult or talk down to you?"
                            }
                        ],
                        "text": "How often does anyone, including family and friends, insult or talk down to you?"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA6729-3",
                                "display": "Sometimes true"
                            }
                        ],
                        "text": "Sometimes true"
                    }
                },
                {
                    "code": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "95616-9",
                                "display": "How often does anyone, including family and friends, threaten you with harm?"
                            }
                        ],
                        "text": "How often does anyone, including family and friends, threaten you with harm?"
                    },
                    "valueCodeableConcept": {
                        "coding": [
                            {
                                "system": "http://loinc.org",
                                "code": "LA28398-8",
                                "display": "Never true"
                            }
                        ],
                        "text": "Never true"
                    }
                }
            ]
        }
    }
    

     

    Get

    Returns a single Observation result based on the Observation ID.

    HTTP Request

    GET /r4/Observation/{observationId}

    Parameters

    Name Located in Description Required Initial Version
    observationId path The unique identifier for the observation Yes 16.9

    Example: Get a lab observation with an ID of '12'

    GET https://select.nextech-api.com/api/r4/Observation/lab-12
    

     

    Example: Get a sexual orientation observation with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Observation/sexual-orientation-123
    

     

    Example: Get a occupation observation with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Observation/occupation-123
    

     

    Example: Get a sdoh assessment observation with an ID of '15107'

    GET https://select.nextech-api.com/api/r4/Observation/simple-observation-sdoh-15107
    

     

    Search

    Returns observations based on the provided search parameters

    HTTP Request

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body The observation identifier No 16.9
    _id query or body The observation identifier No 16.9
    patient query or body The official patient identifier acquired from a patient search No 16.9
    category query or body The category of observation by code ie. category=laboratory or by token ie. category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory No 16.9
    date query or body The observation date in the form YYYY-MM-DD No 16.9
    code query or body The loinc code of observation by code ie. code=49765-1 or token ie. code=http://loinc.org|49765-1 No 16.9
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each observation No 17.0
    _lastUpdated query or body The date the observation was last modified, formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) (Note: Currently this search parameter will not filter the results for laboratory type observations) No 16.9

    Note: The possible filter values for the date or _lastUpdated parameters are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with observations

    The _revinclude parameter allows support for including Provenance resources that match the returned observations. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the observation.  

    Example: Get a lab observation with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Observation?identifier=lab-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: identifier=lab-123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Observation?_id=lab-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: _id=lab-123&_revinclude=Provenance:target
    

     

    Example: Get a sexual orientation observation with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Observation?identifier=sexual-orientation-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: identifier=sexual-orientation-123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Observation?_id=sexual-orientation-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: _id=sexual-orientation-123&_revinclude=Provenance:target
    

     

    Example: Get a occupation observation with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Observation?identifier=occupation-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: identifier=occupation-123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Observation?_id=occupation-123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: _id=occupation-123&_revinclude=Provenance:target
    

     

    Example: Get all laboratory requisitions and lab results 5/1/2017

    GET https://select.nextech-api.com/api/r4/Observation?category=laboratory&date=ge2017-05-01
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: category=laboratory&date=ge2017-05-01
    

     

    Example: Get the social histories charted in encounters as of 5/1/2017

    GET https://select.nextech-api.com/api/r4/Observation?category=social-history&date=ge2017-05-01
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: category=social-history&date=ge2017-05-01
    

     

    Example: Get the vital signs charted in encounters as of 5/1/2017

    GET https://select.nextech-api.com/api/r4/Observation?category=vital-signs&date=ge2017-05-01
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: category=vital-signs&date=ge2017-05-01
    

     

    Example: Get all sexual orientation observations for a patient

    GET https://select.nextech-api.com/api/r4/Observation?code=76690-7&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: code=76690-7&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    

     

    Example: Get all occupation observations for a patient

    GET https://select.nextech-api.com/api/r4/Observation?code=11341-5&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: code=11341-5&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    

     

    Example: Get all diagnostic images for a patient

    GET https://select.nextech-api.com/api/r4/Observation?category=imaging&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: category=imaging&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    

     

    Example: Get all survey observations for a patient

    GET https://select.nextech-api.com/api/r4/Observation?category=survey&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    
    POST https://select.nextech-api.com/api/r4/Observation/_search
    body: category=survey&patient=4CC272B3-0842-4D9E-A4AD-9535FA1AD01E
    

     

    Procedure

    Overview

    A procedure resource describes an activity performed with or on a patient as part of the provision of care.

    Fields

    Name Description Type Initial Version
    id The logical id of the resource, as used in the URL for the resource. string 16.7
    identifier The unique value assigned to each procedure which discerns them from all others. Identifier 16.7
    basedOn A request for this procedure Reference ([CarePlan ServiceRequest])
    status The status of the procedure EventStatus 16.7
    category Classification of the procedure CodeableConcept 20.0
    subject Who the procedure was performed on Reference (US Core Patient Profile) 16.7
    performedDateTime Date the procedure was performed DateTime 16.7

    Example

    {
        "resourceType": "Procedure",
        "id": "2053",
        "identifier": [
          {
            "use": "official",
            "value": "2053"
          }
        ],
        "basedOn": [
            {
                "reference": "Encounter/1035"
            }
        ],
        "status": "completed",
        "category": {
            "coding": [
                {
                    "system": "http://snomed.info/sct",
                    "code": "410606002",
                    "display": "Social service procedure"
                }
            ]
        },
        "code": {
          "coding": [
            {
              "system": "CPT4",
              "code": "54601",
              "display": "Microdermabrasion"
            }
          ],
          "text": "Microdermabrasion"
        },
        "subject": {
          "reference": "Patient/5F37E582-FD96-48C5-9EE3-02E26D96CB72",
          "display": "Smith, John"
        },
    }
    

     

    Get

    Returns a single Procedure result based on the Procedure ID.

    HTTP Request

    GET /r4/Procedure/{procedureID}

    Parameters

    Name Located in Description Required Initial Version
    procedureID path The procedure unique identifier Yes 16.7

    Example: Get an procedure with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Procedure/123
    

     

    Search

    Returns procedures based on the provided search parameters.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query or body The date the procedure was last modified, formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) No 16.7
    patient query or body The official patient identifier acquired from a patient search No 16.7
    date query or body The date the procedure was performed in the form YYYY-MM-DD No 16.7
    _id query or body The procedure unique identifier No 16.7
    identifier query or body The procedure unique identifier No 16.7
    _revinclude query or body Must be Provenance:target. This enables requesting additional Provenance resources that relate to each procedure No 17.0

    Note: The possible filter values for the date or _lastUpdated parameters are: eq, ne, le, lt, ge and gt.

    Retrieve Provenance with procedures

    The _revinclude parameter allows support for including Provenance references that match the returned procedures. This value must be Provenance:target, otherwise the request will result in an error. These will be in additional bundle entry components, which have a Provenance.Target entry that identifies the relative link to the procedure.

     

    Example: Get a procedure with an identifier '123' with provenance

    GET https://select.nextech-api.com/api/r4/Procedure?identifier=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Procedure/_search
    body: identifier=123&_revinclude=Provenance:target
    
    GET https://select.nextech-api.com/api/r4/Procedure?_id=123&_revinclude=Provenance:target
    
    POST https://select.nextech-api.com/api/r4/Procedure/_search
    body: _id=123&_revinclude=Provenance:target
    

     

    Examples:

    Get all procedures

    GET https://select.nextech-api.com/api/r4/Procedure
    

    Search for procedures for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192'

    GET https://select.nextech-api.com/api/r4/Procedure?patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    
    POST https://select.nextech-api.com/api/r4/Procedure/_search
    body: patient=9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192
    

    Search for procedures for the patient with the id '9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192' performed between and including 1/1/2022 through 11/14/2022

    GET https://select.nextech-api.com/api/r4/Procedure?patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    
    POST https://select.nextech-api.com/api/r4/Procedure/_search
    body: patient=patient/9D0B7ADE-4B5B-41DD-8AC4-88DB4C93B192&date=ge2022-01-01&date=lt2022-11-14
    

    Search for an procedure with the id '123'

    GET https://select.nextech-api.com/api/r4/Procedure?_id=123
    
    POST https://select.nextech-api.com/api/r4/Procedure/_search
    body: _id=123
    

     

    Overview

    A Related Person resource represents persons with a legal or familial relationship to a patient.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each Related Person Relationship which discerns it from all others string 18.7
    active Whether this related person's record is in active use boolean 18.7
    patient The patient this person is related to Reference(US Core Patient Profile) 18.7
    relationship The nature of the relationship CodeableConcept 18.7
    name A name associated with the person HumanName 18.7
    telecom A contact detail for the person ContactPoint 18.7
    address Address where the related person can be contacted or visited Address 18.7

    Example

    {
        "resourceType": "RelatedPerson",
        "id": "1",
        "active": true,
        "patient": {
            "reference": "Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a",
            "display": "Newman, Alice Jones"
        },
        "relationship": [
            {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode",
                        "code": "MTH"
                    }
                ]
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "Cheryl Newman",
                "family": "Newman",
                "given": [
                    "Cheryl"
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(586) 501-4732",
                "use": "home"
            }
        ],
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "480 Hoppe Valley Lakes"
                ],
                "city": "Port Brett",
                "state": "ID",
                "postalCode": "83295"
            }
        ]
    }
    

     

    Get

    Returns a single Related Person result based on the Related Person ID.

    HTTP Request

    GET /r4/RelatedPerson/{relatedPersonID}

    Parameters

    Name Located in Description Required Initial Version
    relatedPersonID path The unique identifier for the related person Yes 18.7
    GET https://select.nextech-api.com/api/r4/RelatedPerson/relatedperson-821patient-73
    

     

    Search

    Searches for all related persons based on the given search criteria.

    HTTP Request

    GET /r4/RelatedPerson?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    _id query or uri The unique value assigned to each Related Person which discerns it from all others No 18.7
    GET https://select.nextech-api.com/api/r4/RelatedPerson
    

     

    GET https://select.nextech-api.com/api/r4/RelatedPerson?_id=relatedperson-821patient-73
    

     

    Binary

    Overview

    Returns the Binary data and content type of a Document Reference or a Diagnostic Report.

    Fields

    Name Description Type Initial Version
    contentType The mimetype of the content. Code 17.0
    data The base64 encoded data of the attachment. base64Binary 17.0

    Example

    {
        "resourceType": "Binary",
        "contentType": "text/plain",
        "data": "U0dWc2JHOGg=",
    }
    

     

    Get By ID

    Gets the binary form of a document by ID

    HTTP Request

    GET /r4/Binary/{documentType-id}

    Parameters

    Name Located in Description Required Initial Version
    documentType-id path Must be in the form documenttype-id i.e: GET /r4/Binary/history-5 Yes 17.0

    Supported Document Types

    The supported document type specifiers for IDs are history-{id} and emn-{id}.

    Example: Get the binary form of a history document with ID 2262 which is a text file with a content of "Hello!"

    GET https://select.nextech-api.com/api/r4/Binary/history-2262
    

     

    Location

    Overview

    A Location resource represents a physical location where services are provided. This may or may not be under the practice's management.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each location which discerns it from all others string 12.8
    identifier The unique value assigned to each location which discerns it from all others Identifier 12.8
    meta.lastUpdated The last time the location was modified instant 16.9
    status The status of the location (ie. active, inactive) code 12.8
    managed True if this location is under practice management, for example the practice's primary office location. False if this location is not under practice management, but where services are provided, for example a hospital or clinic. boolean 14.4
    name The name of the location string 12.8
    telecom The contact details of communication at the location ContactPoint 12.8
    address The address of the location Address 12.8
    managingOrganization The reference to the associated organization Reference (US Core Organization Profile) 16.9

    Example

    {
        "resourceType": "Location",
        "id": "2",
        "meta": 
        {
            "lastUpdated": "2022-04-02T14:04:35.9+00:00"
        },
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/managed",
                "valueBoolean": true
            }
        ],
        "identifier": [
            {
                "use": "official",
                "value": "2"
            }
        ],
        "status": "active",
        "name": "South Dermatology",
        "telecom": [
            {
                "system": "phone",
                "value": "(727) 623-6100",
                "use": "work"
            },
            {
                "system": "other",
                "value": "(727) 718-9884",
                "use": "work"
            },
            {
                "system": "fax",
                "value": "(727) 623-6187",
                "use": "work"
            }
        ],
        "address": {
            "use": "work",
            "type": "both",
            "line": [
                "1234 Central Ave., Suite N"
            ],
            "city": "St. Petersburg",
            "state": "FL",
            "postalCode": "11598"
        },
        "managingOrganization": {
            "reference": "Organization/1",
            "display": "Tampa Dermatology"
        }
    }
    

     

    Get

    Returns a single Location result based on the Location ID.

    HTTP Request

    GET /r4/Location/{LocationID}

    Parameters

    Name Located in Description Required Initial Version
    locationID path The location unique identifier Yes 16.9

    Example: Get an location with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Location/123
    

     

    Searches for all locations based on the given search criteria.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body The unique value assigned to each location which discerns it from all others No 12.8
    status query or body Searches for locations with a specific kind of status. See LocationStatus No 12.8
    includeAll query or body By default, or if includeAll is false, then only managed locations are returned, for example the practice's primary office location. If includeAll is true, then all locations will be returned, whether they are under under practice management or not, but where services are provided, such as a hospital or a clinic. No 14.4
    name query or body The name of the location No 12.8
    address query or body A (part of the) address of the location No 12.8
    address-city query or body A city specified in an address No 12.8
    address-state query or body A state specified in an address No 12.8
    address-postalcode query or body A postal code specified in an address No 12.8
    phone query or body Searches for locations based on phone numbers and fax numbers No 12.8
    _id query or body The location unique identifier No 16.9
    _lastUpdated query or body The last time the location was modified No 16.9

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Example: Get all active locations

    POST https://select.nextech-api.com/api/r4/Location/_search?status=active
    

     

    Example: Get all locations, including managed and non-managed locations

    POST https://select.nextech-api.com/api/r4/Location/_search?includeAll=true
    

     

    Example: Get all active locations whose city starts with 'Tampa'

    POST https://select.nextech-api.com/api/r4/Location/_search?address-city=Tampa&status=active
    

     

    Example: Get all locations whose name contains 'dermatology'

    POST https://select.nextech-api.com/api/r4/Location/_search?name:contains=dermatology
    

     

    Example: Get a specific location based on identifier

    POST https://select.nextech-api.com/api/r4/Location/_search?identifier=123
    

     

    Example: Get all active locations

    GET https://select.nextech-api.com/api/r4/Location?status=active
    

     

    Example: Get all locations, including managed and non-managed locations

    GET https://select.nextech-api.com/api/r4/Location?includeAll=true
    

     

    Example: Get all active locations whose city starts with 'Tampa'

    GET https://select.nextech-api.com/api/r4/Location?address-city=Tampa&status=active
    

     

    Example: Get all locations whose name contains 'dermatology'

    GET https://select.nextech-api.com/api/r4/Location?name:contains=dermatology
    

     

    Example: Get a specific location based on identifier

    GET https://select.nextech-api.com/api/r4/Location?identifier=123
    

     

    Practitioner

    Overview

    A Practitioner resource represents an individual who is engaged in the healthcare process and healthcare-services. In the Nextech Software, these are providers who are linked to users.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each Practitioner which discerns it from all others Identifier 12.8
    active Whether this practitioner's record is in active use. boolean 12.8
    name The name(s) associated with the practitioner HumanName 12.8
    telecom Contact detail(s) for the practitioner (that apply to all roles) ContactPoint 12.8
    address Address(es) of the practitioner that are not role specific Address 12.8
    gender Gender of the practitioner Code 12.8
    birthDate The date of birth of the practitioner date 12.8

    Example

    {
        "resourceType": "Practitioner",
        "identifier": [
            {
                "use": "official",
                "system": "https://select.nextech-api.com/api/structuredefinition/practitioner-id"
                "value": "9219"
            },
            {
                "system": "http://hl7.org/fhir/sid/us-npi",
                "value": "1245319599"
            }
        ],
        "active": true,
        "name": [
            {
                "text": "Davis, Albert Edward",
                "family": "Davis",
                "given": [
                    "Albert",
                    "Edward"
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(813) 324-2391",
                "use": "work"
            },
            {
                "system": "email",
                "value": "provider@nextech.com",
                "use": "work"
            }
        ],
        "address": [
            {
                "use": "work",
                "type": "both",
                "line": [
                    "550 W N ST"
                ],
                "city": "Tampa",
                "state": "FL",
                "postalCode": "33609",
                "country": "US"
            }   
        ],
        "gender": "male",
        "birthDate": "1970-09-27"
    

     

    Get

    Returns a single Practitioner result based on the Practitioner ID.

    HTTP Request

    GET /r4/Practitioner/{practitionerID}

    Parameters

    Name Located in Description Required Initial Version
    practitionerID path The unique identifier for the practitioner Yes 12.8

    Example: Get a specific Practitioner based on identifier

    GET https://select.nextech-api.com/api/r4/Practitioner/12
    

     

    Searches for all based on the given search criteria.

    HTTP Request

    GET /r4/Practitioner?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query or uri The unique value assigned to each Practitioner which discerns it from all others No 12.8
    active query Searches for Practitioners whose record is in active use. No 12.8
    name query The name of the Practitioner No 12.8
    family query The family (last) name of the practitioner No 12.8
    given query The given (first) name of the practitioner No 12.8
    address query A (part of the) address of the Practitioner No 12.8
    address-city query A city specified in an address No 12.8
    address-state query A state specified in an address No 12.8
    address-postalcode query A postal code specified in an address No 12.8
    address-country query A Country ISO 3166 2 letter code specified in an address No 19.2
    phone query Searches for Practitioners based on phone numbers No 12.8
    email query Searches for Practitioner based on email address No 12.8
    gender query Searches for Practitioner based on gender No 12.8

    Example: Get all Practitioners

    GET https://select.nextech-api.com/api/r4/Practitioner
    

     

    Example: Get all active Practitioners

    GET https://select.nextech-api.com/api/r4/Practitioner?active=true
    

     

    Example: Get a specific Practitioner based on identifier

    GET https://select.nextech-api.com/api/r4/Practitioner?identifier=12
    

     

    Example: Get a specific Practitioner based on National Provider Identifier (NPI)

    GET https://select.nextech-api.com/api/r4/Practitioner?identifier=http://hl7.org/fhir/sid/us-npi|1245319599
    

     

    Example: Get all active Practitioners whose city starts with 'Tampa'

    GET https://select.nextech-api.com/api/r4/Practitioner?address-city=Tampa
    

     

    Example: Get a specific Practitioner(s) based on gender

    GET https://select.nextech-api.com/api/r4/Practitioner?gender=male
    

     

    Example: Get all Practitioners whose name contains 'smith'

    GET https://select.nextech-api.com/api/r4/Practitioner?name:contains=smith
    

     

    Remarks

    Account

    Overview

    The Account resource represents a financial tool for tracking value accrued for a particular purpose. In Nextech, it's used to track the patient's responsibility.

    Fields

    Name Description Type Initial Version
    id Unique identifier used to reference the account. string 12.9
    identifier Unique identifier used to reference the account. Identifier 12.9
    name The name associated with the Account. string 12.9
    status Indicates whether the account is presently used/usable or not. CodeableConcept 12.9
    type Categorizes the account for reporting and searching purposes. CodeableConcept 12.9
    description Provides additional information about what the account tracks and how it is used. string 12.9
    subject Identifies the patient or other object the account is associated with. Reference 12.9
    guarantor Party financially responsible for the account. BackboneElement 12.9
    guarantor.party The entity who is responsible. Reference(US Core Patient Profile) 12.9

    }

    Example

    {
        "resourceType": "Account",
        "id": "3200",
        "identifier": [
            {
                "use": "official",
                "value": "3200"
            }
        ],
        "status": "active",
        "type": {
            "coding": [
                {
                    "system": "https://www.hl7.org/fhir/valueset-account-type.html",
                    "code": "PBILLACCT"
                }
            ],
            "text": "Patient"
        },
        "name": "Test, John",
        "subject": {
            "reference": "Patient/59015300-e15b-474c-8314-7864712f6946"
        },
        "description": "Patient Responsibility",
        "guarantor": [
            {
                "party": {
                    "reference": "Patient/59015300-e15b-474c-8314-7864712f6946"
                }
            }
        ]
    }
    

     

    Get

    Returns a single Account based on the account ID.

    HTTP Request

    Parameters

    Name Located in Description Required Initial Version
    accountID path The account identifier Yes 12.9

    Example: Get a specific Account with an id of '12'

    GET https://select.nextech-api.com/api/r4/Account/12
    

     

    Searches for all accounts based on the given search criteria.

    HTTP Request

    GET r4/Account?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query or uri The unique value assigned to each Account which discerns it from all others. No 12.9
    status query Searches for Accounts whose record has the search status. No 12.9
    name query The name of the Account. No 12.9
    balance query The balance of the Account. No 12.9
    patient query The patient the account is tied to. No 12.9

    Example: Get all active Accounts

    GET https://select.nextech-api.com/api/r4/Account?status=active
    

     

    Example: Get accounts with a balance greater than zero

    GET https://select.nextech-api.com/api/r4/Account?balance=gt0
    

     

    Example: Get a specific Account attached to a patient

    GET https://select.nextech-api.com/api/r4/Account?patient=59015300-e15b-474c-8314-7864712f6946
    

     

    Example: Get all Accounts whose name contains 'smith'

    GET https://select.nextech-api.com/api/r4/Account?name:contains=smith
    

     

    Coverage

    Coverage

    Overview

    The Coverage resource provides patient insurance information which may be used to pay for the provision of health care products and services.

    Fields

    Name Description Type Initial Version
    identifier The unique identifer for the coverage Identifier 18.9
    status The status of the coverage code 18.9
    type The type of coverage (ie. Medical, Vision, Dental, Auto, Workers' Comp). See CodeableConcept 18.9
    subscriber The subscriber to the policy Reference( US Core Patient Profile or US Core RelatedPerson Profile) 18.9
    subscriberId The identifier assigned to the subscriber string 18.9
    beneficiary The patient who benefits from the coverage Reference(US Core Patient Profile) 18.9
    relationship The beneficiary (or patient) relationship to the subscriber. See CodeableConcept 18.9
    period The coverage effective and expiry dates (if available) Period 18.9
    payor The reference to the insurance company providing the insurance coverage Reference(US Core Organization Profile 18.9
    class:group.value The policy group number for the coverage string 18.9
    class:plan.value The insurance plan name or type string 18.9
    order The relative order of the coverage positiveInt 18.9

    Example

    {
        "resource": {
                    "resourceType": "Coverage",
                    "id": "156",
                    "identifier": [
                        {
                            "type": {
                                "coding": [
                                    {
                                        "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                                        "code": "MB",
                                        "display": "Member Number"
                                    }
                                ],
                                "text": "Member Number"
                            },
                            "system": "https://select.nextech-api.com/coverage-ids",
                            "value": "156",
                            "period": {
                                "start": "2015-01-01T00:00:00+05:30",
                                "end": "2030-03-05T00:00:00+05:30"
                            },
                            "assigner": {
                                "reference": "Organization/133",
                                "display": "Blue Cross - Blue Cross"
                            }
                        }
                    ],
                    "status": "active",
                    "type": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                                "code": "EHCPOL",
                                "display": "extended healthcare"
                            }
                        ]
                    },
                    "subscriber": {
                        "reference": "#156",
                        "display": "Newman, Shobhit Jones"
                    },
                    "subscriberId": "88800933502",
                    "beneficiary": {
                        "reference": "Patient/f4b860ce-2393-4db4-849d-a07445778940",
                        "display": "Newman, Alice Jones"
                    },
                    "relationship": {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
                                "code": "other",
                                "display": "Other"
                            }
                        ]
                    },
                    "period": {
                        "start": "2015-01-01T00:00:00+05:30",
                        "end": "2030-03-05T00:00:00+05:30"
                    },
                    "payor": [
                        {
                            "reference": "#133",
                            "display": "Blue Cross - Blue Cross"
                        }
                    ],
                    "class": [
                        {
                            "type": {
                                "coding": [
                                    {
                                        "system": "http://terminology.hl7.org/CodeSystem/coverage-class",
                                        "code": "group",
                                        "display": "Group"
                                    }
                                ],
                                "text": "Group"
                            },
                            "value": "22222222222",
                            "name": "Employer Group Plan 22222222222"
                        },
                        {
                            "type": {
                                "coding": [
                                    {
                                        "system": "http://terminology.hl7.org/CodeSystem/coverage-class",
                                        "code": "plan",
                                        "display": "Plan"
                                    }
                                ],
                                "text": "Plan"
                            },
                            "value": "Blue Cross - Blue Cross - Other",
                            "name": "Blue Cross - Blue Cross - Other"
                        }
                    ],
                    "order": 1
                }
    }
    

     

    Searches for all active coverages (insured parties) based on the given search criteria.

    HTTP Request

    GET /r4/Coverage?{parameters} POST /r4/Coverage/_search?{parameters}

    Note: For POST based searches the parameters can be provided by the body.

    Parameters

    Name Located in Description Required Initial Version
    patient query or body Search coverages by patient _id or identifier Yes 18.9

    Example: Get coverages for a single patient

    GET https://select.nextech-api.com/api/r4/Coverage?patient=ce2a5ae0-3514-4f63-8609-911da841e72e
    
    

     

    Get

    Returns a single coverage (insured party) based on the given search criteria.

    HTTP Request

    GET /r4/Coverage?{CoverageId}

    Parameters

    Name Located in Description Required Initial Version
    CoverageId path Search coverage by Coverage identifier Yes 18.9

    Example: Get a specific coverage based on coverage identifier

    GET https://select.nextech-api.com/api/r4/Coverage/156
    

     

    Organization

    Overview

    An Organization resource represents a physical location where services are provided. This may or may not be under the practice's management.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each location which discerns it from all others string 12.8
    identifier The unique value assigned to each location which discerns it from all others Identifier 12.8
    identifier:NPI NPI identifier for the organization that is used to identify the organization across multiple disparate systems Identifier 16.9
    meta.lastUpdated The last time the organization was modified instant 16.9
    type The type of organization e.g., Healthcare Provider, Payor... string 19.2
    name The name of the location string 12.8
    telecom The contact details of communication at the location ContactPoint 12.8
    address The address of the location Address 12.8
    address.country The country of the location address string 16.9
    active Whether the organization's record is still in active use boolean 12.8

    Example

    {
        "resourceType": "Organization",
        "id": "2",
        "meta": 
        {
            "lastUpdated": "2022-04-02T14:04:35.9+00:00"
        },
        "identifier": [
            {
                "use": "official",
                "value": "2"
            },
            {
                "system": "http://hl7.org/fhir/sid/us-npi",
                "value": "ABCDE1234"
            }
        ],
        "active": true,
        "type": [
            {
                "coding": [
                    {
                        "system": "http://terminology.hl7.org/CodeSystem/organization-type",
                        "code": "pay"
                    }
                ],
                "text": "Payer"
            }
        ],
        "name": "South Dermatology",
        "telecom": [
            {
                "system": "phone",
                "value": "(727) 623-6100",
                "use": "work"
            },
            {
                "system": "other",
                "value": "(727) 718-9884",
                "use": "work"
            },
            {
                "system": "fax",
                "value": "(727) 623-6187",
                "use": "work"
            }
        ],
        "address": [{
            "use": "work",
            "type": "both",
            "line": [
                "1234 Central Ave., Suite N"
            ],
            "city": "St. Petersburg",
            "state": "FL",
            "postalCode": "11598", 
            "country": "US"
        }]
    }
    

     

    Get

    Returns a single Organization result based on the Organization ID.

    HTTP Request

    GET /r4/Organization/{OrganizationID}

    Parameters

    Name Located in Description Required Initial Version
    OrganizationID path The organization unique identifier Yes 16.9

    Example: Get an organization with an ID of '123'

    GET https://select.nextech-api.com/api/r4/Organization/123
    

     

    Searches for all organizations based on the given search criteria.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    identifier query or body The unique value assigned to each organization which discerns it from all others No 12.8
    status query or body Searches for organizations with a specific kind of status. See OrganizationStatus No 12.8
    includeAll query or body By default, or if includeAll is false, then only managed organizations are returned, for example the practice's primary office location. If includeAll is true, then all organizations will be returned, whether they are under under practice management or not, but where services are provided, such as a hospital or a clinic. No 14.4
    name query or body The name of the organization No 12.8
    address query or body A (part of the) address of the organization No 12.8
    address-city query or body A city specified in an address No 12.8
    address-state query or body A state specified in an address No 12.8
    address-postalcode query or body A postal code specified in an address No 12.8
    phone query or body Searches for locations based on phone numbers and fax numbers No 12.8
    _id query or body The organization unique identifier No 16.9
    _lastUpdated query or body The last time the organization was modified No 16.9
    type query or body The type of organization e.g., Healthcare Provider, Payor... No 19.2

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Example: Get all active organizations

    POST https://select.nextech-api.com/api/r4/Organization/_search?status=active
    

     

    Example: Get all organizations, including managed and non-managed organizations

    POST https://select.nextech-api.com/api/r4/Organization/_search?includeAll=true
    

     

    Example: Get all active organizations whose city starts with 'Tampa'

    POST https://select.nextech-api.com/api/r4/Organization/_search?address-city=Tampa&status=active
    

     

    Example: Get all organizations whose name contains 'dermatology'

    POST https://select.nextech-api.com/api/r4/Organization/_search?name:contains=dermatology
    

     

    Example: Get a specific organization based on identifier

    POST https://select.nextech-api.com/api/r4/Organization/_search?identifier=123
    

     

    Example: Get all active organizations

    GET https://select.nextech-api.com/api/r4/Organization?status=active
    

     

    Example: Get all organizations, including managed and non-managed organizations

    GET https://select.nextech-api.com/api/r4/Organization?includeAll=true
    

     

    Example: Get all active organizations whose city starts with 'Tampa'

    GET https://select.nextech-api.com/api/r4/Organization?address-city=Tampa&status=active
    

     

    Example: Get all organizations whose name contains 'dermatology'

    GET https://select.nextech-api.com/api/r4/Organization?name:contains=dermatology
    

     

    Example: Get a specific organization based on identifier

    GET https://select.nextech-api.com/api/r4/Organization?identifier=123
    

     

    Example: Get a specific organization based on type (eg. prov or pay)

    GET https://select.nextech-api.com/api/r4/Organization?type=pay
    GET https://select.nextech-api.com/api/r4/Organization?type=prov
    

     

    Provenance

    Overview

    The provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource.

    Fields

    Name Description Type Initial Version
    id The unique value assigned to each provenance which discerns it from all others string 17.0
    meta.lastUpdated The last time the provenance was modified instant 17.0
    target The resource(s) the provenance supports Reference (Resource) 17.0
    recorded Timestamp of when the activity was recorded instant 17.0
    agent Actor involved slice 17.0
    agent.type How the agent participated CodeableConcept 17.0
    agent.who Who participated Reference (US Core Practitioner Profile or US Core Organization Profile or US Core Patient Profile) 17.0
    agent.onBehalfOf Who the agent is representing Reference (US Core Organization Profile) 17.0

    Example

    {
        "resourceType": "Provenance",
        "id": "4",
        "meta": {
            "lastUpdated": "2022-08-05T14:29:08.217-04:00"
        },
        "target": [
            {
                "reference": "Immunization/145"
            },
            {
                "reference": "DocumentReference/history-131816"
            }
        ],
        "recorded": "2022-08-05T14:29:08.217-04:00",
        "agent": [
            {
                "type": {
                    "coding": [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
                            "code": "author",
                            "display": "Author"
                        }
                    ],
                    "text": "Author"
                },
                "who": {
                    "reference": "Practitioner/26546",
                    "display": "PortalProvider, PortalProvider"
                },
                "onBehalfOf": {
                    "reference": "Organization/47",
                    "display": "Pawtucket Plastic Surgeons"
                }
            },
            {
                "type": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type",
                            "code": "transmitter",
                            "display": "Transmitter"
                        }
                    ],
                    "text": "Transmitter"
                },
                "who": {
                    "reference": "Practitioner/26546",
                    "display": "PortalProvider, PortalProvider"
                },
                "onBehalfOf": {
                    "reference": "Organization/47",
                    "display": "Pawtucket Plastic Surgeons"
                }
            }
        ]
    }
    

     

    Get

    Returns a single Provenance result based on the Provenance ID.

    HTTP Request

    GET /r4/Provenance/{ProvenanceID}

    Parameters

    Name Located in Description Required Initial Version
    ProvenanceID path The provenance unique identifier Yes 17.0

    Example: Get a specific provenance based on identifier

    GET https://select.nextech-api.com/api/r4/Provenance/123
    

     

    Searches for all provenance info based on the given search criteria.

    HTTP Requests

    Note: For POST based searches the parameters can be provided in either the URL, the body, or both.

    Parameters

    Name Located in Description Required Initial Version
    _id query or body The unique value assigned to each provenance which discerns it from all others No 17.0
    identifier query or body The unique value assigned to each provenance which discerns it from all others No 17.0
    _lastUpdated query or body The last time the provenance was modified No 17.0
    patient query or body The unique patient ID to find direct (Patient resource only) patient provenance for No 17.0

    Note: The possible filter values for the _lastUpdated parameter are: eq, ne, le, lt, ge and gt.

    Example: Get all provenance info

    GET https://select.nextech-api.com/api/r4/Provenance
    

     

    Example: Get a specific provenance based on identifier

    GET https://select.nextech-api.com/api/r4/Provenance?_id=123
    

     

    Bulk Export

    Bulk FHIR Export (Documentation)

    Overview

    This functionality provides the ability for asynchronous generation of potentially large amounts of bulk data - whether that be all patients, a subset (defined group) of patients, or all available data contained in the FHIR server.

    Bulk Data Kick-off request

    Allows for the generation of bulk data in one of three different formats: all patients, a subset of patients within a defined group, or all available data contained in the FHIR server.

    All Patients

    HTTP Request

    GET /r4/Patient/$export?{parameters}

    HTTP Headers

    Name Value Description Required
    Accept application/fhir+json Specifies the format of the optional OperationOutcome resource response to the kick-off request Yes
    Prefer respond-async Specifies whether the response is immediate or asynchronous Yes

    Parameters

    Name Located in Description Required Initial Version
    _outputFormat query The format for the requested bulk data files to be generated as per the FHIR Asynchronous Request Pattern. Defaults to application/fhir+ndjson, but also supports application/ndjson and ndjson abbreviated representations No 16.9
    _since query Resources will be included in the response if their state has changed after the supplied time (e.g. if Resource.meta.lastUpdated is later than the supplied _since time) No 16.9
    _type query String of comma-delimited FHIR R4 resource types (example: Patient,MedicationRequest). All supported resources are returned if this parameter is not provided No 16.9

    HTTP Response

    A successful kick-off request will return a response with a 202 Accepted HTTP status code, along with a Content-Location reponse header containing the absolute URL of the endpoint that must be used for subsequent status requests (polling location), which will be located at https://select.nextech-api.com/api/r4/Export/{ExportJobID}. See below for the usage of this polling endpoint. A failed kick-off request will return a response with either a 4XX or 5XX range status code, along with a JSON response body containing a FHIR OperationOutCome resource describing the error that occurred.

    Example: Start an export of all patients

    GET https://select.nextech-api.com/api/r4/Patient/$export
    

     

    All Patients within a group

    HTTP Request

    GET /r4/Group/{GroupID}/$export?{parameters}

    HTTP Headers

    Name Value Description Required
    Accept application/fhir+json Specifies the format of the optional OperationOutcome resource response to the kick-off request Yes
    Prefer respond-async Specifies whether the response is immediate or asynchronous Yes

    Parameters

    Name Located in Description Required Initial Version
    GroupID path ID of the group of patients to export Yes 16.9
    _outputFormat query The format for the requested bulk data files to be generated as per the FHIR Asynchronous Request Pattern. Defaults to application/fhir+ndjson, but also supports application/ndjson and ndjson abbreviated representations No 16.9
    _since query Resources will be included in the response if their state has changed after the supplied time (e.g. if Resource.meta.lastUpdated is later than the supplied _since time) No 16.9
    _type query String of comma-delimited FHIR R4 resource types (example: Patient,MedicationRequest). All supported resources are returned if this parameter is not provided No 16.9

    HTTP Response

    A successful kick-off request will return a response with a 202 Accepted HTTP status code, along with a Content-Location reponse header containing the absolute URL of the endpoint that must be used for subsequent status requests (polling location), which will be located at https://select.nextech-api.com/api/r4/Export/{ExportJobID}. See below for the usage of this polling endpoint. A failed kick-off request will return a response with either a 4XX or 5XX range status code, along with a JSON response body containing a FHIR OperationOutCome resource describing the error that occurred.

    Example: Start an export of all patients within the group with an ID of "1"

    GET https://select.nextech-api.com/api/r4/Group/1/$export
    

     

    System level export

    HTTP Request

    GET /r4/$export?{parameters}

    HTTP Headers

    Name Value Description Required
    Accept application/fhir+json Specifies the format of the optional OperationOutcome resource response to the kick-off request Yes
    Prefer respond-async Specifies whether the response is immediate or asynchronous Yes

    Parameters

    Name Located in Description Required Initial Version
    _outputFormat query The format for the requested bulk data files to be generated as per the FHIR Asynchronous Request Pattern. Defaults to application/fhir+ndjson, but also supports application/ndjson and ndjson abbreviated representations No 16.9
    _since query Resources will be included in the response if their state has changed after the supplied time (e.g. if Resource.meta.lastUpdated is later than the supplied _since time) No 16.9
    _type query String of comma-delimited FHIR R4 resource types (example: Patient,MedicationRequest). All supported resources are returned if this parameter is not provided No 16.9

    HTTP Response

    A successful kick-off request will return a response with a 202 Accepted HTTP status code, along with a Content-Location reponse header containing the absolute URL of the endpoint that must be used for subsequent status requests (polling location), which will be located at https://select.nextech-api.com/api/r4/Export/{ExportJobID}. See below for the usage of this polling endpoint. A failed kick-off request will return a response with either a 4XX or 5XX range status code, along with a JSON response body containing a FHIR OperationOutCome resource describing the error that occurred.

    Example: Start an export of all allowed FHIR resources

    GET https://select.nextech-api.com/api/r4/$export
    

     

    Poll export content location

    HTTP Request

    GET /r4/Export/{ExportJobID}

    Parameters

    Name Located in Description Required Initial Version
    ExportJobID path ID of the export job to poll the status of. Returned in the Content-Location HTTP header in the HTTP response to the kick-off request Yes 16.9

    HTTP Response

    An export job can be in one of three states: In-Progress, Error, and Complete, and has the following types of responses for those states:

    In-Progress

    Returned by the server while it is processing the $export request. The X-Progress HTTP response header gives an indication of how far along the export is, as a percentage. The Retry-After HTTP response header gives a delay time in seconds indicating the amount of time to wait before making another polling request to this endpoint.  

    Status: 202 Accepted
    X-Progress: “50% complete”
    Retry-After: 120
    
     

    Error

    Returned by the server if the export operation fails. A description of the error is in the OperationOutcome.Text member of the FHIR JSON response. The below is an example of a timeout error.  

    Status: 500 Internal Server Error
    Content-Type: application/json

    { "resourceType": "OperationOutcome", "id": "1", "issue": [ { "severity": "error", "code": "processing", "details": { "text": "An internal timeout has occurred" } } ] }

     

    Complete

    Returned by the server when the export operation has completed. Below is an example response for when this endpoint is polled and the requested export job (filtered to the Patient and Observation FHIR resources, in this example) has completed. The Expires HTTP response header indicates when the files in the response will no longer be available for access. The transactionTime member in the JSON response body indicates the server's time when the query is run. The request member in the JSON response body is the full URL of the original bulk data kick-off request. The requiresAccessToken member in the JSON response body indicates whether an OAuth 2.0 bearer token is required to access the indicated export files. The output array member in the JSON response body indicates both each exported FHIR resource type and the url containing the exported .ndjson file for that resource. The error array member in the JSON response body indicates each error file detailing error(s) that were encountered during the export.  

    Status: 200 OK
    Expires: Mon, 22 Jul 2019 23:59:59 GMT
    Content-Type: application/json

    { "transactionTime": "2021-01-01T00:00:00Z", "request" : "https://select.nextech-api.com/api/r4/Patient/$export?_type=Patient,Observation", "requiresAccessToken" : false, "output" : [{ "type" : "Patient", "url" : "https://storagesample.blob.core.windows.net/sampleoutput/patient_file_1.ndjson" },{ "type" : "Patient", "url" : "https://storagesample.blob.core.windows.net/sampleoutput/patient_file_2.ndjson" },{ "type" : "Observation", "url" : "https://storagesample.blob.core.windows.net/sampleoutput/observation_file_1.ndjson" }], "error" : [{ "type" : "OperationOutcome", "url" : "https://storagesample.blob.core.windows.net/sampleoutput/err_file_1.ndjson" }] }

     

    Example: Poll the status of an export job with an ID of "61b05fbe-6b5f-4b68-aec4-c03d09f51e82"

    GET https://select.nextech-api.com/api/r4/Export/61b05fbe-6b5f-4b68-aec4-c03d09f51e82
    

     

    Cancel export job

    HTTP Request

    DELETE /r4/Export/{ExportJobID}

    Parameters

    Name Located in Description Required Initial Version
    ExportJobID path ID of the export job to cancel. Returned in the Content-Location HTTP header in the HTTP response to the kick-off request Yes 16.9

    Example: Cancel an export job with an ID of "61b05fbe-6b5f-4b68-aec4-c03d09f51e82"

    DELETE https://select.nextech-api.com/api/r4/Export/61b05fbe-6b5f-4b68-aec4-c03d09f51e82
    

     

    Frequently Asked Questions

    Resetting Expired Partner Credentials

    If your partner credentials expire you will have to reset them by:

    1. Going to Azure Active Directory by clicking here.
    2. Enter your expired credentials.
    3. Follow the prompts it gives you.
    4. Your password is now reset.

    Missing Practitioners

    If the practitioners endpoint is not showing all of the expected practitioners check this before opening a support case.

    1. Inside the Nextech application go to the Contacts module, select the provider that is not showing up.
    2. Confirm that the practitioner is not marked Inactive on the checkbox on the right hand side.
    3. Find the "Linked User" section and confirm that it is mapped to a unique account that is just for that practitioner.

    Practitoners need their own user account to work with the practitoners endpoint. Additional documentation can be provided on request.