NAV
  • Introduction
  • Getting Started
  • Patient
  • Patient-Type
  • Appointment
  • Slot
  • Appointment-Type
  • Appointment-Purpose
  • Appointment-Status
  • Patient-Recall
  • Location
  • Practitioner
  • Account
  • Coverage
  • Claim
  • PaymentReconciliation
  • Frequently Asked Questions
  • Introduction

    The Nextech Select APIs provide secure access to patient data through a RESTful implementation based on the STU 3 (3.0.1) version of the FHIR® standard. All API requests are performed over HTTPS and are protected by the OAuth 2.0 standard.

    Available API functionality:

    Before you can start using our APIs, you must go through our registration process. If you're interested in API access for your practice, please contact us here. Otherwise, if you've been provided with credentials to authenticate, then continue to the Getting Started section for more information.

    Getting Started

    All API requests are performed over HTTPS. 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 to authenticate. These credentials will be provided to you by your Nextech representative.

    These credentials will expire on your first login and must be reset through Microsoft here.

    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

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

    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

    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.

    Authentication

    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.

    Authorization: Bearer {access_token}

    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
    password Resource owner password
    resource The app to consume the 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

    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

    Using Postman

    To help you get started, here's a collection of sample API requests in Postman. You can find more information on making API requests using Postman here.

    Run in Postman

    Authorization

    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

    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/[type]?[field1][:modifier1]=[value1]&[field2][:modifier2]=[value2]...
    where [type] refers to a resource such as Patient or Appointment 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/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: Get booked appointments for one day

    GET https://select.nextech-api.com/api/Appointment?date=2015-03-04&status=booked
    
     

    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/Patient?family:exact=Smith
    
     

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

    GET https://select.nextech-api.com/api/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?identifier=ge100&identifier=le200
    
     

    Example: Get appointments for the month of March 2017

    GET https://select.nextech-api.com/api/Appointment?date=ge2017-03-01&date=lt2017-04-01
    
     

    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/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/Patient?identifier=3442
    
     

    Date

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

    Example: Get appointments for the month of October 2016

    GET https://select.nextech-api.com/api/Appointment?date=ge2016-10-01&date=lt2017-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/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/Patient?address=1500
    
     

    Writing

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

    A write is executed by performing a PUT operation in the RESTful framework PUT https://select.nextech-api.com/api/{resource}/{identifier} where {resource} refers to a resource such as Patient or Appointment, {identifier} is the unique identifier of the resource and the body of the request describes a resource and which fields to add or change. This example request path and body would confirm an appointment with the ID 3384:

    Example

    PUT https://select.nextech-api.com/api/Appointment/3384
    
    { 
        "status": "booked" 
    }
    
     

    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 http://select.nextech-api.com/api/Appointment?_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
    403 Forbidden - The request is valid, but the server is refusing action
    404 Not Found - The requested resource cannot be found
    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

    Remarks

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

    Patient

    Patient

    Overview

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

    Fields

    Name Description Type Initial Version
    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
    race The race of the patient Race 12.6
    ethnicity The ethnicity of the patient Ethnicity 12.6
    name Names of the patient, additional information including prefix and nickname added in version 12.9.20 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 AdministrativeGender 12.6
    birthDate The date of birth of the patient date 12.6
    address Addresses associated with the patient 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
    maritalStatus The marital status of the patient Codeable Concept 12.9.20
    contact The emergency contact and employer for the patient BackboneElement 12.9.20
    generalPractitioner The practitioner at this office who is responsible for the patient Reference 12.9.20
    patient-note The text of the General 1 note for the patient, contained in the extension string 12.9.20
    referral-source The primary referral source for the patient, contained in the extension Reference 12.9.20
    referring-physician The referring physician for the patient, contained in the extension Reference 12.9.20
    referring-physician.HumanName The referring physician name, contained in the extension HumanName 14.3
    referring-patient The unique identifier for the referring patient for the patient, contained in the extension Reference 12.9.20
    primary-care-physician The primary care physician for the patient, contained in the extension Reference 12.9.20
    patient-location The default location for patient, contained in the extension Reference 12.9.20
    affiliate-physician The affiliate physician for the patient, contained in the extension Reference 12.9.20
    affiliate-physician-type The affiliate physician type for the patient, contained in the extension string 12.9.20
    patient-employment-status The employment status for the patient, contained in the extension string 12.9.20
    patients-referred The number of patients this patient has referred, contained in the extension integer 14.1
    prospects-referred The number of prospects this patient has referred, contained in the extension integer 14.1
    patient-type The patient type for the patient, contained in the extension Reference 14.1
    patient-status The status for the patient (patient, prospect, or patientprospect), contained in the extension string 14.1
    exclude-from-mailings Whether this patient is excluded from mailings, contained in the extension boolean 14.1
    meta.lastUpdated The last time the patient was modified instant 14.3

    Example

    {
        "resourceType": "Patient",
        "id": "45bb641e-44c5-49a8-a36f-9dd7a0a50828",
        "meta":
        {
            "lastUpdated": "2018-12-20T09:13:28.297+00:00"
        },
        "extension": [
            {
                "url": "http://hl7.org/fhir/v3/Race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3"
                        }
                    ],
                    "text": "Caucasian"
                }
            },
            {
                "url": "http://hl7.org/fhir/v3/Ethnicity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Ethnicity",
                            "code": "2186-5"
                        }
                    ],
                    "text": "Not Hispanic or Latino"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/9238",
                    "display": "Website"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referring-physician",
                "valueReference": {
                    "reference": "referring-physician/23",
                    "display": "Dole, Robert"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/primary-care-physician",
                "valueReference": {
                    "reference": "primary-care-physician/43",
                    "display": "Hogan, Terry "
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referring-patient",
                "valueReference": {
                    "reference": "patient/f5a46423-0071-4437-aa34-231419fe970f",
                    "display": "Brown, Phyllis"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/affiliate-physician",
                "valueReference": {
                    "reference": "affiliate-physician/6845",
                    "display": "Allen, Joan"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/affiliate-physician-type",
                "valueString": "postop"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-employment-status",
                "valueString": "full time"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-note",
                "valueString": "note text"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-location",
                "valueReference": {
                    "reference": "location/1",
                    "display": "NexTech Dermatology"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patients-referred",
                "valueInteger": 2
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/prospects-referred",
                "valueInteger": 1
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-status",
                "valueString": "prospect"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/exclude-from-mailings",
                "valueBoolean": true
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-type",
                "valueReference": {
                    "reference": "patient-type/2",
                    "display": "Insurance Patient"
                }
            }
        ],
        "identifier": [
            {
                "use": "official",
                "value": "45bb641e-44c5-49a8-a36f-9dd7a0a50828"
            },
            {
                "use": "usual",
                "value": "112711"
            },
            {
                "system": "http://hl7.org/fhir/sid/us-ssn",
                "value": "###-##-1234"
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "Mr. Gregory Brinkley Jr.",
                "family": "Brinkley",
                "given": [
                    "Gregory",
                    ""
                ],
                "prefix": [
                    "Mr."
                ],
                "suffix": [
                    "Jr."
                ]
            },
            {
                "use": "nickname",
                "text": "Greg",
                "given": [
                    "Greg"
                ]
            }
        ],
        "telecom": [
            {
                "system": "email",
                "value": "test@abc.com"
            },
            {
                "system": "phone",
                "value": "(813) 555-5555",
                "use": "home",
                "rank": 1
            },
            {
                "system": "phone",
                "value": "(813) 555-5555",
                "use": "work"
            },
            {
                "system": "other",
                "value": "(813) 555-5555"
            },
            {
                "system": "fax",
                "value": "(813) 555-5555"
            },
            {
                "extension": [
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/method-privacy",
                        "valueBoolean": true
                    }
                ],
                "system": "sms"
            }
        ],
        "gender": "male",
        "birthDate": "1970-09-28",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "9801 Jetson Ave",
                    "Apt A"
                ],
                "city": "Hyattsville",
                "state": "MD",
                "postalCode": "20787",
                "country": "USA"
            }
        ],
        "maritalStatus": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/marital-status",
                    "code": "M"
                }
            ],
            "text": "Married"
        },
        "contact": [
            {
                "extension": [
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/emergency-contact-relation",
                        "valueString": "Wife"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "C"
                            }
                        ]
                    }
                ],
                "name": {
                    "text": "Jane Smith",
                    "family": "Smith",
                    "given": [
                        "Jane"
                    ]
                },
                "telecom": [
                    {
                        "system": "phone",
                        "value": "(999)888-9999",
                        "use": "home"
                    },
                    {
                        "system": "phone",
                        "value": "(111)222-3333",
                        "use": "work"
                    }
                ]
            },
            {
                "extension": [
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/patient-occupation",
                        "valueString": "Principal"
                    },
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/patient-company",
                        "valueString": "Elementary School"
                    },
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/patient-occupation-code",
                        "valueString": "0230"
                    },
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/patient-industry-code",
                        "valueString": "7890"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "E"
                            }
                        ]
                    }
                ],
                "name": {
                    "text": "Grace G Johnson",
                    "family": "Johnson",
                    "given": [
                        "Grace",
                        "G"
                    ]
                },
                "address": {
                    "use": "work",
                    "type": "both",
                    "line": [
                        "9821 James Ave"
                    ],
                    "city": "Schenectady",
                    "state": "NY",
                    "postalCode": "12345"
                }
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "BCP-47",
                            "code": "en"
                        }
                    ],
                    "text": "English"
                },
                "preferred": true
            }
        ],
        "generalPractitioner": [
            {
                "reference": "practitioner/9219",
                "display": "Jones, Robert"
            }
        ]
    }
    

     

    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. In the above example this is the home contact.

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

    HTTP Request

    GET /Patient?{parameters}

    Parameters

    Name Located in Description Required Type Initial Version
    _lastUpdated query 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 The family (last) name of the patient No string 12.6
    given query The given (first) name of the patient No string 12.6
    birthdate query The patient's date of birth formatted as YYYY-MM-DD No dateTime 12.6
    phone query The patient's phone number which will be matched against any phone number (home, cell, etc.) No string 12.6
    email query The patient's email address No string 12.6
    address-city query The city of the patient's address No string 12.6
    address-state query The state of the patient's address No string 12.6
    address-postalcode query The postal (zip) code of the patient's address No string 12.6
    identifier query 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

    Example: Get the patient of a specific chart number

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

     

    Example: Get all patients who live within a specific zip code

    GET https://select.nextech-api.com/api/Patient?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/Patient?birthdate=ge1981-01-01&birthdate=lt1981-06-01
    

     

    Attempts to find a single patient that matches the given search criteria and if successful returns only that patient's unique identifier.

    At least one query parameter is required to perform a search.

    HTTP Request

    GET /Patient/ID?{parameters}

    Parameters

    Name Located in Description Required Type Initial Version
    _lastUpdated query 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] . Note that the + character must be URL encoded. (i.e. %2B) No dateTime 12.8
    family query The family (last) name of the patient No string 12.6
    given query The given (first) name of the patient No string 12.6
    birthdate query The patient's date of birth formatted as YYYY-MM-DD No dateTime 12.6
    phone query The patient's phone number which will be matched against any phone number (home, cell, etc.) No string 12.6
    email query The patient's email address No string 12.6
    address-city query The city of the patient's address No string 12.6
    address-state query The state of the patient's address No string 12.6
    address-postalcode query The postal (zip) code of the patient's address No string 12.6
    identifier query 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

    Example: Get the unique identifier of a patient given first name, last name, and birthdate

    GET https://select.nextech-api.com/api/Patient/ID?family=Smith&given=John&birthdate=eq1972-04-21
    

     

    Create Patient

    Create a patient.

    HTTP Request

    POST /Patient/

    Parameters

    Name Description Notes Required Initial Version
    identifier Social Security number of the patient. Social Security Number is not returned in the response until version 14.1 when it is returned masked. No 12.9.20
    name Names of the patient. The family, given and use elements, are required.
    Only one use of "official" is supported and one use of "nickname" is supported
    Yes 12.9.20
    telecom Contact details for the patient. E-mail, and one phone contact is required.
    One each of home, work, mobile, other, fax, email address is supported.
    Preferred Contact is designated by setting a rank of 1 on a contact point.
    Privacy fields are designated by having an extension of method-privacy set to true. You may set Text messaging privacy and preferred contact by using SMS as a system without a value.
    When a contact detail is set to privacy, it is not returned in the response.
    Yes 12.9.20
    gender The gender of the patient - No 12.9.20
    birthDate The date of birth of the patient - Yes 12.9.20
    address Address associated with the patient. Postal code is required. Only one address is currently supported. For country, only an ISO-3166 3 character code is supported. Yes 12.9.20
    communication A list of Languages which may be used to communicate with the patient about his or her health - No 12.9.20
    maritalStatus The marital status of the patient. A code of 'M' (married) maps to Married status in Nextech, 'U' (unmarried) and 'S' (never married) map to Single in Nextech, all others map to Other in Nextech. No 12.9.20
    contact The emergency contact and/or employer for the patient. Only a relationship code of C for emergency contact or E for employer is supported. No 12.9.20
    generalPractitioner The practitioner at this office who is responsible for the patient Only one generalPractitioner is currently supported. No 12.9.20
    race The race of the patient - No 12.9.20
    ethnicity The ethnicity of the patient - No 12.9.20
    patient-note The text of the General 1 note for the patient - No 12.9.20
    referral-source The primary referral source for the patient - No 12.9.20
    referring-physician The referring physician for the patient - No 12.9.20
    referring-patient The unique identifier for the referring patient for the patient - No 12.9.20
    primary-care-physician The primary care physician for the patient - No 12.9.20
    affiliate-physician The affiliate physician for the patient - No 12.9.20
    affiliate-physician-type The affiliate physician type for the patient. Must be a value of: "preop", "postop", "preandpostop" No 12.9.20
    patient-location The default location for the patient. Must be an active, managed location of General type. No 12.9.20
    patient-employment-status The employment status for the patient. Must be a value of: "full time","part time", "full time student", "part time student", "retired", "other" No 12.9.20
    patient-status The status for the new record. Must be a value of: "patient","prospect", "patientprospect" No 14.1
    patient-type The patient type for the patient. - No 14.1
    exclude-from-mailings Whether to exclude the patient from mailings. Must be true or false No 14.1

    Prior to version 14.1, whether the patient is created as a patient, or a prospect is controlled by the Default Status preference in Nextech found under Tools->Preferences->Patients Module->New Patients->Default Status Preference. As of version 14.1 the patient status may be specified in the patient-status extension. If not specified, the preference is used.

    Before creating a patient, the system will check the required fields (first, last, email address, birthdate, zip code, and one of home, work, or mobile phone numbers, to see if they match existing patients. If a match is found, the patient will not be created and a 409 Conflict with a message indicating the patient already exists.

    Example: Create a new patient with minimum information

    {
      "resourceType": "Patient",
        "name": [
            {
                "use": "official",
                "family": "Brimley",
                "given": [
                    "Henry"
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(518)929-8978",
                "use": "home"
            },
            {
                "system": "email",
                "value": "test@test.com"
            }
        ],
        "birthDate": "1970-09-28",
        "address": [
            {   "use": "home",
                "postalCode": "20787"
            }
        ]
    }
    

     

    Example: Create a new patient with all currently supported options

    {
      "resourceType": "Patient",    
        "extension": [
            {
                "url": "http://hl7.org/fhir/v3/Race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3"
                        }
                    ]
                }
            },
            {
                "url": "http://hl7.org/fhir/v3/Ethnicity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Ethnicity",
                            "code": "2186-5"
                        }
                    ]                
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/9238"                
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referring-physician",
                "valueReference": {
                    "reference": "referring-physician/23"              
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/primary-care-physician",
                "valueReference": {
                    "reference": "primary-care-physician/123"
                }
            },
            
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/referring-patient",
                "valueReference": {
                    "reference": "patient/F4B46423-0071-4127-BD44-231419FE980F"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-location",
                "valueReference": {
                    "reference": "location/1"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-note",
                "valueString": "note text"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/affiliate-physician",
                "valueReference": {
                    "reference": "affiliate-physician/62345"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/affiliate-physician-type",
                "valueString": "postop"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-employment-status",
                "valueString": "full time student"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-status",
                "valueString": "prospect"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/exclude-from-mailings",
                "valueBoolean": true
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-type",
                "valueReference": {
                    "reference": "patient-type/2"                
                }
            }
        ],  
        "name": [
            {            
                "family": "Brinkley",
                "use":"official",
                "given": [
                    "Gregory"
                ],
                "prefix" : [
                    "Mr."
                ],
                "suffix" : [
                    "Jr."
                ]
                
            },
            {           
                "use" : "nickname",
                "given": [
                    "Greg"
                ]           
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(311)211-8888",
                "use": "home",
                "extension": [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/method-privacy",
                    "valueBoolean": "true"
                }
                ]
            },
            {
                "system": "phone",
                "value": "(411)941-0786",
                "use": "mobile",
                "rank": "1"
            },
            {
                "system": "phone",
                "value": "(111)332-1232",
                "use" : "work"
            },
            {
                "system": "email",
                "value": "abcde@test.com"
            },
            {
                "system": "other",
                "value": "(555)234-1233"            
            },
            {
                "system": "fax",
                "value": "(111)332-1232"           
            },
            {
                "system": "sms",
                "extension": [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/method-privacy",
                    "valueBoolean": "true"
                }           
                ]           
            }
        ],
        "identifier": [
              {
                "type": {
                  "coding": [
                    {
                      "system": "http://hl7.org/fhir/v2/0203",
                      "code": "SS"
                    }
                  ]
                },
                "system": "http://hl7.org/fhir/sid/us-ssn",
                "value": "123456789"
              }
            ],
        "gender": "male",
        "maritalstatus": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/ValueSet/marital-status",
                            "code": "M"
                        }
                    ],
                    "text": "Married"
                },
        "generalPractitioner" : {
            "reference": "practitioner/9219"
        }, 
        "birthDate": "1970-09-28",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "9801 Jetson Ave",
                    "Apt A"
                ],
                "city": "Hyattsville",
                "state": "MD",
                "postalCode": "20787",
                "country":"USA"
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "BCP-47",
                            "code": "en"
                        }
                    ]
                },
                "preferred": true
            }
        ],
        "contact": [
            {
            "relationship": [
            {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0131",
                  "code": "C"
                }
              ]
            }
          ],
            "name": [
                {
                    "text": "Sally Smith",
                    "family": "Smith",
                    "given": [
                        "Sally"
                    ]
                }
             ],
             "telecom": [
                {
                    "system": "phone",
                    "value": "(999)888-9999",
                    "use": "home"
                },
                {
                    "system": "phone",
                    "value": "(111)222-3333",
                    "use": "work"
                }
            ],
            "extension":
            [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/emergency-contact-relation",
                    "valueString": "Wife"
                }
            ]
             
        },
        {
            "relationship": [
            {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0131",
                  "code": "E"
                }
              ]
            }
          ],
            "name": [
                {            
                "family": "Jenkins",
                    "given": [
                        "George",
                        "G"
                    ]
                }
             ],
             "address": [
              {
                "use": "work",
                "type": "both",
                "line": [
                    "9821 James Ave"
                ],
                "city": "Schenectady",
                "state": "NY",
                "postalCode": "12345"
              }
            ],         
            "extension":
            [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/patient-occupation",
                    "valueString": "Teacher"
                },
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/patient-company",
                    "valueString": "Williams High School"
                },
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/patient-occupation-code",
                    "valueString": "0230"
                },
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/patient-industry-code",
                    "valueString": "7890"
                }
            ]
             
        }
        ]
    }
    

     

    Update Patient

    Update a patient.

    HTTP Request

    PUT /Patient/

    Parameters

    Name Description Required Initial Version
    FHIR Patient object The full patient FHIR object is accepted in the body. Yes 14.0

    All patient related fields can be updated, except for the below exceptions. If a field is updated with an invalid value (e.g. updating the country with a country code of JGU) the result of the update will be a success but the field will not be updated.

    Field Update Exceptions: * Patient Name cannot be updated and will be ignored. * Date of Birth cannot be updated and will be ignored. * Postal Code cannot be updated prior to version 14.1. On version 14.1 and after postal code can be updated, but it cannot be cleared. * Social Security Number cannot be updated prior to version 14.1. On version 14.1 and after social security number can be changed, but it cannot be cleared. * Patients Referred cannot be updated. * Prospects Referred cannot be updated. * Preferred Contact method can be updated but not cleared out.

    For identifier fields, a use type is required. A use type of "official" must be used when including the patient's unique identifier. A use type of "usual" must be used when including the patient's chart number.

    Example: Update a patient's home number

    {
        "resourceType": "Patient",    
        "identifier": [
            {
                "use": "official",
                "value": "f4a46423-0071-4127-bd34-231419fe970f"
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(813) 217-4571",
                "use": "home"
            }
        ]
    }
    

     

    Remarks

    Allergy Intolerance

    Overview

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

    Fields

    Name Description Type Initial Version
    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 AllergyIntoleranceStatus 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(Patient) 12.6
    assertedDate The date the record was believed to be accurate dateTime 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "AllergyIntolerance",
            "id": "438",
            "identifier": [
            {
              "use": "official",
              "value": "438"
            }
          ],
            "clinicalStatus": "active",
            "code": {
              "coding": [
                {
                  "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                  "code": "1191",
                  "display": "Aspirin"
                }
              ],
              "text": "Aspirin"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for allergy intolerances for a single patient

    HTTP Request

    GET /Patient/{patientUid}/AllergyIntolerance?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The date the record was believed accurate in the form YYYY-MM-DD No 12.6

    Example: Get all allergies for a single patient that were believed to be accurate as of 1/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/AllergyIntolerance?date=ge2017-01-01
    

     

    Binary

    Overview

    Binary resources contain patient health information in a structured document or media form.

    Fields

    Name Description Type Initial Version
    contentType MimeType of the binary content MimeType 12.6
    content The document content base64Binary 12.6

    Generate CCDA

    Generates a CCDA for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Binary/$autogen-ccd-if?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    start query The start date in the form YYYY-MM-DD for which the CCD should be generated (if not specified then all records starting with the patient's first visit are included) No 12.6
    end query The end date in the form YYYY-MM-DD for which the CCD should be generated (if not specified then all records through the patient's latest visit are included) No 12.6

    Example: Get all CCDA's for a single patient corresponding to visits in 2007

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Binary/$autogen-ccd-if?start=2017-01-01&end=2018-01-01
    

     

    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
    identifier The unique value assigned to each care plan which discerns them from all others. Identifier 12.6
    subject The patient pertaining to the care plan Reference(Patient) 12.6
    activity The collection of coded care plan actions BackboneElement 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "CarePlan",
            "id": "3099",
            "identifier": [
              {
                "use": "official",
                "value": "3099"
              }
            ],
            "subject": {
              "reference": "Patient/ad2085b5-b974-401d-bfcb-3b865109fd35"
            },
            "activity": [
              {
                "id": "pocinsemn-3099code-745799",
                "detail": {
                  "code": {
                    "coding": [
                      {
                        "system": "2.16.840.1.113883.10.20.22.4.20",
                        "code": "225323000"
                      }
                    ],
                    "text": "Smoking cessation education"
                  },
                  "description": "Patient to read literature on lung tissue damage"
                }
              }
            ]
          }
        }
      ]
    }
    

     

    Search

    Searches for care plans for a single patient

    HTTP Request

    GET /Patient/{patientUid}/CarePlan?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The encounter visit date filter in the form YYYY-MM-DD No 12.6

    Example: Get all care plans for a single patient charted on a visit on 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/CarePlan?date=eq2017-05-01
    

     

    Clinical Impression

    Overview

    The clinical impression resource contains information regarding what problem(s) may affect the patient by treatment.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each clinical impression record which discerns them from all others. Identifier 12.6
    subject The patient pertaining to the clinical impression Reference(Patient) 12.6
    date When the assessment was documented dateTime 12.6
    summary Summary of the assessment string 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "ClinicalImpression",
            "id": "4567",
            "identifier": [
              {
                "use": "official",
                "value": "4567"
              }
            ],
            "subject": {
              "reference": "Patient/ad2085b5-b974-401d-bfcb-3b865109fd35"
            },
            "summary": "provisional diagnoses of laceration of head",
            "date": "2017-06-05"
          }
        }
      ]
    }
    

     

    Search

    Searches for clinical impressions for a patient

    HTTP Request

    GET /Patient/{patientUid}/ClinicalImpression?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The collection of visit date filters No 12.6

    Example: Get all clinical impressions for a single patient charted on a visit on 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/ClinicalImpression?date=eq2017-05-01
    

     

    Composition

    Overview

    The Composition resource defines a collection of healthcare-related information bundled together as a single document that provides meaning for a given patient.

    Fields

    Name Description Type Initial Version
    identifier The unique identifier assigned to each composition Identifier 12.7
    extension See flag-priority extension CodableConcept 12.7
    subject The patient pertaining to the composition Reference(Patient) 12.7
    date The date of the composition (in UTC) dateTime 12.7
    author Identifies who is responsible for the information in the composition Reference(Practitioner) 12.7
    section.title The name of the Nextech note category string 12.7
    section.text The contents of the composition Narrative 12.7

    Example

    {
        "resourceType": "Bundle",
        "type": "document",
        "total": 1,
        "entry": [
            {
                "resource": {
                    "resourceType": "Composition",
                    "id": "218",
                    "contained": [
                        {
                            "resourceType": "Practitioner",
                            "id": "6763",
                            "identifier": [
                                {
                                    "use": "official",
                                    "value": "6763"
                                }
                            ],
                            "name": [
                                {
                                    "text": "API User",
                                    "family": "API User",
                                    "given": [
                                        "",
                                        ""
                                    ]
                                }
                            ]
                        }
                    ],
                    "extension": [
                        {
                            "url": "http://hl7.org/fhir/StructureDefinition/flag-priority",
                            "valueCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "http://hl7.org/fhir/flag-priority-code",
                                        "code": "PM",
                                        "display": "Medium priority"
                                    }
                                ]
                            }
                        }
                    ],
                    "identifier": {
                        "use": "official",
                        "value": "218"
                    },
                    "subject": {
                        "reference": "Patient/05df1439-c610-4840-a569-8afbca008705",
                        "display": "Smith, John"
                    },
                    "date": "2017-10-16T20:32:28.97Z",
                    "author": [
                        {
                            "reference": "#6763",
                            "display": "API User"
                        }
                    ],
                    "section": [
                        {
                            "title": "",
                            "text": {
                                "div": "API user - This is an example non-clinical patient note."
                            }
                        }
                    ]
                }
            }
        ]
    }
    

     

    Create

    Creates a non-clinical note for a patient that is visible in the patient's Notes tab in the Nextech software.

    HTTP Request

    POST /Patient/{patientUid}/Composition

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.7
    composition body Represents the Composition resource to create for the given patient Yes 12.7

    Body Fields

    Name Description Required Initial Version
    resourceType Must be Composition Yes 12.7
    extension Must use http://hl7.org/fhir/StructureDefinition/flag-priority extension to specify the priority of the composition. See example below for specific format. Default priority code is PL No 12.7
    date The date (in UTC) of the composition. ie. 2017-10-16T20:32:28.9692476Z No 12.7
    author.display The name of the author. This will be appended to the beginning of the section.text.div value. No 12.7
    section.title The name of the Nextech note category. This must match with an existing note category or is left blank. No 12.7
    section.text.div The non-clinical note associated with the subject. No 12.7

    Example: Create a new non-clinical note for a patient

    POST https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Composition
    

     

    Body

    {
        "resourceType": "Composition",
        "extension": [
            {
                "url": "http://hl7.org/fhir/StructureDefinition/flag-priority",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/flag-priority-code",
                            "code": "PM"
                        }   
                    ]
                }
            }
        ],
        "date": "2017-10-16T20:32:28.9692476Z",
        "author": [
            {
                "display": "API user"
            }
        ],
        "section": [
            {
                "title": "Follow Up",
                "text": {
                    "div": "This is an example of a non-clinical patient note."
                }
            }
        ]
    }
    

     

    Condition

    Overview

    The condition resource describes a certain state of health of a patient.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each allergy intolerance record which discerns them from all others. Identifier 16.9
    clinicalStatus The condition status Condition Clinical Status Code 16.9
    verificationStatus The condition verification status ConditionVerificationstatus 16.9
    code Identification of the condition, problem or diagnosis Condition/Problem/Diagnosis Code 16.9
    subject The patient pertaining to the condition Reference(Patient) 16.9
    onsetDate Estimated or actual date dateTime 16.9
    abatementDate Resolution or remission date dateTime 16.9

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Condition",
            "id": "54",
            "identifier": [
              {
                "use": "official",
                "value": "54"
              }
            ],
            "clinicalStatus": "active",
            "verificationStatus": "confirmed",
            "code": {
              "coding": [
                {
                  "system": "SNOMED",
                  "code": "11381005"
                }
              ],
              "text": "Acne"
            },
            "subject": {
              "reference": "Patient/ad2085b5-b974-401d-bfcb-3b865109fd35"
            },
            "onsetDate": "2015-06-05"
          }
        }
      ]
    }
    

     

    Search

    Searches for conditions for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Condition?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 16.9
    onset-date query The onset date in the form YYYY-MM-DD No 16.9
    abatement-date query The abatement date in the form YYYY-MM-DD No 16.9
    _lastUpdated query or payload 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.9
    _revinclude query or payload Must be Provenance:target. This enables requesting additional Provenance resources that relate to each condition No 16.9

    Retrieve Provenance with conditions

    The _revinclude parameter allows support for including Provenance references that match the returned conditions. 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 all conditions for a single patient with an onset date as of 1/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Condition?onset-date=ge2017-01-01
    

     

    Device

    Overview

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

    Fields

    Name Description Type Initial Version
    identifier Unique device serial number Identifier 12.6
    meta Contains the last updated date of the record dateTime 12.6
    udi Unique device barcode string BackboneElement 12.6
    lotNumber Lot number of manufacturer string 12.6
    manufacturer Manufacturer name string 12.6
    manufactureDate Device manufacture date dateTime 12.6
    expirationDate Device expiration date dateTime 12.6
    version Version number string 12.6
    patient The patient pertaining to the device Reference(Patient) 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Device",
            "id": "2",
            "meta": {
              "lastUpdated": "2017-05-15T10:28:00+00:00"
            },
            "identifier": [
              {
                "type": {
                  "coding": [
                    {
                      "system": "http://hl7.org/fhir/identifier-type",
                      "code": "SNO",
                      "display": "Serial Number"
                    }
                  ],
                  "text": "Serial Number"
                },
                "value": "000025"
              }
            ],
            "udi": {
              "deviceIdentifier": "W4146EB0010T0475",
              "name": "Trabexus® EB"
            },
            "type": {
              "text": "Cadaveric-donor/synthetic mineral bone graft"
            },
            "lotNumber": "000000000000XYZ123",
            "manufacturer": "Vivorte, Inc",
            "manufactureDate": "2013-02-01T00:00:00Z",
            "expirationDate": "2014-02-01T00:00:00Z",
            "version": "10 cc",
            "patient": {
              "reference": "Patient/ad2085b5-b974-401d-bfcb-3b865109fd35",
              "display": "Smith, John"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for devices for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Device?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The device last update date in the form YYYY-MM-DD No 12.6

    Example: Get all devices for a single patient that were recorded as of 1/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Device?date=ge2017-01-01
    

     

    Document Reference

    Overview

    The DocumentReference resource is used to describe a document that is made available to a healthcare system. A document is some sequence of bytes that is identifiable, establishes its own context (e.g., what subject, author, etc. can be displayed to the user), and has defined update management. The DocumentReference resource can be used with any document format that has a recognized mime type and that conforms to this definition.

    Fields

    Name Description Type Initial Version
    masteridentifier The unique identifier assigned to each documentreference Identifier 12.7
    subject The patient pertaining to the documentreference Reference(Patient) 12.7
    created document creation time (in UTC) dateTime 12.7
    author Identifies who is responsible for the information in the document reference Reference(Practitioner) 12.7
    description The description of the documentreference string 12.7
    content.attachment.contentType The mimetype of the content. Code 12.7
    content.attachment.title The title of the document string 12.7
    extension: note-category Contains the category of the document string 12.8
    extension: document-publish-portal Contains whether the document is published to myPatientVisit boolean 12.9.20

    Example

    {
        "resourceType": "DocumentReference",
        "id": "8529",
        "masterIdentifier": {
            "use": "official",
            "value": "8529"
        },
        "subject": {
            "reference": "Patient/22b51855-0fe2-47a3-8000-4344b4e8e69d",
            "display": "Dateline, Martha R"
        },
        "created": "2017-10-24T20:10:36Z",
         "author": [
            {
                "reference": "",
                "display": "nexweb"
            }
        ],
        "description": "Author: API user \r\n Note: A description of the document",
        "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
            }
        ],
        "content": [
            {
                "attachment": {             
                    "contentType": "application/pdf",
                    "title": "Document Title.pdf"
                }
            }
        ]
    }
    

     

    Create

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

    HTTP Request

    POST /Patient/{patientUid}/DocumentReference

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.7
    documentreference body Represents the DocumentReference resource to create for the given patient. The request length must not exceed 10 MB in size. Yes 12.7

    Body Fields

    Name Description Required Initial Version
    resourceType Must be DocumentReference Yes
    created The date (in UTC) of the composition. ie. 2017-10-16T20:32:28.9692476Z No 12.7
    author.display The name of the author. This will be appended to the beginning of the description value. No 12.7
    description A description of the document No 12.7
    content.attachment.contentType The mimetype of the document. See Allowed Mimetypes below Yes 12.7
    content.attachment.data The base64 data of the document Yes 12.7
    content.attachment.title The title of the document, will be used as the filename Yes 12.7
    extension: note-category Allows setting category of the document No 12.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 12.9.20

    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.

    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.

    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/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/DocumentReference
    

     

    Body

    {
      "resourceType": "DocumentReference",  
      "author": [
            {
                "display": "API user"
            }
      ],  
      "created": "2017-10-16T20:32:28.9692476Z",
      "description": "A description of the document",
      "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"
            }
      ],
      "content": [
        {
          "attachment": {
            "contentType": "text/plain",
            "title": "Sample Document",
            "data": "c2FtcGxlIGRvY3VtZW50"
          }
        }
      ]
    }
    

     

    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
    identifier The unique value assigned to each encounter which discerns them from all others. Identifier 12.6
    subject The patient pertaining to the encounter Reference(Patient) 12.6
    participant The medical professionals involved in the encounter BackboneElement 12.6
    period The start and end date of the encounter in the form YYYY-MM-DD period 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Encounter",
            "id": "1294",
            "contained": [
              {
                "resourceType": "Practitioner",
                "id": "9938",
                "identifier": [
                  {
                    "use": "usual",
                    "system": "http://hl7.org/fhir/sid/us-npi",
                    "value": "11192383741"
                  }
                ],
                "name": [
                  {
                    "text": "Davison, Darren",
                    "family": "Davison",
                    "given": [
                      "Darren",
                      "L"
                    ]
                  }
                ]
              }
            ],
            "identifier": [
              {
                "use": "official",
                "value": "1294"
              }
            ],
            "subject": {
              "reference": "Patient/45822",
              "display": "Smith, John"
            },
            "participant": [
              {
                "type": [
                  {
                    "coding": [
                      {
                        "system": "http://hl7.org/fhir/v3/ParticipationType",
                        "code": "PRF"
                      }
                    ]
                  }
                ],
                "individual": {
                  "reference": "Practitioner/9938"
                }
              }
            ],
            "period": {
              "start": "2015-05-03",
              "end": "2015-05-03"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for encounters for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Encounter?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The date of the encounter in the form YYYY-MM-DD No 12.6

    Example: Get all encounters for a single patient as of 1/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Encounter?date=ge2017-01-01
    

     

    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 12.6
    subject The patient pertaining to the goal Reference(Patient) 12.6
    target The target outcome of the goal CodeableConcept 12.6
    note Comments about the goal Annotation 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Goal",
            "id": "goalemn-2284code-559215",
            "identifier": [
              {
                "use": "official",
                "value": "goalemn-2284code-559215"
              }
            ],
            "subject": {
              "reference": "Patient/F15FB185-5E63-485E-B025-D113103DCEC3",
              "display": "Smith, Jane"
            },
            "target": {
              "measure": {
                "coding": [
                  {
                    "system": "http://loinc.org",
                    "code": "LA7435-6"
                  }
                ],
                "text": "Fever"
              }
            },
            "note": [
              {
                "text": "Goal (Free Text): Take time off work, get bed rest"
              }
            ]
          }
        }
      ]
    }
    

     

    Search

    Searches for goals for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Goal?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The date of the encounter containing the goal in the form YYYY-MM-DD No 12.6

    Example: Get all goals for a single patient charted on a visit on 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Goal?date=eq2017-05-01
    

     

    Immunization

    Overview

    The immunization resource describes an administered vaccine.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each immunization which discerns them from all others. Identifier 12.6
    status Either completed or entered in error Immunization status Code 12.6
    vaccineCode Vaccine product adminstered Vaccine administered value set 12.6
    patient The immunized patient Reference(Patient) 12.6
    date The vaccination administration date in the form YYYY-MM-DD dateTime 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Immunization",
            "id": "immunization-1",
            "identifier": [
              {
                "use": "official",
                "value": "immunization-1"
              }
            ],
            "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"
            },
            "date": "2013-08-17"
          }
        }
      ]
    }
    

     

    Search

    Searches for immunizations for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Immunization?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The immunization administration date in the form YYYY-MM-DD No 12.6

    Example: Get all immunizations for a single patient as of 1/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Immunization?date=ge2017-01-01
    

     

    Medication Dispensement

    Overview

    The medication dispersement resource describes the supply of medications by a health care provider to a patient.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each dispensement which discerns them from all others. Identifier 12.6
    medicationCodeableConcept The supplied medication SNOMED CT Medication Code 12.6
    subject The patient pertaining to the dispensement Reference(Patient) 12.6
    whenPrepared When product was packaged and reviewed dateTime 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "MedicationDispense",
            "id": "5172",
            "identifier": [
              {
                "use": "official",
                "value": "5172"
              }
            ],
            "medicationCodeableConcept": {
              "coding": [
                {
                  "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                  "code": "977434",
                  "display": "Zortress 0.5 mg tablet"
                }
              ],
              "text": "Zortress 0.5 mg tablet"
            },
            "subject": {
              "reference": "Patient/Patient/56a784fa-4334-469d-dd12-a93248c74be3",
              "display": "Horus, Lana"
            },
            "whenPrepared": "2015-08-14"
          }
        }
      ]
    }
    

     

    Search

    Searches for medication dispensements for a single patient

    HTTP Request

    GET /Patient/{patientUid}/MedicationDispense?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    whenPrepared query The preparation date in the form YYYY-MM-DD No 12.6

    Example: Get all prescriptions for a single patient prepared as of 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/MedicationDispense?whenPrepared=ge2017-05-01
    

     

    Medication Statements

    Overview

    A medication statement resource describes a medication being consumed by a patient. This includes medications not prescribed by the health care provider.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each medication statement which discerns them from all others. Identifier 12.6
    status The statement status MedicationStatementStatus 12.6
    medication The supplied medication SNOMED CT Medication Code 12.6
    effective The date/time when the medication was taken dateTime 12.6
    subject The patient pertaining to the medication statement Reference(Patient) 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "MedicationStatement",
            "id": "344",
            "identifier": [
              {
                "use": "official",
                "value": "344"
              }
            ],
            "status": "active",
            "medicationCodeableConcept": {
              "coding": [
                {
                  "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
                  "code": "310964",
                  "display": "Advil Liqui-Gel 200 mg capsule"
                }
              ],
              "text": "Advil Liqui-Gel 200 mg capsule"
            },
            "effectiveDateTime": "2014-03-04",
            "subject": {
              "reference": "Patient/Patient/c27e5be0-4b44-4ec5-a284-4308d6ac2b1a",
              "display": "Clay, William"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for current medications for a single patient

    HTTP Request

    GET /Patient/{patientUid}/MedicationStatement?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    effective query Date when patient was taking the medication in the form YYYY-MM-DD No 12.6

    Example: Get all current medications for a single patient effective 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/MedicationStatement?date=ge2017-05-01
    

     

    Observation

    Overview

    An observation resource describes a measurement or an assertion made about a patient. This request requires a category code to search on. 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 12.6
    subject The patient pertaining to the observation Reference(Patient) 12.6
    status The observation status ObservationStatus 12.6
    category Classification of type of observation Category 12.6
    code Type of observation LOINC Code 12.6
    effective Clinically relevant time/time-period for observation dateTime 12.6
    value Observation result CodeableConcept 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Observation",
            "id": "smokestatemn-3093code-745770",
            "identifier": [
              {
                "use": "official",
                "value": "smokestatemn-3093code-745770"
              }
            ],
            "status": "final",
            "category": [
              {
                "coding": [
                  {
                    "system": "observation-category",
                    "code": "social-history"
                  }
                ],
                "text": "Social History"
              }
            ],
            "code": {
              "coding": [
                {
                  "system": "http://loinc.org",
                  "code": "72166-2"
                }
              ]
            },
            "subject": {
              "reference": "Patient/F15FB185-5E63-485E-B025-D113103DCEC3",
              "display": "Morgan, Stanley"
            },
            "effectivePeriod": {
              "start": "2009-03-02",
              "end": "2013-08-17"
            },
            "valueCodeableConcept": {
              "coding": [
                {
                  "system": "2.16.840.1.113883.6.96",
                  "code": "8517006"
                }
              ],
              "text": "Ex-smoker"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for observations for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Observation?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    category query The category of observation to load Yes 12.6
    date query The observation date in the form YYYY-MM-DD No 12.6

    Example: Get all laboratory requisitions and results for a single patient as of 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Observation?category=laboratory&date=ge2017-05-01
    

     

    Example: Get the social history of a single patient charted in encounters as of 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Observation?category=social-history&date=ge2017-05-01
    

     

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

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Observation?category=vital-signs&date=ge2017-05-01
    

     

    Payment Reconciliation

    Overview

    The PaymentReconciliation resource is used in a POST command to post a single payment to an existing patient.

    Fields

    Name Description Type Initial Version
    requestProvider The responsible practitioner Reference(Practitioner) 12.8
    total The payment amount Money 12.8
    processNote The payment description. If multiple processNotes are supplied, they will be joined together and separated by spaces. The description will be truncated to 255 characters. string 12.8
    extension: location The payment location reference Reference(Location) 12.8
    extension: patient The payment patient reference Reference(Patient) 12.8
    extension: payment-method The payment method. This may be one of the following values: Cash, Check, Charge string 12.8
    extension: payment-date The payment date (in UTC). This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ datetime 12.8
    extension: effective-date The payment input date (in UTC). This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ datetime 12.8
    extension: deposited-date The payment deposit date (in UTC). This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ datetime 12.8
    extension: payment-category The payment category. This must match an option in the Category dropdown of the Payment window in Nextech Practice string 12.8
    extension: creditcard-type The payment credit card type. This must match an option in the Credit Card dropdown of the Payment window in Nextech Practice string 12.8
    extension: check-number The payment check number. The check number will be truncated to 50 characters. string 12.8

    Example

    {
        "resourceType": "PaymentReconciliation",
        "extension": [
            {
                "url": "http://hl7.org/fhir/StructureDefinition/Patient",
                "valueResourceReference": {
                    "reference": "Patient/02c5a6ed-6c01-40a7-a065-a0be4732d6b9",
                    "display": "Archer, Billy"
                }
            },
            {
                "url": "http://hl7.org/fhir/StructureDefinition/Location",
                "valueResourceReference": {
                    "reference": "Location/1",
                    "display": "NexTech Dermatology"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-date",
                "valueDateTime": "2018-02-01T13:36:25.150Z"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/effective-date",
                "valueDateTime": "2018-02-02T05:00:00.000Z"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/deposited-date",
                "valueDateTime": "2018-02-08T05:00:00.000Z"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-method",
                "valueString": "Charge"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-category",
                "valueString": "PP - Patient Payment"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/creditcard-type",
                "valueString": "Visa"
            }
        ],
        "requestProvider": {
            "reference": "Practitioner/5",
            "display": "Davison, Darren"
        },
        "total": {
            "value": 200
        },
        "processNote": [
            {
                "type": {
                    "coding": [
                        {
                            "system": "NoteType",
                            "code": "display"
                        }
                    ]
                },
                "text": "Patient payment via check - Thank You"
            }
        ]
    }
    

     

    Create

    Creates a payment for an existing patient.

    HTTP Request

    POST /Patient/{patientUid}/PaymentReconciliation

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Y 12.8
    paymentReconciliation body Represents the PaymentReconciliation resource to create for the given patient Y 12.8

    Body Fields

    Name Description Required Initial Version
    requestProvider The responsible practitioner Y 12.8
    total The payment amount Y 12.8
    processNote The payment description N 12.8
    extension: payment-method The payment method. This may be one of the following values: Cash, Check, Charge Y 12.8
    extension: payment-date The payment date. This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ Y 12.8
    extension: effective-date The payment input date. This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ. This field defaults to the current date and time. N 12.8
    extension: deposited-date The payment deposit date. This is a formatted date string in the form yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.fffZ N 12.8
    extension: payment-category The payment category. This must match an option in the Category dropdown of the Payment window in Nextech Practice Y 12.8
    extension: credit-cardtype The payment credit card type. This must match an option in the Credit Card dropdown of the Payment window in Nextech Practice N 12.8
    extension: check-number The payment check number N 12.8
    extension: location The payment location reference. The practice must have at least one Location resource with this identifier. Y 12.8
    extension: apply-payment Value indicating whether the payment should be applied to patient's responsibility. The payment will be applied to patient responsiblity charges with a balance from oldest to newest. N 12.8

    Extensions

    Extensions are used to support required values not part of the FHIR standard.

    Example: Post a $200 check for a patient

    POST https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/PaymentReconciliation
    

     

    Body

    {
      "resourceType": "PaymentReconciliation",
      "extension": [
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/payment-date",
          "valueDate": "2018-01-02"
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/location",
          "valueReference": {
            "reference": "Location/1"
          }
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/effective-date",
          "valueDate": "2018-02-02"
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/deposited-date",
          "valueDate": "2018-02-02"
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/payment-method",
          "valueString": "Check"
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/check-number",
          "valueString": "6751007623"
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/payment-category",
          "valueString": "PP - Patient Payment"
        },
        {
          "url": "https://select.nextech-api.com/api/structuredefinition/apply-payment",
          "valueBoolean": true
        }
      ],
      "requestProvider": {
        "reference": "Practitioner/9219"
      },
      "total": {
        "value": 200
      },
      "processNote": [
        {
          "type": {
            "coding": [
              {
                "system": "NoteType",
                "code": "display"
              }
            ]
          },
          "text": "Patient payment via check - Thank You"
        }
      ]
    }
    

     

    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
    identifier The unique value assigned to each goal which discerns them from all others. Identifier 12.6
    code Identification of the procedure Procedure Codes (SNOMED CT) 12.6
    subject Who the procedure was performed on Reference(Patient) 12.6
    performed Date/Period the procedure was performed dateTime 12.6

    Example

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Procedure",
            "id": "2053",
            "identifier": [
              {
                "use": "official",
                "value": "2053"
              }
            ],
            "code": {
              "coding": [
                {
                  "system": "CPT4",
                  "code": "54601"
                }
              ],
              "text": "Microdermabrasion"
            },
            "subject": {
              "reference": "Patient/5F37E582-FD96-48C5-9EE3-02E26D96CB72",
              "display": "Smith, John"
            }
          }
        }
      ]
    }
    

     

    Search

    Searches for procedures for a single patient

    HTTP Request

    GET /Patient/{patientUid}/Procedure?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patientUid path The official patient identifier acquired from a patient search Yes 12.6
    date query The date the procedure was performed in the form YYYY-MM-DD No 12.6

    Example: Get all procedures for a single patient performed as of 5/1/2017

    GET https://select.nextech-api.com/api/Patient/ad2085b5-b974-401d-bfcb-3b865109fd35/Procedure?date=ge2017-05-01
    

     

    Patient-Type

    Patient-Type

    Overview

    The patient type resource contains information about a patient and their relation to the practice. Examples include Deceased, Moved, Insurance Patient.

    Fields

    Name Description Type Initial Version
    resourcetype The declaration of the type of resource this is. string 14.1
    id The unique value assigned to each patient type which discerns it from all others string 14.1
    extension The patient type values as a packaged extension. Contains definition url and value extension 14.1

    Sample

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 3,
        "entry": [
            {
                "resource": {
                    "resourceType": "patient-type",
                    "id": "1",
                    "extension": [
                        {
                            "url": "https://select.nextech-api.com/api/structuredefinition/patient-type#name",
                            "valueString": "Cosmetic"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "patient-type",
                    "id": "2",
                    "extension": [
                        {
                            "url": "https://select.nextech-api.com/api/structuredefinition/patient-type#name",
                            "valueString": "Insurance Patient"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "patient-type",
                    "id": "3",
                    "extension": [
                        {
                            "url": "https://select.nextech-api.com/api/structuredefinition/patient-type#name",
                            "valueString": "Spa patient"
                        }
                    ]
                }
            }
        ]
    }
    

     

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

    HTTP Request

    GET /patient-type?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query The unique identifier for a single patient type N 14.1
    name query The name of the patient type N 14.1

    Example: Get all patient types

    GET https://select.nextech-api.com/api/patient-type
    

     

    Example: Get all types whose name contains 'Cosmetic'

    GET https://select.nextech-api.com/api/patient-type?name:contains=cosmetic
    

     

    Example: Get a specific patient type based on identifier

    GET https://select.nextech-api.com/api/patient-type/5
    

    Response

    {
        "resourceType": "patient-type",
        "id": "5",
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/patient-type#name",
                "valueString": "Moved"
            }
        ]
    }
    

     

    Appointment

    Appointment

    Overview

    The appointment resource contains information about a planned meeting between a patient and medical provider. Examples include new patient encounters, scheduled surgeries and and follow-up visits.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each appointment which discerns it from all others Identifier 12.6
    status Indicates whether the appointment is proposed (held), cancelled, booked (confirmed), pending, arrived, fulfilled or no show (this field is omitted if the appointment is in a status that doesn't correspond to any of the listed statuses) AppointmentStatus 12.6
    description The appointment summary that includes the type and a list of purposes and resources string 12.6
    start The date and time the appointment begins instant 12.6
    end The date and time the appointment ends instant 12.6
    comment The appointment notes string 12.6
    participant The collection of appointment participants which includes patient, provider and location. As of version 14.1, the patient reference will not be included for non-patient appointments BackboneElement 12.6
    created The date that this appointment was initially created dateTime 12.8
    Extension This is an extension of the class to provide more indepth objects like for appointment types(12.8), appointment purposes (12.9), and Select appointment status (15.9) extension 12.9
    meta.lastUpdated The last time the appointment was modified instant 14.3

    Sample

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Appointment",
            "id": "12312",
            "meta":
            {
              "lastUpdated": "2018-01-25T13:23:00.55+00:00"
            },
            "contained": [
              {
                "resourceType": "Location",
                "id": "5",
                "identifier": [
                  {
                    "use": "official",
                    "value": "5"
                  }
                ],
                "name": "South Dermatology"
              },
              {
                "resourceType": "Practitioner",
                "id": "2",
                "identifier": [
                  {
                    "use": "official",
                    "value": "2"
                  }
                ],
                "name": [
                  {
                    "text": "Davison, Darren",
                    "family": "Davison",
                    "given": [
                      "Darren",
                      ""
                    ]
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status",
                "valueReference": {
                  "reference": "appointment-status/0",
                  "display": "Pending"
                }
              },
              {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
                "valueReference": {
                  "reference": "appointment-type/9",
                  "display": "Surgery Cosmetic"
                }
              },
              {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
                "valueReference": {
                  "reference": "appointment-purpose/161",
                  "display": "Chemical Peel/Skin Treatments"
                }
              }
            ],
            "identifier": [
              {
                "use": "official",
                "value": "12312"
              }
            ],
            "status": "booked",
            "description": "Consult - Insurance Est. - Skin Lesion/Tumor for Darren Davis, MD",
            "start": "2017-03-12T09:10:00-04:00",
            "end": "2017-03-12T09:40:00-04:00",
            "created": "2017-07-27T21:09:19.913Z",
            "comment": "This is a sample comment",
            "participant": [
              {
                "actor": {
                  "reference": "Patient/4AAE9E3C-B1E4-46EA-93C2-CF3B36747D1A",
                  "display": "Brimley, Henry"
                }
              },
              {
                "actor": {
                  "reference": "Location/5",
                  "display": "South Dermatology"
                }
              },
              {
                "actor": {
                  "reference": "Practitioner/2",
                  "display": "Davison, Darren"
                }
              }
            ]
          }
        }
      ]
    }
    

     

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

    HTTP Request

    GET /Appointment?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query The date the appointment 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] . Note that the + character must be URL encoded. (i.e. %2B) No 12.8
    identifier query The unique identifier for a single appointment No 12.6
    patient query The unique identifier acquired from the patient search or a patient chart number No 12.6
    date query The appointment start date. When searching for appointments within a date range, the following prefixes may be used: lt, gt, eq, le, ge No 12.6
    location.id query The id of the appointment's location No 12.7
    location.name query The name of the appointment's location. No 12.7
    practitioner.id query The id of the appointment's practitioner No 12.7
    practitioner.name query The first or last name of the appointment's practitioner No 12.7
    status query The status of the appointment. Currently supported values are: cancelled, booked, noshow, arrived, fulfilled, and pending No 12.7
    created query The date that this appointment was initially created No 12.8

    Multiple Search Values

    Multiple search values are supported for all fields except date. To use multiple values, a comma should be placed in between the values you would like to search for. This search results in the values being ORed together.

    Example: Get all appointments for a patient by chart number

    GET https://select.nextech-api.com/api/Appointment?patient=12345
    

     

    Example: Get all appointments between and including 1/1/2017 through 5/31/2017

    GET https://select.nextech-api.com/api/Appointment?date=ge2017-01-01&date=lt2017-06-01
    

     

    Example: Get all appointments for Dr. Smith or Dr. Jones

    GET https://select.nextech-api.com/api/Appointment?practitioner.name=smith,jones
    

     

    Example: Get all appointments for a location by id

    GET https://select.nextech-api.com/api/Appointment?location.id=1
    

     

    Example: Get all appointments for either of 2 locations

    GET https://select.nextech-api.com/api/Appointment?location.id=1,2
    

     

    Example: Get all cancelled appointments

    GET https://select.nextech-api.com/api/Appointment?status=cancelled
    

     

    Example: Get all appointments created on 7/27/2017

    GET https://select.nextech-api.com/api/Appointment?created=2017-07-27
    

     

    Confirm Appointment

    Confirm a scheduled appointment.

    HTTP Request

    PUT /Appointment/{identifier}

    Parameters

    Name Located in Description Required Initial Version
    identifier path The unique identifier of the appointment to be updated Yes 12.6
    appointment body The appointment object representing the changes to be made Yes 12.6

    The commit parameter should be in the form of an Appointment status field. See https://www.hl7.org/fhir/http.html#update for details on formatting PUT requests in RESTful API’s.

    Example: Mark appointment 5453 as booked

    PUT https://select.nextech-api.com/api/Appointment/5453
    
    {
        "resourceType": "Appointment",
        "status": "booked"
    }
    

     

    Update Appointment Status

    Updates the status of a given appointment

    HTTP Request

    PUT /Appointment/{identifier}

    Parameters

    Name Located in Description Required Initial Version
    identifier path The unique identifier of the appointment to be updated Yes 12.6
    appointment body The appointment object representing the changes to be made Yes 12.6
    appointment.status body The status to update the appointment to. As of 15.8 we'll now support "Booked", "Arrived", "Fulfilled" and "Pending" Yes 15.8

    The below FHIR statuses will be mapped to the below system level statuses in Select

    "Pending" -> "Pending"
    "Arrived" -> "In"
    "Fulfilled" -> "Out"
    

    Remarks

    In a normal workflow an appointment would go from -> Pending -> Arrived -> Fulfilled. Once an appointment is moved from the Arrived status to any other status, you can no longer set the status back to arrived from the API. You'll need to manually set the status from within Select.

    The commit parameter should be in the form of an Appointment status field. See https://www.hl7.org/fhir/http.html#update for details on formatting PUT requests in RESTful API’s.

    Example: Mark appointment 5453 as arrived

    PUT https://select.nextech-api.com/api/Appointment/5453
    
    {
        "resourceType": "Appointment",
        "status": "arrived"
    }
    

     

    Update Appointment With a Custom Status

    Updates the status of a given appointment with a custom status

    HTTP Request

    PUT /Appointment/{identifier}

    Parameters

    Name Located in Description Required Initial Version
    identifier path The unique identifier of the appointment to be updated Yes 12.6
    appointment body The appointment object representing the changes to be made Yes 12.6
    extension body An extension with the status (as defined in Select) to set the appointment to Yes 15.9

    Example: Set status of appointment 5453 to the status with ID 8

    PUT https://select.nextech-api.com/api/Appointment/5453
    
    {
        "resourceType": "Appointment",
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status",
                "valueReference": {
                    "reference": "appointment-status/8"
                }
            }
        ]
    }
    

     

    Request Appointment Cancellation

    Request a scheduled appointment to be cancelled.

    HTTP Request

    PUT /Appointment/{identifier}

    Parameters

    Name Located in Description Required Initial Version
    identifier path The unique identifier of the appointment to be updated Yes 14.6
    appointment body The appointment object representing the appointment that is being requested to be cancelled Yes 14.6

    The commit parameter should be in the form of an Appointment status field of cancelled with a custom extension url of https://select.nextech-api.com/api/structuredefinition/request-type and value of queue. See https://www.hl7.org/fhir/http.html#update for details on formatting PUT requests in RESTful API’s.

    Example: Request appointment 5453 to be cancelled

    PUT https://select.nextech-api.com/api/Appointment/5453
    
    {
        "resourceType": "Appointment",
        "status": "cancelled",
        "extension": [
              {
                    "url": "https://select.nextech-api.com/api/structuredefinition/request-type",
                    "valueString": "queue"
              }
        ]
    }
    

     

    Cancel Appointment

    Cancels a scheduled appointment.

    HTTP Request

    PUT /Appointment/{identifier}

    Parameters

    Name Located in Description Required Initial Version
    identifier path The unique identifier of the appointment to be cancelled Yes 15.9
    appointment body The appointment object representing the appointment to cancel Yes 15.9

    The commit parameter should be in the form of an Appointment status field of cancelled with no custom extensions. See https://www.hl7.org/fhir/http.html#update for details on formatting PUT requests in RESTful API’s.

    Example: Cancel appointment 5453

    PUT https://select.nextech-api.com/api/Appointment/5453
    
    {
        "resourceType": "Appointment",
        "status": "cancelled"
    }
    

    Remarks

    Book Appointment

    Create a scheduled appointment.

    HTTP Request

    POST /Appointment/

    Parameters

    Name Description Type Required Initial Version
    status The current status of the appointment - must be proposed AppointmentStatus Yes 12.9.10
    start The start time of the appointment ie.2017-04-13T09:10:00-04:00 instant Yes 12.9.10
    end The end time of the appointment ie. 2017-04-13T09:40:00-04:00 instant Yes 12.9.10
    Participant Includes the patient reference (if existing patient), location for the appointment, and practitioner for the appointment BackboneElement Location and practitioner are required, patient is required unless a contained section is included 12.9.10
    Extension Contains the appointment type and appointment purposes for this appointment extension Yes, for version 16.2 and below, preference-based for 16.3+ (see * below) 12.9.10
    Contained Contains a patient resource if the patient does not already exist in Nextech Patient Resource Yes, unless a patient reference is included in the participant section 12.9.10

    When posting an appointment, there are multiple options to be considered: The first set of options is whether this appointment should be booked or held. A booked appointment is one which shows in the offices schedule as if the office created the appointment from inside Nextech. A held appointment is an appointment which has a different flag in Nextech to indicate that it is held and also appears in a list of appointments for the office to follow up with. In both situations the appointment shows on the office schedule in Nextech.

    Whether to book or hold an appointment is controlled by the appointment-schedule extension. In order to hold an appointment, the extension would have "hold" as the value string. To book an appointment, the extension would have "book" as the value string. If no appointment-schedule extension is sent, the office's preference for booking or holding is used. See examples below.

    The second set of options to choose from is whether the patient is existing, or if we are making an appointment for a unknown patient. 1. If you are scheduling an appointment for an existing patient, put the identifier for the patient in the participants section 2. If you are scheduling an appointment for a person that is not a patient, put the demographic information for the patient in the contained section. When the appointment is scheduled, the demographic information in the contained section will be used to create a prospect that is then linked to the appointment. The following information is required for the contained section: 1. Name, given and family must be filled in 2. At least one phone number, home, work, or cell as specified by the Use field in the telecom section 3. An email address specified in the telecom section

    Additional fields that can be sent and are recommended, but are not required are:
    1. Birth Date 2. Zip Code

    *Prior to version 16.3, the appointment-purpose and appointment-type extension values are required in appointment creation requests. As of version 16.3, whether appointment types or appointment purposes are required is defined by the preferences in Nextech at Tools->Preferences->Scheduler Module->Appts. 1->Appointments must have Purposes and Tools->Preferences->Scheduler Module->Appts. 1->Appointments must have Types.

    If the appointment creation succeeds, the appointment resource will be returned with a return status of Created (201).

    If the appointment creation fails, an AppointmentResponse (https://www.hl7.org/fhir/appointmentresponse.html) resource will be returned with a status of Conflict (409). The reason for why the creation failed will be included in the AppointmentResponse Comment field.

    If the appointment creation fails and a prospect was being created, the prospect will also be deleted.

    Example: Create an appointment for an existing patient as a booked appointment

    POST https://select.nextech-api.com/api/Appointment/
    
    {
        "resourceType": "Appointment",       
        "extension": [
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
            "valueReference": {
                "reference": "appointment-type/25",
                "display": "Skin Care Established"
            }
          },
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
            "valueReference": {
              "reference": "appointment-purpose/202",
              "display": "Glycolic Peel"
            }
          },
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-schedule",
            "valueString": "book"
          }
        ],      
        "status": "proposed",
        "start": "2017-04-13T09:10:00-04:00",
        "end": "2017-04-13T09:40:00-04:00",     
        "comment": "test note",
        "participant": [
          {
            "actor": {
              "reference": "patient/EEA9EC85-849E-4B88-9859-9F30CF309446",
              "display": "Jane Smith"
            }
          },
          {
            "actor": {
              "reference": "location/1",
              "display": "Nextech Dermatology"
            }
          },
          {
            "actor": {
              "reference": "practitioner/9323",
              "display": "Walters, Sherri"
            }
          }
        ]
    }
    

    Example: Create an appointment for a new prospect as a held appointment

    POST https://select.nextech-api.com/api/Appointment/
    
    {
        "resourceType": "Appointment",       
        "extension": [
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
            "valueReference": {
                "reference": "appointment-type/25",
                "display": "Skin Care Established"
            }
          },
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
            "valueReference": {
              "reference": "appointment-purpose/202",
              "display": "Glycolic Peel"
            }
          },
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-schedule",
            "valueString": "hold"
          }
        ],      
        "status": "proposed",       
        "start": "2017-04-12T08:10:00-04:00",
        "end": "2017-04-12T08:40:00-04:00",     
        "comment": "test note",
        "participant": [
          {
            "actor": {
              "reference": "location/1",
              "display": "Nextech Dermatology"
            }
          },
          {
            "actor": {
              "reference": "practitioner/9323",
              "display": "Walters, Sherri"
            }
          }
        ],
        "contained": [
            {
                "resourceType": "Patient",              
                 "name": [
                 {
                  "text": "Jane L Smith",
                  "family": "Smith",
                  "given": [
                    "Jane",
                    "L"
                   ]
                 }
                 ],
                 "address": [
                 {
                   "use": "home",                     
                   "postalCode": "77014"
                 }
                 ],
                 "telecom": [
                 {
                   "system": "email",
                   "value": "jsmith@email.com"
                 },
                 {
                   "system": "phone",
                   "use" : "home",
                   "value": "346-555-3682"
                 }
                 ],
                   "birthDate": "1968-02-04",
            }
       ]
       
    }
    

    Example: Create an appointment for a new prospect using the office's preference for booking or holding

    POST https://select.nextech-api.com/api/Appointment/
    
    {
        "resourceType": "Appointment",       
        "extension": [
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
            "valueReference": {
                "reference": "appointment-type/25",
                "display": "Skin Care Established"
            }
          },
          {
            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
            "valueReference": {
              "reference": "appointment-purpose/202",
              "display": "Glycolic Peel"
            }
          }
        ],      
        "status": "proposed",       
        "start": "2017-04-12T08:10:00-04:00",
        "end": "2017-04-12T08:40:00-04:00",     
        "comment": "test note",
        "participant": [
          {
            "actor": {
              "reference": "location/1",
              "display": "Nextech Dermatology"
            }
          },
          {
            "actor": {
              "reference": "practitioner/9323",
              "display": "Walters, Sherri"
            }
          }
        ],
        "contained": [
            {
                "resourceType": "Patient",              
                 "name": [
                 {
                  "text": "Jane L Smith",
                  "family": "Smith",
                  "given": [
                    "Jane",
                    "L"
                   ]
                 }
                 ],
                 "address": [
                 {
                   "use": "home",                     
                   "postalCode": "77014"
                 }
                 ],
                 "telecom": [
                 {
                   "system": "email",
                   "value": "jsmith@email.com"
                 },
                 {
                   "system": "phone",
                   "use" : "home",
                   "value": "346-555-3682"
                 }
                 ],
                   "birthDate": "1968-02-04",
            }
       ]
       
    }
    

     

    Remarks

    Slot

    Slot

    Overview

    The slot resource contains information about available appointment slots.

    Fields

    Name Description Type Initial Version
    status Indicates whether the slot is available. SlotStatus 12.9
    schedule The schedule that this slot belongs to Reference 12.9
    start The date and time the slot begins instant 12.9
    end The date and time the slot ends instant 12.9
    appointment-type extension The Nextech appointment type of the slot custom extension 12.9
    appointment-purpose extension The Nextech appointment purpose of the slot custom extension 12.9
    contained section Contains the Location and Practitioner resources associated to the slot BackboneElement 12.9.10

    Sample

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
               "resourceType": "Slot",
                "contained": [
                        {
                            "resourceType": "Location",
                            "id": "1",
                            "identifier": [
                                {
                                    "use": "official",
                                    "value": "1"
                                }
                            ],
                            "name": "NexTech Dermatology"
                        },
                        {
                            "resourceType": "Practitioner",
                            "id": "9323",
                            "identifier": [
                                {
                                    "use": "official",
                                    "value": "9323"
                                }
                            ],
                            "name": [
                                {
                                    "text": "Walters, Sherri",
                                    "family": "Walters",
                                    "given": [
                                        "Sherri",
                                        ""
                                    ]
                                }
                            ]
                        }
                    ],
               "extension": [
                   {
                       "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
                       "valueReference": {
                           "reference": "appointment-type/9",
                           "display": "Surgery Cosmetic"
                       }
                   },
                   {
                       "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
                       "valueReference": {
                           "reference": "appointment-purpose/224",
                           "display": "Skin Check"
                       }
                   }
               ],
               "schedule": {
                  "reference": "schedule/location_1_practitioner_9323"
               },
               "status": "free",
               "start": "2018-02-26T14:00:00-05:00",
               "end": "2018-02-26T15:00:00-05:00"
            }
         }  
      ]
    }
    

     

    Searches for all slots matching the given search criteria. See https://www.hl7.org/fhir/search.html for instructions on formatting search criteria. Only free slots are currently returned from the search. A slot is returned for each practitioner/location combination.

    The number of days searched is determined by the start date parameters passed it. If no less than operators are passed in, the search will default to 45 days. The maximum number of days in the search criteria cannot exceed 60 days.

    HTTP Request

    GET /Slot?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    start query The slot start date/time. When searching for slots within a date range, the following prefixes may be used: lt, gt, eq, le, ge. Note: the ne operator is not supported. Yes
    schedule.actor query The practitioners and/or locations of the slot you are searching for. At least one location actor is required. If no practitioner actor is specified, all practitioners for the location specified will be searched. A practitioner in practice is a schedule resource that is linked to a provider that is linked to a user in Nextech. Yes
    appointment-type query The appointment type the slot will be for. No if slot-length is specified
    appointment-purpose query The appointment purpose the slot will be for. No
    slot-length query The length of time the slot is needed for. If not specified, default duration will be used No, if appointment-type is specified

    Multiple Search Values

    Multiple search values are supported for all fields except date. To use multiple values, a comma should be placed in between the values you would like to search for. This search results in the values being ORed together.

    If 2 practitioner schedule.actors are ORed together with a comma, any of those practitioners will be searched. If they are ANDed together, all of the practitioners will be searched for, with a slot returned for each. If you have both and AND and OR for practitioner scheduler.actors, they will all be ORed together.

    Example: Get all available slots for consult type appointment in March 2018 at Pawtucket Plastic Surgery for any practitioner

    GET https://select.nextech-api.com/api/slot?start=ge2018-03-01&start=lt2018-04-01&appointment-type=appointment-type/87&schedule.actor=location/5
    

     

    Example: Get all available 15 minute slots for Dr. Smith at the West location in 2016

    GET https://select.nextech-api.com/api/slot?start=ge2018-01-01&start=lt2019-01-01&schedule.actor=location/7&schedule.actor=practitioner/15&slot-length=15
    

     

    Example: Get all 15 minute slots for Dr. Smith or Dr. Jones at the West location

    GET https://select.nextech-api.com/api/slot?start=ge2018-01-01&start=lt2019-01-01&schedule.actor=location/7&schedule.actor=practitioner/15, practitioner/17&slot-length=15
    

     

    Remarks

    Appointment-Type

    Appointment-Type

    Overview

    The appointment type resource contains information about a planned meeting between a patient and medical provider. Examples include new patient encounters, scheduled surgeries and and follow-up visits.

    Fields

    Name Description Type Initial Version
    resourcetype The declaration of the type of resource this is. string 12.8
    id The unique value assigned to each appointment type which discerns it from all others string 12.8
    extension The appointment type values as a packaged extension. Contains definition url and value extension 12.8
    extension The default duration in minutes for an appointment type packaged as an extension extension 14.8

    Sample

    {
        "resourceType": "appointment-type",
        "id": "9",
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type#name",
                "valueString": "Surgery Cosmetic"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type#defaultDuration",
                "valueInteger": 0
            }
        ]
    }
    

     

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

    HTTP Request

    GET /appointment-type?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query The unique identifier for a single appointment type N 12.8
    name query The name of the appointment type N 12.8

    Attempts to find a single appointment type that matches based on the identifier given

    GET /appointment-type/{identifier}

    Appointment-Purpose

    Appointment-Purpose

    Overview

    The appointment purpose resource provides specific reasons for a planned meeting between a patient and medical provider. Examples include laser skin resurfacing, chemical peel or microdermabrasion.

    Purposes are assigned to meeting types for improved control over appointment availability and scheduling.

    Fields

    Name Description Type Initial Version
    resourcetype The declaration of the type of resource this is. string 12.9
    id The unique value assigned to each appointment purpose which discerns it from all others string 12.9
    extension The appointment type values that can have this purpose come as a packaged extension. Contains definition url and value extension 12.9

    Sample

    {
    "resourceType": "appointment-purpose",
            "id": "53",
            "extension": [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/appointment-purpose",
                    "valueString": "Laser Skin Resurfacing"
                },
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/appointment-type",
                    "valueReference": {
                        "reference": "appointment-type/13",
                        "display": "Follow Up"
                    }
                }
            ]
    }
    

     

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

    HTTP Request

    GET /appointment-purpose?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query The unique identifier for a single appointment purpose No 12.9
    name query The name of the appointment purpose No 12.9

    Attempts to find a single appointment purpose that matches based on the identifier given

    GET /appointment-purpose/{identifier}

    Appointment-Status

    Appointment-Status

    Overview

    The appointment status resource contains information about a planned meeting between a patient and medical provider. Examples include new patient encounters, scheduled surgeries and and follow-up visits.

    Fields

    Name Description Type Initial Version
    resourcetype The declaration of the type of resource this is. string 15.9
    id The unique value assigned to each appointment status which discerns it from all others string 15.9
    extension The appointment status values as a packaged extension. Contains definition url and value extension 15.9

    Sample

    {
        "resourceType": "appointment-status",
        "id": "10",
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status#name",
                "valueString": "Online Book"
            }
        ]
    }
    

     

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

    HTTP Request

    GET /appointment-status?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query The unique identifier for a single appointment status N 15.9
    name query The name of the appointment status N 15.9

    Example: Get a specific appointment status based on identifier

    GET https://select.nextech-api.com/api/appointment-status/6
    

    Reponse

    {
        "resourceType": "appointment-status",
        "id": "6",
        "extension": [
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status#name",
                "valueString": "Online Book"
            }
        ]
    }
    

    Example: Get all statuses whose name contains 'Online'

    GET https://select.nextech-api.com/api/appointment-status?name:contains=Online
    

    Response

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 2,
        "entry": [
            {
                "resource": {
                    "resourceType": "appointment-status",
                    "id": "6",
                    "extension": [
                        {
                            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status#name",
                            "valueString": "Online Book"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "appointment-status",
                    "id": "7",
                    "extension": [
                        {
                            "url": "https://select.nextech-api.com/api/structuredefinition/appointment-status#name",
                            "valueString": "Online Hold"
                        }
                    ]
                }
            }
        ]
    }
    

    Patient-Recall

    Patient-Recall

    Overview

    The patient-recall resource contains information about when a patient is expected to return for an appointment with their provider.

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each recall which discerns it from all others identifier 14.2
    created The date this recall was created in the system dateTime 14.2
    subject A reference to the patient for whom this recall is for reference 14.2
    extension:practitioner A reference to the practitioner associated with this recall. Not included if there is no practitioner associated to the recall reference 14.2
    extension:location A reference to the location associated with this recall. Not included if there is no location associated to the recall reference 14.2
    extension:recall-date The recall date date 14.2
    extension:recall-status-name The status of this recall. Possible values include: Need to Schedule, Past Due, Scheduled, Complete, Discontinued string 14.2
    extension:recall-appointment-date The start time of the appointment that fulfills this recall, if exists dateTime 14.2
    extension:recall-template-name The name of the recall template this recall is for string 14.2
    extension:recall-step-name The name of the recall step this recall is for string 14.2
    extension:recall-deleted Indicates if the recall has been deleted boolean 14.4
    extension:recall-last-updated The last time the recall was updated string 14.4

    Sample

    {
      "resourceType": "Bundle",
      "entry": [
        {
            "resource": {
            "resourceType": "patient-recall",        
            "identifier": [
            {
                "use": "official",
                "value": "12312"
            }
            ],
            "created": "2017-07-27T21:09:19.913Z",
            "subject": {
                "reference": "Patient/5AAE9E3C-B1E4-46EA-93C2-CF3B36747D1A",
                "display": "Stephenson, Jim"
            },
            "extension" : [
            {
                "url" : "http://hl7.org/fhir/StructureDefinition/Practitioner",
                "valueResourceReference": {
                    "reference": "Practitioner/9978",
                    "display": "Davidson, Darren"
                }
            },
            {
                "url" : "http://hl7.org/fhir/StructureDefinition/Location",
                "valueResourceReference": {
                    "reference": "Location/5",
                    "display": "South Dermatology"
                }
            },
            {
                "url" : "https://select.nextech-api.com/api/structuredefinition/recall-date",
                "valueDate" : "2019-12-01"
            },
            {
                "url" : "https://select.nextech-api.com/api/structuredefinition/recall-status-name",        
                "valueString" : "Scheduled"
            },
            {
                "url" : "https://select.nextech-api.com/api/structuredefinition/recall-appointment-date",       
                "valueDateTime" : "2018-02-08T05:00:00.000Z"
            },
            {
                "url" : "https://select.nextech-api.com/api/structuredefinition/recall-template-name",      
                "valueString" : "Melanoma"
            },
            {
                "url" : "https://select.nextech-api.com/api/structuredefinition/recall-step-name",      
                "valueString" : "2 year follow-up"        
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/recall-deleted",
                "valueBoolean": false
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/recall-last-updated",
                "valueDateTime": "2019-02-22T16:38:23.057Z"
            }
            ]
            }
        }
      ]
    }
    
    

     

    Searches for all recalls matching the given search criteria. See https://www.hl7.org/fhir/search.html for instructions on formatting search criteria. By default non-deleted recalls are returned. See deleted search parameter for details

    HTTP Request

    GET /patient-recall?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query The unique identifier for a single recall No 14.2
    subject query The recall's patient reference No 14.2
    created query The recall's created date. When searching for recalls within a date range, the following prefixes should be used: lt, gt, eq, le, ge No 14.2
    location query The recall's location reference No 14.2
    practitioner query The recall's practitioner reference No 14.2
    recall-status-name query The status name of the recall. Currently supported values are: Need to Schedule, Past Due, Scheduled, Complete, and Discontinued No 14.2
    recall-date query The recall date No 14.2
    deleted query The recall's deleted status. Note: If parameter excluded deleted=false behavior is used. No 14.4
    last-updated query The last time the recall was updated Note: You must url encode the + in the UTC date (%2B) No 14.4

    Multiple Search Values

    Multiple search values are supported for all fields except dates. To use multiple values, a comma should be placed in between the values you would like to search for. This search results in the values being ORed together.

    Example: Get a specific recall based on identifier

    GET https://select.nextech-api.com/api/patient-recall/55
    

     

    Example: Get recalls for a patient

    GET https://select.nextech-api.com/api/patient-recall?subject=Patient/5AAE9E3C-B1E4-46EA-93C2-CF3B36747D1A
    

     

    Example: Get recalls between and including 1/1/2019 through 5/31/2019

    GET https://select.nextech-api.com/api/patient-recall?recall-date=ge2019-01-01&recall-date=lt2019-06-01
    

     

    Example: Get recalls for Dr. Smith or Dr. Jones

    GET https://select.nextech-api.com/api/patient-recall?practitioner=practitioner/9323,practitioner/7945
    

     

    Example: Get recalls for a location by id

    GET https://select.nextech-api.com/api/patient-recall?location=location/1
    

     

    Example: Get recalls for either of 2 locations

    GET https://select.nextech-api.com/api/patient-recall?location=location/1,location/2
    

     

    Example: Get completed recalls

    GET https://select.nextech-api.com/api/patient-recall?recall-status-name=complete
    

     

    Example: Get recalls created on 7/27/2018

    GET https://select.nextech-api.com/api/patient-recall?created=eq2018-07-27
    

     

    Example: Get all non deleted recalls last updated after 07/27/2018

    GET https://select.nextech-api.com/api/patient-recall?last-updated=ge2018-07-27T00:00:00.000%2B00:00&deleted=false
    or
    GET https://select.nextech-api.com/api/patient-recall?last-updated=ge2018-07-27T00:00:00.000%2B00:00
    

     

    Example: Get deleted recalls after 07/27/2018

    GET https://select.nextech-api.com/api/patient-recall?last-updated=ge2018-07-27T00:00:00.000%2B00:00&deleted=true
    

     

    Example: Get All recalls after 07/27/2018

    GET https://select.nextech-api.com/api/patient-recall?last-updated=ge2018-07-27T00:00:00.000%2B00:00&deleted=true,false
    

     

    Remarks

    Location

    Location

    Overview

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

    Fields

    Name Description Type Initial Version
    identifier The unique value assigned to each location which discerns it from all others Identifier 12.8
    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

    Example

    {
        "resourceType": "Location",
        "id": "2",
        "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"
        }
    }
    

     

    Searches for all locations based on the given search criteria.

    HTTP Request

    GET /Location?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    identifier query or uri The unique value assigned to each location which discerns it from all others No 12.8
    status query Searches for locations with a specific kind of status. See LocationStatus No 12.8
    includeAll query 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 The name of the location No 12.8
    address query A (part of the) address of the location 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
    phone query Searches for locations based on phone numbers and fax numbers No 12.8

    Example: Get all active locations

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

     

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

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

     

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

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

     

    Example: Get all locations whose name contains 'dermatology'

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

     

    Example: Get a specific location based on identifier

    GET https://select.nextech-api.com/api/Location/12
    

     

    Practitioner

    Practitioner

    Overview

    A 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 that are not role specific Code 12.8
    birthDate The date of birth of the practitioner date 12.8

    Example

    {
        "resourceType": "Practitioner",
        "identifier": [
            {
                "use": "official",
                "value": "9219"
            }
        ],
         "identifier": [
            {
                "use": "http://hl7.org/fhir/sid/us-npi",
                "value": "1245319599"
            }
        ],
        "active": true,
        "name": [
            {
                "text": "Provider, Test",
                "family": "Provider",
                "given": [
                    "Test",
                    ""
                ]
            }
        ],
        "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"
            }   
        ],
        "gender": "female",
        "birthDate": "1970-09-27"
    

     

    Searches for all based on the given search criteria.

    HTTP Request

    GET /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
    phone query Searches for Practitioners based on phone numbers No 12.8
    email query Searches for Practitioner based on email address No 12.8

    Example: Get all active Practitioners

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

     

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

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

     

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

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

     

    Example: Get all Practitioners whose name contains 'smith'

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

     

    Example: Get a specific Practitioner based on identifier

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

     

    Remarks

    Account

    Account

    Overview

    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
    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
    balance Represents the sum of all credits less all debits associated with the account. Might be positive, zero or negative. Money 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 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"
        },
        "balance": {
            "value": 21
        },
        "description": "Patient Responsibility",
        "guarantor": [
            {
                "party": {
                    "reference": "Patient/59015300-e15b-474c-8314-7864712f6946"
                }
            }
        ]
    }
    

     

    Searches for all based on the given search criteria.

    HTTP Request

    GET /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/Account?status=active
    

     

    Example: Get accounts with a balance greater than zero

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

     

    Example: Get a specific Account attached to a patient

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

     

    Example: Get all Accounts whose name contains 'smith'

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

     

    Example: Get a specific Account based on identifier

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

     

    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 12.9
    status The status of the coverage code 12.9
    type The type of coverage (ie. Medical, Vision, Dental, Auto, Workers' Comp). See Coverage Type Codes CodeableConcept 12.9
    subscriber The subscriber to the policy Reference(Patient or RelatedPerson) 12.9
    subscriberId The identifier assigned to the subscriber string 12.9
    beneficiary The patient who benefits from the coverage Reference(Patient) 12.9
    relationship The beneficiary (or patient) relationship to the subscriber. See Policyholder Relationship Codes CodeableConcept 12.9
    period The coverage effective and expiry dates (if available) Period 12.9
    payor The reference to the insurance company providing the insurance coverage Reference(Organization) 12.9
    grouping.group The policy group number for the coverage string 12.9
    grouping.planDisplay The insurance plan name and type string 12.9
    order The relative order of the coverage positiveInt 12.9

    Extensions

    Name Description Url Type Initial Version
    copay-amount The copay amount for the 'Copay' pay group https://select.nextech-api.com/api/structuredefinition/copay-amount Money 12.9
    copay-percentage The copay percentage for the 'Copay' pay group https://select.nextech-api.com/api/structuredefinition/copay-percentage Integer 12.9

    Example

    {
        "resource": {
            "resourceType": "Coverage",
            "contained": [
                {
                    "resourceType": "RelatedPerson",
                    "id": "6783",
                    "identifier": [
                        {
                            "use": "official",
                            "value": "6783"
                        }
                    ],
                    "name": [
                        {
                            "text": "David M Aaron",
                            "family": "Aaron",
                            "given": [
                                "David",
                                "M"
                            ]
                        }
                    ],
                    "gender": "male",
                    "address": [
                        {
                            "use": "home",
                            "type": "both",
                            "line": [
                                "123 Fake Street"
                            ],
                            "city": "Saint Petersburg",
                            "state": "FL",
                            "postalCode": "33716"
                        }
                    ]
                },
                {
                    "resourceType": "Organization",
                    "id": "14",
                    "identifier": [
                        {
                            "use": "official",
                            "value": "14"
                        }
                    ],
                    "type": [
                        {
                            "coding": [
                                {
                                    "system": "http://hl7.org/fhir/organization-type",
                                    "code": "ins",
                                    "display": "Insurance Company"
                                }
                            ]
                        }
                    ],
                    "name": "Blue Cross/Blue Shield",
                    "address": [
                        {
                            "use": "home",
                            "type": "both",
                            "line": [
                                "123 Great Payment Way"
                            ],
                            "city": "Dallas",
                            "state": "TX",
                            "postalCode": "75201"
                        }
                    ]
                }
            ],
            "extension": [
                {
                    "url": "https://select.nextech-api.com/api/structuredefinition/copay-amount",
                    "valueMoney": {
                        "value": 25
                    }
                }
            ],
            "status": "active",
            "type": {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/v3/ActCode",
                        "code": "EHCPOL",
                        "display": "extended healthcare"
                    }
                ]
            },
            "subscriber": {
                "reference": "#6783",
                "display": "Aaron, David M"
            },
            "subscriberId": "12345678",
            "beneficiary": {
                "reference": "Patient/ce2a5ae0-3514-4f63-8609-911da841e72e",
                "display": "Aaron, Jane M"
            },
            "relationship": {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/policyholder-relationship",
                        "code": "spouse",
                        "display": "Spouse"
                    }
                ]
            },
            "payor": [
                {
                    "reference": "#14",
                    "display": "Blue Cross/Blue Shield"
                }
            ],
            "grouping": {
                "group": "abc123",
                "planDisplay": "Blue Cross/Blue Shield - Group Health Plan"
            },
            "order": 2
        }
    }
    

     

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

    HTTP Request

    GET /Coverage?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    patient query Search coverages by patient identifier N 12.9
    beneficiary query Search coverages by patient identifier N 12.9

    Example: Get coverages for a single patient

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

     

    Claim

    Claim

    Overview

    A list of services and products provided, or to be provided, to a patient.

    Fields

    Name Description Type Initial Version
    identifier Unique identifier used to reference the Claim. Identifier 12.9.20
    name The name associated with the Claim. string 12.9.20
    status Indicates whether the Bill or Quote is presently active or cancelled. If a Bill is deleted or voided it will have a status of Cancelled. If a closed bill is corrected, the original bill will be voided with a status of Cancelled and a new bill will be created to replace it with an Active status. CodeableConcept 12.9.20
    total The total value of the claim. Money 12.9.20
    use Complete (Bill ), Exploratory (Quote). Code 12.9.20
    billablePeriod The billable period for which charges are being submitted. Period 12.9.20
    created The date when the enclosed suite of services were performed or completed. dateTime 12.9.20
    patient Identifies the patient the Claim is associated with. Reference 12.9.20
    facility Place of service where the services were provided. Reference 12.9.20
    careTeam The members of the team who provided the overall service. Reference 12.9.20
    diagnosis List of patient diagnosis for which care is sought. Control 12.9.20
    diagnosis.sequence Sequence of diagnosis. positiveInt 12.9.20
    diagnosis.diagnosis The diagnosis CodeableConcept 12.9.20
    item First tier of goods and services. Control 12.9.20
    item.careTeamLinkId CareTeam applicable for this service or product line. positiveInt 12.9.20
    item.service Code to indicate the Professional Service or Product supplied. CodeableConcept 12.9.20
    item.modifier Item typification or modifiers codes CodeableConcept 12.9.20
    item.serviced The date or dates when the enclosed suite of services were performed or completed. date 12.9.20
    item.location Place of service code. CodeableConcept 12.9.20
    item.item.quantity The number of repetitions of a service or product. SimpleQuantity 12.9.20
    item.unitPrice Fee for the product or service. Money 12.9.20
    item.net The quantity times the unit price for an additional service or product or charge. Money 12.9.20
    meta.lastUpdated The last time the claim was modified instant 14.3

    Extensions

    Name Description Url Type Initial Version
    item-status Indicates whether the Charge line is presently active or cancelled. If a Charge is deleted or voided it will have a status of Cancelled. If a closed charge is corrected, the original Charge will be voided with a status of Cancelled and a new Charge will be created to replace it with an Active status. https://select.nextech-api.com/api/structuredefinition/item-status CodeableConcept 12.9.20
    claim-item-identifier Identifier for the claim item. https://select.nextech-api.com/api/structuredefinition/claim-item-identifier Identifier 14.3

    Example

    {
        "resourceType": "Claim",
        "id": "58179",
        "meta":
            {
              "lastUpdated": "2018-01-25T13:23:00.55+00:00"
            },
        "identifier": [
            {
                "use": "official",
                "value": "58179"
            }
        ],
        "status": "active",
        "use": "complete",
        "patient": {
            "reference": "Patient/9ad0f4a0-f407-4df8-9561-767e09d3e8df"
        },
        "billablePeriod": {
            "start": "6/13/2018"
        },
        "created": "6/13/2018",
        "facility": {
            "reference": "Location/1"
        },
        "careTeam": [
            {
                "sequence": 1,
                "provider": {
                    "reference": "Practitioner/9323"
                }
            }
        ],
        "diagnosis": [
            {
                "diagnosisCodeableConcept": {
                    "coding": [
                        {
                            "system": "ICD-10",
                            "code": "M23.42"
                        }
                    ],
                    "text": "Loose body in knee, left knee"
                }
            }
        ],
        "item": [
            {
                "extension": [
                    {
                        "url": "https://select.nextech-api.com/api/structuredefinition/item-status",
                        "valueString": "active"
                    }
                ],
                "careTeamLinkId": [
                    1
                ],
                "service": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/ValueSet/service-uscls",
                            "code": "99244"
                        }
                    ],
                    "text": "CONSULT LEVEL 4"
                },
                "servicedDateTime": "6/13/2018",
                "locationCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/ValueSet/service-place",
                            "code": "11"
                        }
                    ],
                    "text": "Office"
                },
                "quantity": {
                    "value": 1
                },
                "unitPrice": {
                    "value": 125
                },
                "net": {
                    "value": 125
                }
            }
        ],
        "total": {
            "value": 125
        }
    }
    

     

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Claim?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query The date the claim 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 14.3
    identifier query or uri The unique value assigned to each Claim which discerns it from all others. No 12.9.20
    use query The use of the Claim. (exploratory for quote or complete for bill) No 12.9.20
    facility query The place of service for the Claim. No 12.9.20
    patient query The patient the Claim is tied to. No 12.9.20
    created query The date the Claim was created. No 12.9.20
    care-team query Member of the CareTeam. No 12.9.20

    Example: Get Claims with a particular place of service

    GET https://select.nextech-api.com/api/Claim?facility=1
    

     

    Example: Get Claims with a use of complete

    GET https://select.nextech-api.com/api/Claim?use=complete 
    

     

    Example: Get a specific Claims attached to a patient

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

     

    Example: Get all Claims that were created on a certain date

    GET https://select.nextech-api.com/api/Claim?created=2018-06-01
    

     

    Example: Get a specific Claim based on identifier

    GET https://select.nextech-api.com/api/Claim/12
    

     

    PaymentReconciliation

    PaymentReconciliation

    Overview

    A list of payments, adjustments, and refunds. Can be insurance or self-pay.

    Body Fields

    Name Description Type Initial Version
    requestProvider The responsible practitioner. Reference(Practitioner) 14.2
    total The PaymentReconciliation amount total. Money 14.2
    processNote The PaymentReconciliation description. BackboneElement 14.2
    created The creation date. dateTime 14.2
    status The status of the PaymentReconciliation. This will be one of the following values active, cancelled ( voided ), entered-in-error ( deleted ) .
    • For purposes of calculating the current balance of a patient account, Cancelled transactions may be excluded.
    • For purposes of keeping a history of financial transactions that happened in a specific accounting period (by input date field/effective date extension) then the cancelled transactions should be included.
    • When a transaction is Voided in Nextech, the original transaction remains unchanged in the original accounting period, but has a status of ‘Cancelled’. A new transaction that is the exact opposite of the original is created with a current input date/effective date and also has a status of ‘Cancelled’. The net of these transactions are $0.
    • When a transaction is Voided & Corrected in Nextech, the original transaction remains unchanged in the the original accounting period, but has a status of ‘Cancelled’. A new transaction that is the exact opposite of the original is created with a current input date/effective date and also has a status of ‘Cancelled’. The net of these transactions are $0. A new “corrected” transaction is also created which is an copy of the original transaction, except for the input/effective date. The “corrected” transaction may be edited by the practice to change properties of the payment like the provider, location, amount, etc.
    code 14.2
    organization The Insurer who is associated with the PaymentReconciliation. ( Insurance payments, adjustments and refunds only ). If there is no organization associated with a PaymentReconciliation, the PaymentReconciliation is in reference patient responsibility. Reference(Organization) 14.2
    detail List of individual settlement amounts and the corresponding transaction. Control 14.2
    detail.request The claim or financial resource. Reference(Claim) 14.2
    detail.type Code to indicate the nature of the payment or adjustment (refund is categorized as a payment with negative amount). See Payment Type Codes Code 14.2
    detail.amount Amount paid for this detail. ( payments, adjustments, or refund amount applied to claim ) Money 14.2
    meta.lastUpdated The last time the payment, adjustment, or refund was modified instant 14.3

    Extensions

    Name Description Url Type Initial Version
    extension: claim-item Reference to a claim item. https://select.nextech-api.com/api/structuredefinition/claim-item Reference(Claim.item) 14.3
    extension: applied-amount The amount applied to a claim item from the PaymentReconciliation. https://select.nextech-api.com/api/structuredefinition/applied-amount Money 14.3
    extension: payment-method The PaymentReconciliation method. https://select.nextech-api.com/api/structuredefinition/payment-method string 14.2
    extension: payment-date The PaymentReconciliation date. https://select.nextech-api.com/api/structuredefinition/payment-date dateTime 14.2
    extension: effective-date The PaymentReconciliation input date. https://select.nextech-api.com/api/structuredefinition/effective-date dateTime 14.2
    extension: deposited-date The PaymentReconciliation deposit date. https://select.nextech-api.com/api/structuredefinition/deposit-date dateTime 14.2
    extension: payment-category The PaymentReconciliation category. https://select.nextech-api.com/api/structuredefinition/payment-category string 14.2
    extension: credit-cardtype The PaymentReconciliation credit card type. https://select.nextech-api.com/api/structuredefinition/credit-cardtype string 14.2
    extension: check-number The PaymentReconciliation check number https://select.nextech-api.com/api/structuredefinition/check-number string 14.2
    extension: location The PaymentReconciliation location reference. The practice must have at least one Location resource with this identifier. http://hl7.org/fhir/StructureDefinition/Location Reference(Location) 14.2

    Example

    {
        "resourceType": "PaymentReconciliation",
        "id": "126671",
        "contained": [
            {
                "resourceType": "Organization",
                "id": "14",
                "meta":
                {
                    "lastUpdated": "2018-12-13T09:39:30.827+00:00"
                },
                "identifier": [
                    {
                        "use": "official",
                        "value": "14"
                    }
                ],
                "type": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/organization-type",
                                "code": "ins",
                                "display": "Insurance Company"
                            }
                        ]
                    }
                ],
                "name": "Blue Cross/Blue Shield",
                "address": [
                    {
                        "use": "work",
                        "type": "both",
                        "line": [
                            "123 Great Payment Way"
                        ],
                        "city": "Dallas",
                        "state": "TX",
                        "postalCode": "75201"
                    }
                ]
            }
        ],
        "extension": [
            {
                "url": "http://hl7.org/fhir/StructureDefinition/Patient",
                "valueResourceReference": {
                    "reference": "Patient/1ed5d91a-ce2d-4551-98d9-eecfc3b1ed2c",
                    "display": "RevAPI, Test"
                }
            },
            {
                "url": "http://hl7.org/fhir/StructureDefinition/Location",
                "valueResourceReference": {
                    "reference": "Location/1",
                    "display": "NexTech Dermatology"
                }
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-date",
                "valueDateTime": "2018-12-12T05:00:00.000Z"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/effective-date",
                "valueDateTime": "2018-12-12T15:13:24.690Z"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-method",
                "valueString": "Check"
            },
            {
                "url": "https://select.nextech-api.com/api/structuredefinition/payment-category",
                "valueString": "CO- Patient Co-Pay"
            }
        ],
        "identifier": [
            {
                "use": "official",
                "value": "126671"
            }
        ],
        "status": "active",
        "created": "2018-12-12T15:13:24.690Z",
        "organization": {
            "reference": "#14",
            "display": "Blue Cross/Blue Shield"
        },
        "detail": [
            {
                "type": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/payment-type",
                            "code": "payment"
                        }
                    ]
                },
                "request": {
                    "reference": "Claim/58195"
                },
                "amount": {
                    "value": 1000
                }
            }
        ],
        "total": {
            "value": 1000
        },
        "processNote": [
            {
                "type": {
                    "coding": [
                        {
                            "system": "NoteType",
                            "code": "display"
                        }
                    ]
                },
                "text": "Insurance Payment"
            }
        ]
    }
    

     

    Searches for all based on the given search criteria.

    HTTP Request

    GET /PaymentReconciliation?{parameters}

    Parameters

    Name Located in Description Required Initial Version
    _lastUpdated query The date the payment 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 14.3
    identifier query or uri The unique value assigned to each PaymentReconciliation. No 14.2
    location.id query The location for the PaymentReconciliation. No 14.2
    patient query The patient the PaymentReconciliation is tied to. No 14.2
    created query The date the PaymentReconciliation was created. No 14.2
    status query The status of the PaymentReconciliation. This must be one of the following active, cancelled ( voided ), entered-in-error ( deleted ). No 14.2
    payment-date query The date of service for the PaymentReconciliation. No 14.2
    request-provider query The provider associated with the PaymentReconciliation. This is a practitioner reference. No 14.2

    Example: Get PaymentReconciliations with a particular place of service

    GET https://select.nextech-api.com/api/PaymentReconciliation?location.id=1
    

     

    Example: Get PaymentReconciliations with a status of active

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

     

    Example: Get a specific PaymentReconciliations attached to a patient

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

     

    Example: Get all PaymentReconciliations that were created on a certain date

    GET https://select.nextech-api.com/api/PaymentReconciliation?created=2018-06-01
    

     

    Example: Get all PaymentReconciliations on a certain date of service.

    GET https://select.nextech-api.com/api/PaymentReconciliation?payment-date=2018-06-01
    

     

    Example: Get all PaymentReconciliations for a certain practitioner.

    GET https://select.nextech-api.com/api/PaymentReconciliation?request-provider=1
    

     

    Example: Get a specific PaymentReconciliation based on identifier

    GET https://select.nextech-api.com/api/PaymentReconciliation/12
    

     

    Frequently Asked Questions

    Resetting Expired Credentials

    If your 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.