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

    The Nextech Practice+ 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.

    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 Practice+ API you must have the proper credentials to authenticate. These credentials will be provided to you by your Nextech representative.

    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://api.pm.nextech.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.

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

    Parameter Description
    grant_type Use client_credentials
    client_id Partner ID
    client_secret Partner Secret
    resource The Practice+ Partner Api Identifier

    Response Parameters

    Parameter Description
    token_type Always Bearer
    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

    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://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.com/api/Appointment?date=2015-03-04&status=booked
    
     

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

    Example: Get appointments for the month of March 2017

    GET https://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.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 or PATCH operation in the RESTful framework (PUT|PATCH) https://api.pm.nextech.com/api/{resource}/{identifier} where {resource} refers to a resource such as 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

    PATCH https://api.pm.nextech.com/api/Appointment/3384
    
    {
        "resourceType": "Appointment",
        "status": "booked",
        "participant": [
            {
            "status": "accepted"
            }
        ],
        "extension": [
            {
                "url": "modifiedBy",
                "valueIdentifier": {
                    "id": "modifiedBy",
                    "value": "Practice+ Partner"
                }
            }
        ]
    }
    
     

    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://api.pm.nextech.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
    204 No Content - 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
    409 Conflict
    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
    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, the patient's social security number is also returned in this field if available.
    Identifier
    race The race of the patient Race
    ethnicity The ethnicity of the patient Ethnicity
    name Names of the patient, additional information including prefix and nickname HumanName
    telecom Contact details for the patient, fax, preferred contact, and other phone ContactPoint
    gender The gender of the patient AdministrativeGender
    birthDate The date of birth of the patient date
    address Addresses associated with the patient Address
    communication A list of Languages which may be used to communicate with the patient about his or her health BackboneElement
    maritalStatus The marital status of the patient Codeable Concept
    contact The emergency contact and employer for the patient BackboneElement
    generalPractitioner The practitioner at this office who is responsible for the patient Reference
    patient-note The text of the Admin Notes for the patient, contained in the extension string
    referral-source The primary referral source for the patient, contained in the extension Reference
    referring-physician The referring physician for the patient, contained in the extension Reference
    referring-physician.HumanName The referring physician name, contained in the extension HumanName
    referring-patient The unique identifier for the referring patient for the patient, contained in the extension Reference
    primary-care-physician The primary care physician for the patient, contained in the extension Reference
    patient-location The default location for patient, contained in the extension Reference
    patient-employment-status The employment status for the patient, contained in the extension string
    patients-referred The number of patients this patient has referred, contained in the extension integer
    patient-type The patient type for the patient, contained in the extension Reference
    patient-status The status for the patient (Active, Deceased, Inactive, Merged, Not Yet Seen, Restricted Access), contained in the extension string
    hipaa-consent-signature-on-file A flag that says whether or not the patient has the HIPAA consent on file boolean
    hipaa-consent-signature-date The date when the HIPAA consent was signed date
    financial-policy-reviewed A flag that says whether or not the patient has had their financial policy reviewed boolean
    financial-policy-reviewed-date The date when the financial policy was reviewed date
    meta.lastUpdated The last time the patient was modified instant
    self-pay Designates if a patient is self pay boolean

    Example

    {
        "resourceType": "Patient",
        "id": "386244db-5f44-4d36-864c-1334e7bc5cf5",
        "meta": {
            "lastUpdated": "2020-03-25T13:24:40.277+00:00"
        },
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-status",
                "valueString": "Active"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/3",
                    "display": "Referring Provider"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-note",
                "valueString": "This is a patient note"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-location",
                "valueReference": {
                    "reference": "location/5",
                    "display": "South Tampa Office"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-employment-status",
                "valueString": "full time"
            },
            {
                "url": "http://hl7.org/fhir/v3/Ethnicity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Ethnicity",
                            "code": "NH"
                        }
                    ],
                    "text": "Not Hispanic or Latino"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referring-physician",
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/HumanName",
                        "valueHumanName": {
                            "use": "official",
                            "text": "Iola Frye OD",
                            "family": "Frye",
                            "given": [
                                "Iola"
                            ],
                            "suffix": [
                                "OD"
                            ]
                        }
                    }
                ],
                "valueReference": {
                    "reference": "referring-physician/518",
                    "display": "Iola Frye OD"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/primary-care-physician",
                "valueReference": {
                    "reference": "primary-care-physician/324",
                    "display": "Justin Frederick MD"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patients-referred",
                "valueDecimal": 0
            },
            {
                "url": "http://hl7.org/fhir/v3/Race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3"
                        }
                    ],
                    "text": "White"
                }
            }
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/hipaa-consent-signature-on-file",
                "valueBoolean": true
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/hipaa-consent-signature-date",
                "valueDate": "2020-04-02"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/financial-policy-reviewed",
                "valueBoolean": true
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/financial-policy-reviewed-date",
                "valueDate": "2020-04-02"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/self-pay",
                "valueBoolean": true
            }        
        ],
        "identifier": [
            {
                "use": "official",
                "value": "386244db-5f44-4d36-864c-1334e7bc5cf5"
            },
            {
                "use": "usual",
                "value": "40163"
            },
            {
                "system": "http://hl7.org/fhir/sid/us-ssn",
                "value": "123456789"
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "Mrs. Amber T Stout Jr.",
                "family": "Stout",
                "given": [
                    "Amber",
                    "T"
                ],
                "prefix": [
                    "Mrs."
                ],
                "suffix": [
                    "Jr."
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "home"
            },
            {
                "system": "sms",
                "value": "(159) 555-7294",
                "use": "mobile",
                "rank": 1
            },
            {
                "system": "phone",
                "value": "(345) 345-3453",
                "use": "work"
            },
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "old"
            },
            {
                "system": "email",
                "value": "josh@example.com",
                "rank": 2
            }
        ],
        "gender": "female",
        "birthDate": "2008-02-18",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "788-7385 Augue St."
                ],
                "city": "Saint Petersburg",
                "state": "FL",
                "postalCode": "33704"
            }
        ],
        "maritalStatus": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/marital-status",
                    "code": "M"
                }
            ],
            "text": "Married"
        },
        "contact": [
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-relation",
                        "valueString": "Brother"
                    },
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-note",
                        "valueString": "Brother is nice"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "C"
                            }
                        ]
                    }
                ],
                "name": {
                    "use": "official",
                    "text": "Gray Kelly",
                    "family": "Kelly",
                    "given": [
                        "Gray"
                    ]
                },
                "telecom": [
                    {
                        "system": "phone",
                        "value": "(435) 555-8502",
                        "use": "home",
                        "rank": 1
                    },
                    {
                        "system": "phone",
                        "value": "(345) 345-3456",
                        "use": "work"
                    }
                ]
            },
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/patient-company",
                        "valueString": "Uber"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "E"
                            }
                        ]
                    }
                ],
                "address": {
                    "use": "work",
                    "type": "both",
                    "line": [
                        "123 Main St"
                    ],
                    "city": "Tampa",
                    "state": "FL",
                    "postalCode": "33607"
                },
                "organization": {
                    "identifier": {
                        "use": "official",
                        "value": "4163"
                    }
                }
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "BCP-47",
                            "code": "eng"
                        }
                    ],
                    "text": "English"
                },
                "preferred": true
            }
        ],
        "generalPractitioner": [
            {
                "reference": "practitioner/1",
                "display": "Igor Gonzales MD"
            }
        ]
    }
    

     

    Contact Information

    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 mobile contact.

    The backup contact is also available from the API. If a backup contact is set then it will contain a "rank":2 member in the telecom object indicating it is the backup method. In the above example this is the email contact.

    Search

    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
    _lastUpdated query The date the patient was last modified formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] No dateTime
    family query The family (last) name of the patient No string
    given query The given (first) name of the patient No string
    birthdate query The patient's date of birth formatted as YYYY-MM-DD No dateTime
    phone query The patient's phone number which will be matched against any phone number (home, cell, etc.) No string
    email query The patient's email address No string
    address-city query The city of the patient's address No string
    address-state query The state of the patient's address No string
    address-postalcode query The postal (zip) code of the patient's address No string
    identifier query The unique value assigned to each patient which discerns them from all others. It must be the patient's unique identifier No string

    Example: Get the patient of a specific unique identifier

    GET https://api.pm.nextech.com/api/Patient/386244db-5f44-4d36-864c-1334e7bc5cf5
    

     

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

    GET https://api.pm.nextech.com/api/patient?address-postalcode=33704
    

     

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

    GET https://api.pm.nextech.com/api/Patient?birthdate=ge2008-01-01&birthdate=lt2008-06-01
    

     

    Create Patient

    Create a patient.

    HTTP Request

    POST /Patient/

    Parameters

    Name Description Notes Required
    identifier Social Security number of the patient. Social Security Number is returned. No
    name Names of the patient. The family, given and use elements, are required.
    Only one use of "official" is supported
    Yes
    telecom Contact details for the patient. E-mail, and one phone contact is required.
    One each of home, work, mobile, other, email address is supported.
    Preferred Contact is designated by setting a rank of 1 on a contact point.
    Backup Contact is designated by setting a rank of 2 on a contact point.
    If you designate the system as sms for mobile it will default the "Prefers Text Message" option.
    Yes
    gender The gender of the patient - No
    birthDate The date of birth of the patient - Yes
    address Address associated with the patient. Only one address is currently supported. Yes
    communication A list of Languages which may be used to communicate with the patient about his or her health - No
    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
    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
    generalPractitioner The practitioner at this office who is responsible for the patient Only one generalPractitioner is currently supported. Yes
    race The race of the patient - No
    ethnicity The ethnicity of the patient - No
    patient-note The text of the General 1 note for the patient - No
    referral-source The primary referral source for the patient - Yes
    referring-physician The referring physician for the patient - No
    primary-care-physician The primary care physician for the patient - No
    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
    patient-status The status for the new record. Must be a value of: "Active", "Deceased", "Inactive", "Merged", "Not Yet Seen", "Restricted Access" Yes
    hipaa-consent-signature-on-file A flag that says whether or not the patient has the HIPAA consent on file No
    hipaa-consent-signature-date The date when the HIPAA consent was signed. Will only be saved when the hipaa-consent-signature-on-file flag is set. No
    financial-policy-reviewed A flag that says whether or not the patient has had their financial policy reviewed No
    financial-policy-reviewed-date The date when the financial policy was reviewed. Will only be saved when the financial-policy-reviewed flag is set. No
    patient-type The patient type for the patient. - No
    self-pay Designates if a patient is self pay - No

    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",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-status",
                "valueString": "Active"
            },    	
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/2",
                    "display": "Word of Mouth"
                }
            }
        ],
        "name": [
            {
                "use": "official",
                "family": "Patient",
                "given": [
                    "Minimal"
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "home",
                "rank": 1
            },
            {
                "system": "email",
                "value": "josh@example.com"
            }
        ],
        "birthDate": "2008-02-18",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "788-7385 Augue St."
                ],
                "city": "Saint Petersburg",
                "state": "FL",
                "postalCode": "33704"
            }
        ],
        "generalPractitioner": [
            {
                "reference": "practitioner/1",
                "display": "Igor Gonzales MD"
            }
        ]    
    }
    

     

    Example: Create a new patient with all currently supported options

    {
        "resourceType": "Patient",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-status",
                "valueString": "Active"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/3",
                    "display": "Referring Provider"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-note",
                "valueString": "This is a patient note"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-employment-status",
                "valueString": "full time"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-type",
                "valueReference": {
                    "reference": "patient-type/2",
                    "display": "Medicare"
                }
            },
            {
                "url": "http://hl7.org/fhir/v3/Ethnicity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Ethnicity",
                            "code": "NH"
                        }
                    ],
                    "text": "Not Hispanic or Latino"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referring-physician",
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/HumanName",
                        "valueHumanName": {
                            "use": "official",
                            "text": "Iola Frye OD",
                            "family": "Frye",
                            "given": [
                                "Iola"
                            ],
                            "suffix": [
                                "OD"
                            ]
                        }
                    }
                ],
                "valueReference": {
                    "reference": "referring-physician/518",
                    "display": "Iola Frye OD"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/primary-care-physician",
                "valueReference": {
                    "reference": "primary-care-physician/324",
                    "display": "Justin Frederick MD"
                }
            },
            {
                "url": "http://hl7.org/fhir/v3/Race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3"
                        }
                    ],
                    "text": "White"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/hipaa-consent-signature-on-file",
                "valueBoolean": true
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/hipaa-consent-signature-date",
                "valueDate": "2020-04-02"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/financial-policy-reviewed",
                "valueBoolean": true
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/financial-policy-reviewed-date",
                "valueDate": "2020-04-02"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/self-pay",
                "valueBoolean": true
            }
        ],
        "identifier": [
            {
                "system": "http://hl7.org/fhir/sid/us-ssn",
                "value": "123456789"
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "Mr. Elon R Musk",
                "family": "Musk",
                "given": [
                    "Elon",
                    "R"
                ],
                "prefix": [
                    "Mr."
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "home"
            },
            {
                "system": "sms",
                "value": "(159) 555-7294",
                "use": "mobile",
                "rank": 1
            },
            {
                "system": "phone",
                "value": "(345) 345-3453",
                "use": "work"
            },
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "old"
            },
            {
                "system": "email",
                "value": "josh@example.com",
                "rank": 2
            }
        ],
        "gender": "male",
        "birthDate": "2008-02-18",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "788-7385 Augue St."
                ],
                "city": "Saint Petersburg",
                "state": "FL",
                "postalCode": "33704"
            }
        ],
        "maritalStatus": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/marital-status",
                    "code": "M"
                }
            ],
            "text": "Married"
        },
        "contact": [
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-relation",
                        "valueString": "Brother"
                    },
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-note",
                        "valueString": "Brother is nice"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "C"
                            }
                        ]
                    }
                ],
                "name": {
                    "use": "official",
                    "text": "Gray Kelly",
                    "family": "Kelly",
                    "given": [
                        "Gray"
                    ]
                },
                "telecom": [
                    {
                        "system": "phone",
                        "value": "(435) 555-8502",
                        "use": "home",
                        "rank": 1
                    },
                    {
                        "system": "phone",
                        "value": "(345) 345-3456",
                        "use": "work"
                    }
                ]
            },
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/patient-company",
                        "valueString": "Uber"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "E"
                            }
                        ]
                    }
                ],
                "address": {
                    "use": "work",
                    "type": "both",
                    "line": [
                        "123 Main St"
                    ],
                    "city": "Tampa",
                    "state": "FL",
                    "postalCode": "33607"
                },
                "organization": {
                    "identifier": {
                        "use": "official",
                        "value": "4163"
                    }
                }
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "BCP-47",
                            "code": "eng"
                        }
                    ],
                    "text": "English"
                },
                "preferred": true
            }
        ],
        "generalPractitioner": [
            {
                "reference": "practitioner/1",
                "display": "Igor Gonzales MD"
            }
        ]
    }
    

     

    Update Patient

    Update a patient.

    HTTP Request

    PUT /Patient/

    Parameters

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

    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:

    Example: Set the Patient to Inactive

    {
        "resourceType": "Patient",
        "id": "386244db-5f44-4d36-864c-1334e7bc5cf5",
        "meta": {
            "lastUpdated": "2020-03-25T18:08:27.49+00:00"
        },
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-status",
                "valueString": "Inactive"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referral-source",
                "valueReference": {
                    "reference": "referral-source/2",
                    "display": "Word of Mouth"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-note",
                "valueString": "This is a patient note"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-location",
                "valueReference": {
                    "reference": "location/5",
                    "display": "South Tampa Office"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-employment-status",
                "valueString": "full time"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-type",
                "valueReference": {
                    "reference": "patient-type/2",
                    "display": "Medicare"
                }
            },        
            {
                "url": "http://hl7.org/fhir/v3/Ethnicity",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Ethnicity",
                            "code": "NH"
                        }
                    ],
                    "text": "Not Hispanic or Latino"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/referring-physician",
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/HumanName",
                        "valueHumanName": {
                            "use": "official",
                            "text": "Iola Frye OD",
                            "family": "Frye",
                            "given": [
                                "Iola"
                            ],
                            "suffix": [
                                "OD"
                            ]
                        }
                    }
                ],
                "valueReference": {
                    "reference": "referring-physician/518",
                    "display": "Iola Frye OD"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/primary-care-physician",
                "valueReference": {
                    "reference": "primary-care-physician/324",
                    "display": "Justin Frederick MD"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patients-referred",
                "valueDecimal": 0
            },
            {
                "url": "http://hl7.org/fhir/v3/Race",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://hl7.org/fhir/v3/Race",
                            "code": "2106-3"
                        }
                    ],
                    "text": "White"
                }
            }
        ],
        "identifier": [
            {
                "use": "official",
                "value": "386244db-5f44-4d36-864c-1334e7bc5cf5"
            },
            {
                "use": "usual",
                "value": "40163"
            },
            {
                "system": "http://hl7.org/fhir/sid/us-ssn",
                "value": "123456789"
            }
        ],
        "name": [
            {
                "use": "official",
                "text": "Mrs. Amber T Stout Jr.",
                "family": "Stout",
                "given": [
                    "Amber",
                    "T"
                ],
                "prefix": [
                    "Mrs."
                ],
                "suffix": [
                    "Jr."
                ]
            }
        ],
        "telecom": [
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "home"
            },
            {
                "system": "sms",
                "value": "(159) 555-7294",
                "use": "mobile",
                "rank": 1
            },
            {
                "system": "phone",
                "value": "(345) 345-3453",
                "use": "work"
            },
            {
                "system": "phone",
                "value": "(345) 345-345",
                "use": "old"
            },
            {
                "system": "email",
                "value": "josh@example.com",
                "rank": 2
            }
        ],
        "gender": "female",
        "birthDate": "2008-02-18",
        "address": [
            {
                "use": "home",
                "type": "both",
                "line": [
                    "788-7385 Augue St."
                ],
                "city": "Saint Petersburg",
                "state": "FL",
                "postalCode": "33704"
            }
        ],
        "maritalStatus": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/marital-status",
                    "code": "M"
                }
            ],
            "text": "Married"
        },
        "contact": [
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-relation",
                        "valueString": "Brother"
                    },
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/emergency-contact-note",
                        "valueString": "Brother is nice"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "C"
                            }
                        ]
                    }
                ],
                "name": {
                    "use": "official",
                    "text": "Gray Kelly",
                    "family": "Kelly",
                    "given": [
                        "Gray"
                    ]
                },
                "telecom": [
                    {
                        "system": "phone",
                        "value": "(435) 555-8502",
                        "use": "home",
                        "rank": 1
                    },
                    {
                        "system": "phone",
                        "value": "(345) 345-3456",
                        "use": "work"
                    }
                ]
            },
            {
                "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/patient-company",
                        "valueString": "Uber"
                    }
                ],
                "relationship": [
                    {
                        "coding": [
                            {
                                "system": "http://hl7.org/fhir/v2/0131",
                                "code": "E"
                            }
                        ]
                    }
                ],
                "address": {
                    "use": "work",
                    "type": "both",
                    "line": [
                        "123 Main St"
                    ],
                    "city": "Tampa",
                    "state": "FL",
                    "postalCode": "33607"
                },
                "organization": {
                    "identifier": {
                        "use": "official",
                        "value": "4163"
                    }
                }
            }
        ],
        "communication": [
            {
                "language": {
                    "coding": [
                        {
                            "system": "BCP-47",
                            "code": "eng"
                        }
                    ],
                    "text": "English"
                },
                "preferred": true
            }
        ],
        "generalPractitioner": [
            {
                "reference": "practitioner/1",
                "display": "Igor Gonzales MD"
            }
        ]
    }
    

     

    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
    masteridentifier The unique identifier assigned to each documentreference Identifier
    id The unique identifier assigned to each documentreference Identifier
    subject The patient pertaining to the documentreference Reference(Patient)
    created document creation time (in UTC) dateTime
    author Identifies who is responsible for the information in the document reference Reference
    description The description of the documentreference string
    content.attachment.contentType The mimetype of the content. Code
    content.attachment.title The title of the document string
    content.attachment.data The Base64 encoded document string
    type The type of the document as a CodeableConcept CodeableConcept
    status The status of the document (current, superseded, entered-in-error) string
    indexed The date the file was uploaded. The current datetime (in UTC) dateTime
    extension: note-category Contains the category of the document string
    extension: profile-photo A flag that specifies if the DocumentReference is the Patient's Profile Photo boolean
    extension: document-publish-portal Contains whether the document is published to myPatientVisit boolean

    Example

    {
        "resourceType": "DocumentReference",
        "id": "24227",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/note-category",
                "valueString": "Identification"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/profile-photo",
                "valueBoolean": true
            },        
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/document-publish-portal",
                "valueBoolean": true
            }        
        ],
        "masterIdentifier": {
            "use": "official",
            "value": "24227"
        },
        "status": "current",
        "type": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes",
                    "code": "11503-0"
                }
            ],
            "text": "Medical Records"
        },
        "subject": {
            "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
            "display": "Amber Stout"
        },
        "created": "2020-03-26T12:49:52.737+00:00",
        "indexed": "2020-03-26T12:49:52.737+00:00",
        "author": [
            {
                "reference": "",
                "display": "e32e775a-0f63-4239-85d3-07eff4be2666"
            }
        ],
        "description": "Drivers License",
        "content": [
            {
                "attachment": {
                    "contentType": "image/jpeg",
                    "title": "drivers-license.jpg",
                    "data": "/9j/4AAQSkZJRgA..."
                }
            }
        ]
    }
    

     

    Create

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

    HTTP Request

    POST /Patient/{patientUid}/DocumentReference

    Parameters

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

    Body Fields

    Name Description Required
    resourceType Must be DocumentReference Yes
    description A description of the document No
    content.attachment.contentType The mimetype of the document. See Allowed Mimetypes below Yes
    content.attachment.data The base64 data of the document Yes
    content.attachment.title The title of the document, will be used as the filename No
    type The type of the document as a CodeableConcept Yes
    status The status of the document (current, superseded, entered-in-error) Yes
    indexed The date the file was uploaded. The current datetime (in UTC) Yes
    extension: note-category Allows setting category of the document No
    extension: profile-photo Allows setting the Patient's Profile Photo boolean

    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.

    Available Categories

    Extension: profile-photo

    This is a custom extension to allow the setting of the Patient's Profile Photo. This must be a suppor Image MIME type. There can be only one profile-photo extension.

    {
        "url": "https://api.pm.nextech.com/api/structuredefinition/note-category",
        "valueString": "Identification"
    }
    {
        "url": "https://api.pm.nextech.com/api/structuredefinition/profile-photo",
        "valueBoolean": true
    }

    Example: Attach a drivers license image for a patient and set it as the Patient's profile image

    POST https://api.pm.nextech.com/api/Patient/386244db-5f44-4d36-864c-1334e7bc5cf5/DocumentReference
    

     

    Body

    {
        "resourceType": "DocumentReference",
        "status": "current",
        "indexed": "2020-03-24T16:54:26.127+00:00",
        "type": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes",
                    "code": "11503-0"
                }
            ],
            "text": "Medical Records"
        },
        "subject": {
            "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
            "display": "Amber Stout"
        },
        "description": "Drivers License",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/note-category",
                "valueString": "Identification"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/profile-photo",
                "valueBoolean": true
            }
        ],
        "content": [
            {
                "attachment": {
                    "contentType": "image/jpeg",
                    "title": "drivers-license.jpg",
                    "data": "/9j/4AAQSkZJRgA..."
                }
            }
        ]
    }
    

    Example: Attach a document for a patient

    POST https://api.pm.nextech.com/api/Patient/386244db-5f44-4d36-864c-1334e7bc5cf5/DocumentReference
    

     

    Body

    {
        "resourceType": "DocumentReference",
        "status": "current",
        "indexed": "2020-03-24T16:54:26.127+00:00",
        "type": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes",
                    "code": "11503-0"
                }
            ],
            "text": "Medical Records"
        },
        "subject": {
            "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
            "display": "Amber Stout"
        },
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/note-category",
                "valueString": "Miscellaneous"
            }
        ],
        "content": [
            {
                "attachment": {
                    "contentType": "application/pdf",
                    "title": "WHO Disease Report",
                    "data": "JVBERi0xLjcNC..."
                }
            }
        ]
    }
    

     

    Allowed Mimetypes

    The following mimetypes are currently supported:

    Document Type MimeType
    pdf application/pdf
    GIF Image image/gif
    JPG Image image/jpeg
    PNG Image image/png or image/x-png

     

    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
    requestProvider The responsible practitioner Reference(Practitioner)
    total The payment amount Money
    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
    extension: location The payment location reference Reference(Location)
    extension: practice The payment practice reference Reference(Practice)
    extension: patient The payment patient reference Reference(Patient)
    extension: payment-method The payment method. This may be one of the following values: Cash, Check, Charge, CreditCard, ElectronicTransfer, GiftCertificate string
    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
    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
    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
    extension: payment-category The payment category. This must match an option in the Category dropdown of the Payment window in Nextech Practice string
    extension: creditcard-type The payment credit card type. This must be one of the following values: Visa, MasterCard, AmericanExpress, Discover string
    extension: check-number The payment check number. The check number will be truncated to 50 characters. string

    Example

    {
        "resourceType": "PaymentReconciliation",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/practice",
                "valueReference": {
                    "reference": "Practice/1"
                }
            },
            {
                "url": "http://hl7.org/fhir/StructureDefinition/location",
                "valueReference": {
                    "reference": "Location/1"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-method",
                "valueString": "Check"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-date",
                "valueDate": "2020-03-06"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/effective-date",
                "valueDate": "2020-03-06"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/deposited-date",
                "valueDate": "2020-03-06"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-category",
                "valueString": "Online"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/check-number",
                "valueString": "6751007623"
            }
        ],
        "requestProvider": {
            "reference": "Practitioner/1"
        },
        "total": {
            "value": 200.00
        },
        "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
    patientUid path The official patient identifier acquired from a patient search Y
    paymentReconciliation body Represents the PaymentReconciliation resource to create for the given patient Y

    Body Fields

    Name Description Required
    requestProvider The responsible practitioner Y
    total The payment amount Y
    processNote The payment description N
    extension: payment-method The payment method. This may be one of the following values: Cash, Check, Charge, CreditCard, ElectronicTransfer, GiftCertificate Y
    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
    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
    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
    extension: payment-category The payment category. This must match an option in the Category dropdown of the Payment window in Nextech Practice N
    extension: creditcard-type The payment credit card type. This must be one of the following values: Visa, MasterCard, AmericanExpress, Discover Y (when payment-method is Charge or CreditCard)
    extension: check-number The payment check number N
    extension: location The payment location reference. The practice must have at least one Location resource with this identifier. Y
    extension: practice The payment practice reference Y
    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

    Extensions

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

    Example: Post a $200 check for a patient

    POST https://api.pm.nextech.com/api/Patient/386244DB-5F44-4D36-864C-1334E7BC5CF5/PaymentReconciliation
    

     

    Body

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

     

    Patient Encounter

    Overview

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

    Fields

    Name Description Type
    identifier The unique value assigned to each encounter which discerns them from all others Identifier
    subject The patient pertaining to the encounter Reference(Patient)
    participant The medical professionals involved in the encounter BackboneElement
    period The start and end date of the encounter in the form YYYY-MM-DD period

    Example

    {
      "resourceType": "Encounter",
      "id": "3032",
      "contained": [
        {
          "resourceType": "Practitioner",
          "id": "16",
          "identifier": [
            {
              "use": "usual",
              "system": "http://hl7.org/fhir/sid/us-npi",
              "value": "1234567899"
            }
          ],
          "name": [
            {
              "use": "official",
              "text": "Provider Name",
              "family": "Name",
              "given": [
                "Provider"
              ]
            }
          ]
        }
      ],
      "identifier": [
        {
          "use": "official",
          "value": "3032"
        }
      ],
      "subject": {
        "reference": "Patient/685",
        "display": "Barbara Q Miyazaki"
      },
      "participant": [
        {
          "type": [
            {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v3/ParticipationType",
                  "code": "PRF"
                }
              ]
            }
          ],
          "individual": {
            "reference": "Practitioner/16"
          }
        }
      ],
      "period": {
        "start": "2019-02-27",
        "end": "2019-02-27"
      }
    }
    

     

    Search

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

    HTTP Request

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

    Parameters

    Name Located in Description Required Type
    patientId path The official patient identifier acquired from a patient search. Yes string
    date query The date of the patient encounter in the form YYYY-MM-DD. No dateTime

    Example: Get all patient encounters on a specific date

    GET https://api.pm.nextech.com/api/Patient/386244db-5f44-4d36-864c-1334e7bc5cf5/Encounter?date=2017-01-30
    

     

    Patient-Type

    Patient-Type

    Overview

    The patient type resource contains information about a patient and their relation to the practice.

    Fields

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

    Sample

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 2,
        "entry": [
            {
                "resource": {
                    "resourceType": "patient-type",
                    "id": "1",
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/patient-type#name",
                            "valueString": "Collections"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "patient-type",
                    "id": "2",
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/patient-type#name",
                            "valueString": "Medicare"
                        }
                    ]
                }
            }
        ]
    }
    

     

    Search

    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
    identifier query The unique identifier for a single patient type N
    name query The name of the patient type N

    Example: Get all patient types

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

     

    Example: Get all types whose name contains 'Medi'

    GET https://api.pm.nextech.com/api/patient-type?name=Medi
    

     

    Example: Get a specific patient type based on identifier

    GET https://api.pm.nextech.com/api/patient-type/2
    

    Response

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

     

    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
    identifier The unique value assigned to each appointment which discerns it from all others Identifier
    status Indicates whether the appointment is proposed (held), cancelled, booked (confirmed), pending, arrived, fulfilled or no show AppointmentStatus
    description The appointment summary that includes the type and a list of purposes and resources string
    start The date and time the appointment begins instant
    end The date and time the appointment ends instant
    comment The appointment notes string
    participant The collection of appointment participants which includes patient, provider and location. The patient reference will not be included for non-patient appointments BackboneElement
    created The date that this appointment was initially created dateTime
    Extension This is an extension of the class to provide more indepth objects like for appointment types, appointment purposes, arrival time, and external author id. extension
    meta.lastUpdated The last time the appointment was modified instant

    Sample

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 3,
        "entry": [
            {
                "resource": {
                    "resourceType": "Appointment",
                    "id": "31115",
                    "meta": {
                        "lastUpdated": "2020-03-26T18:16:50.66+00:00"
                    },
                    "extension": [
                        {
                            "url": "arrival-time",
                            "valueDateTime": "2020-03-26T00:00:00-05:00"
                        },
                        {
                            "url": "modifiedBy",
                            "valueIdentifier": {
                                "id": "modifiedBy",
                                "value": "e32e775a-0f63-4239-85d3-07eff4be20c8"
                            }
                        },
                        {
                            "url": "appointment-type",
                            "valueReference": {
                                "reference": "appointment-type/10",
                                "display": "Complete exam"
                            }
                        },
                        {
                            "url": "appointment-purpose",
                            "valueReference": {
                                "reference": "appointment-purpose/31",
                                "display": "Cataract"
                            }
                        },
                        {
                            "url": "external-author-id",
                            "valueIdentifier": {
                                "id": "external-author-id",
                                "value": "80e9a79e-2324-4c1d-878e-0fe05d2e4da8"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "31115"
                        }
                    ],
                    "status": "arrived",
                    "description": "Complete exam - Cataract for Igor",
                    "start": "2020-03-26T09:00:00-05:00",
                    "end": "2020-03-26T09:15:00-05:00",
                    "created": "2020-03-26T15:39:23.23+00:00",
                    "comment": "This is an appointment note",
                    "participant": [
                        {
                            "actor": {
                                "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
                                "display": "Amber Stout"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Location/4",
                                "display": "South Tampa Office"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Practitioner/1",
                                "display": "Igor"
                            },
                            "status": "accepted"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "Appointment",
                    "id": "14882",
                    "meta": {
                        "lastUpdated": "2019-05-06T14:49:33.633+00:00"
                    },
                    "extension": [
                        {
                            "url": "arrival-time",
                            "valueDateTime": "2019-05-08T07:30:00-05:00"
                        },
                        {
                            "url": "modifiedBy",
                            "valueIdentifier": {
                                "id": "modifiedBy",
                                "value": "iryna@example.com"
                            }
                        },
                        {
                            "url": "appointment-type",
                            "valueReference": {
                                "reference": "appointment-type/11",
                                "display": "Follow up"
                            }
                        },
                        {
                            "url": "appointment-purpose",
                            "valueReference": {
                                "display": "FP/OCT/PHOTOS//LM"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "14882"
                        }
                    ],
                    "status": "cancelled",
                    "description": "Follow up - FP/OCT/PHOTOS//LM for Igor",
                    "start": "2019-05-08T07:30:00-05:00",
                    "end": "2019-05-08T07:45:00-05:00",
                    "created": "2018-11-07T16:40:36.163+00:00",
                    "comment": "Scrubbed note",
                    "participant": [
                        {
                            "actor": {
                                "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
                                "display": "Amber Stout"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Location/5",
                                "display": "South Tampa Office"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Practitioner/1",
                                "display": "Igor"
                            },
                            "status": "accepted"
                        }
                    ]
                }
            },
            {
                "resource": {
                    "resourceType": "Appointment",
                    "id": "14786",
                    "meta": {
                        "lastUpdated": "2018-11-07T14:20:38.113+00:00"
                    },
                    "extension": [
                        {
                            "url": "arrival-time",
                            "valueDateTime": "2018-11-07T07:45:00-05:00"
                        },
                        {
                            "url": "modifiedBy",
                            "valueIdentifier": {
                                "id": "modifiedBy",
                                "value": "brandy@example.com"
                            }
                        },
                        {
                            "url": "appointment-type",
                            "valueReference": {
                                "reference": "appointment-type/18",
                                "display": "New Complete Exam"
                            }
                        },
                        {
                            "url": "appointment-purpose",
                            "valueReference": {
                                "reference": "appointment-purpose/13",
                                "display": "Macular Degeneration"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "14786"
                        }
                    ],
                    "status": "arrived",
                    "description": "New Complete Exam - Macular Degeneration for Igor",
                    "start": "2018-11-07T07:45:00-05:00",
                    "end": "2018-11-07T08:00:00-05:00",
                    "created": "2018-11-06T19:51:48.94+00:00",
                    "participant": [
                        {
                            "actor": {
                                "reference": "Patient/386244db-5f44-4d36-864c-1334e7bc5cf5",
                                "display": "Amber Stout"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Location/5",
                                "display": "South Tampa Office"
                            },
                            "status": "accepted"
                        },
                        {
                            "actor": {
                                "reference": "Practitioner/1",
                                "display": "Igor"
                            },
                            "status": "accepted"
                        }
                    ]
                }
            }
        ]
    }
    

     

    Search

    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
    _lastUpdated query The date the appointment 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
    identifier query The unique identifier for a single appointment No
    patient query The unique identifier acquired from the patient search or a patient chart number No
    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
    location.id query The id of the appointment's location No
    location.name query The name of the appointment's location. No
    practitioner.id query The id of the appointment's practitioner No
    practitioner.name query The first or last name of the appointment's practitioner No
    status query The status of the appointment. Currently supported values are: cancelled, booked, noshow, arrived, fulfilled, and pending No
    created query The date that this appointment was initially created No

    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 unique identifier

    GET https://api.pm.nextech.com/api/Appointment?patient=386244db-5f44-4d36-864c-1334e7bc5cf5
    

     

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

    GET https://api.pm.nextech.com/api/Appointment?date=ge2020-01-01&date=lt2020-06-01
    

     

    Example: Get all appointments for Dr. Igor or Dr. Colt

    GET https://api.pm.nextech.com/api/Appointment?practitioner.name=igor,colt
    

     

    Example: Get all appointments for a location by id

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

     

    Example: Get all appointments for either of 2 locations

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

     

    Example: Get all cancelled appointments

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

     

    Create Appointment

    Create an appointment.

    HTTP Request

    POST /Appointment/

    Parameters

    Name Description Notes Required
    appointment-type extension The Nextech appointment type for the appointment The types supported by a specific practice can be found with the Appointment-Type endpoint. Yes
    appointment-purpose extension The Nextech appointment purpose for the appointment The purposes supported by a specific practice can be found with the Appointment-Purposes endpoint. No
    appointment-schedule extension The Nextech scheduling type for the appointment Must be a string value from the following: 'book', 'hold' No
    status The appointment status This must be set to 'proposed' when creating an appointment Yes
    start The start time of the appointment This should be obtained from a valid Slot Yes
    end The end time of the appointment This should be obtained from a valid Slot Yes
    participant This is a collection of participants which will include: Patient, Practitioner, and Location The patient must be a patient that already exists Yes
    comment A comment to be included with the appointment - No

    Before creating an appointment, the system will check the required fields (start, end, appointment-type, facility, patient, practitioner) are provided. If the proper values are not provided a 409 Conflict, with a message stating what criteria is missing, will be returned.

    Example: Create a new appointment with minimum information

    {
        "resourceType": "Appointment",  
        "extension": [        
            {
                "url": "appointment-type",
                "valueReference": {
                    "reference": "appointment-type/1",
                    "display": "Consult Existing Patient"
                }
            }
        ],
        "status": "proposed",
        "start": "2020-12-07T09:00:00-08:00",
        "end": "2020-12-07T10:00:00-08:00",
        "participant": [
            {
                "actor": {
                    "reference": "Patient/1",
                    "display": "John Parker"
                },
                "status": "accepted"	
            },
            {
                "actor": {
                    "reference": "Location/1",
                    "display": "Office 1"
                },
                "status": "accepted"     
            },
            {
                "actor": {
                    "reference": "Practitioner/1",
                    "display": "Bob Simon"
                },
                "status": "accepted"     
            }
        ]
    }
    

     

    Example: Create a new appointment with all currently supported options

    {
        "resourceType": "Appointment",
        "extension": [
            {
                "url": "appointment-type",
                "valueReference": {
                    "reference": "appointment-type/1",
                    "display": "Consult New Patient"
                }
            },
            {
                "url": "appointment-schedule",
                "valueString": "book"
            },
            {
                "url": "appointment-purpose",
                "valueReference": {
                    "reference": "appointment-purpose/31",
                    "display": "Cataract"
                }
            }
        ],
        "status": "proposed",
        "start": "2022-02-09T08:00:00-05:00",
        "end": "2022-02-09T08:45:00-05:00",
        "comment": "test note",
        "participant": [
            {
                "actor": {
                    "reference": "Location/6",
                    "display": "South Tampa Office"
                },
                "status": "accepted"
            },
            {
                "actor": {
                    "reference": "Practitioner/1",
                    "display": "Gonzales Igor"
                },
                "status": "accepted"
            },
            {
                "actor": {
                    "reference": "Patient/43dfe97c-deb7-45df-b343-e95192dc058a",
                    "display": "Mr. Jon Snow"
                },
                "status": "accepted"
            }
        ]
    }
    

     

    Confirm Appointment

    Confirm a scheduled appointment.

    HTTP Request

    PATCH /Appointment/{identifier}

    Parameters

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

    The commit parameter should be in the form of an Appointment status field.

    Example: Mark appointment 31115 as booked

    PATCH https://api.pm.nextech.com/api/Appointment/31115
    
    {
        "resourceType": "Appointment",
        "status": "booked",
        "participant": [
            {
                "status": "accepted"
            }
        ]
    }
    

     

    Mark Appointment Arrived

    Mark a scheduled appointment arrived.

    HTTP Request

    PATCH /Appointment/{identifier}

    Parameters

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

    The commit parameter should be in the form of an Appointment status field.

    Example: Mark appointment 31115 as arrived

    PATCH https://api.pm.nextech.com/api/Appointment/31115
    
    {
        "resourceType": "Appointment",
        "status": "arrived",
        "participant": [
            {
                "status": "accepted"
            }
        ]
    }
    

     

    Slot

    Slot

    Overview

    The slot resource contains information about available appointment slots.

    Fields

    Name Description Type
    status Indicates whether the slot is available. SlotStatus
    start The date and time the slot begins instant
    end The date and time the slot ends instant
    appointment-type extension The Nextech appointment type of the slot custom extension
    practice-id extension The Nextech practice id for the practice associated to the slot custom extension
    contained section Contains the Location and Practitioner resources associated to the slot BackboneElement

    Sample

    {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-23T10:00:00-05:00",
            "end": "2020-11-23T10:15:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-23T13:45:00-05:00",
            "end": "2020-11-23T14:00:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-24T09:15:00-05:00",
            "end": "2020-11-24T09:30:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-24T11:00:00-05:00",
            "end": "2020-11-24T11:15:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-25T14:00:00-05:00",
            "end": "2020-11-25T14:15:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-26T10:00:00-05:00",
            "end": "2020-11-26T10:15:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-26T10:00:00-05:00",
            "end": "2020-11-26T10:15:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-26T11:45:00-05:00",
            "end": "2020-11-26T12:00:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-26T13:30:00-05:00",
            "end": "2020-11-26T13:45:00-05:00"
          }
        },
        {
          "resource": {
            "resourceType": "Slot",
            "contained": [
              {
                "resourceType": "Location",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "1"
                  }
                ],
                "name": "Basic Office"
              },
              {
                "resourceType": "Practitioner",
                "id": "1",
                "identifier": [
                  {
                    "use": "official",
                    "value": "Basic Smith"
                  }
                ],
                "name": [
                  {
                    "text": "Basic Smith"
                  }
                ]
              }
            ],
            "extension": [
              {
                "url": "appointment-type",
                "valueReference": {
                  "reference": "appointment-type/3",
                  "display": "Follow Up"
                }
              },
              {
                "url": "practice-id",
                "valueReference": {
                  "reference": "practice-id/1",
                  "display": "Practice 1"
                }
              }
            ],
            "status": "free",
            "start": "2020-11-26T15:15:00-05:00",
            "end": "2020-11-26T15:30:00-05:00"
          }
        }
      ]
    }
    

     

    Search

    Searches for all appointment types 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 40 days.

    HTTP Request

    GET /Slot?{parameters}

    Parameters

    Name Located in Description Required
    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. N
    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. N
    appointment-type query The appointment type the slot will be for. Y
    practice-id query The practice the slot will be for. N

     

    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. Alternatively the query parameter may be provided twice separated by an &. These methods of searching results in the values being ORed together.

    Example: Get all available slots for Consult Existing Patient type appointment in December 2020 at Dougs Office for any practitioner

        GET https://api.pm.nextech.com/api/slot/?start=ge12-01-2020&start=le01-01-2021&schedule.actor=location%2F15&appointment-type=appointment-type%2F2
    

     

    Example: Get all available slots for Dr. Smith or Dr. Jones at the West location using comma separation

        GET https://api.pm.nextech.com/api/slot?start=ge2020-01-01&start=lt2021-01-01&schedule.actor=location/7&schedule.actor=practitioner/15, practitioner/17
    

     

    Example: Get all available slots for Dr. Smith or Dr. Jones at the West location using &

        GET https://api.pm.nextech.com/api/slot?start=ge2020-01-01&start=lt2021-01-01&schedule.actor=location/7&schedule.actor=practitioner/15&schedule.actor=practitioner/17
    

     

    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
    resourcetype The declaration of the type of resource this is. string
    id The unique value assigned to each appointment type which discerns it from all others string
    extension The appointment type values as a packaged extension. Contains definition url and value extension

    Sample

    {
        "resourceType": "appointment-type",
        "id": "11",
        "extension": [
            {
                "url": "appointment-type",
                "valueString": "Follow up"
            }
        ]
    }
    

     

    Search

    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
    identifier query The unique identifier for a single appointment type N
    name query The name of the appointment type N

    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
    resourcetype The declaration of the type of resource this is. string
    id The unique value assigned to each appointment purpose which discerns it from all others string

    Sample

        {
            "resourceType": "appointment-purpose",
            "id": "8",
            "extension": [
                {
                    "url": "appointment-purpose",
                    "valueString": "Rhinoplasty"
                }
            ]
        }
    

     

    Search

    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
    identifier query The unique identifier for a single appointment purpose No
    name query The name of the appointment purpose No

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

    GET /appointment-purpose/{identifier}

    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
    identifier The unique value assigned to each recall which discerns it from all others identifier
    created The date this recall was created in the system dateTime
    subject A reference to the patient for whom this recall is for reference
    extension:practitioner A reference to the practitioner associated with this recall. Not included if the resource attached to the recall is not a provider reference
    extension:recall-patient-uid The patient for whom this recall is for string
    extension:location A reference to the location associated with this recall. Not included if there is no location associated to the recall reference
    extension:recall-date The recall date date
    extension:recall-status-name The status of this recall. Possible values include: Active, Closed, Deleted string
    extension:recall-appointment-date The start time of the appointment that fulfills this recall, if exists dateTime
    extension:recall-template-name The name of the recall template this recall is for string
    extension:recall-step-name The name of the recall step this recall is for string
    extension:recall-deleted Indicates if the recall has been deleted boolean
    extension:recall-last-updated The last time the recall was updated. Not returned if the recall hasn't been updated since created. string

    Sample

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 1,
        "entry": [
            {
                "resource": {
                    "resourceType": "patient-recall",
                    "id": "PR-1",
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-patient-uid",
                            "valueString": "74a5b392-7822-439f-af46-51612d285a26"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-date",
                            "valueDate": "2020-03-17"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-template-name",
                            "valueString": "1 Month"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-step-name",
                            "valueString": "1 Month"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-status-name",
                            "valueString": "Active"
                        },                    
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-deleted",
                            "valueBoolean": false
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recall-last-updated",
                            "valueDateTime": "2020-03-26T19:57:47.468+00:00"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Location",
                            "valueReference": {
                                "reference": "Location/8",
                                "display": "Clearwater Surgery Center"
                            }
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Practitioner",
                            "valueReference": {
                                "reference": "Practitioner/1",
                                "display": "Gonzales, Igor"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "PR-1"
                        }
                    ],
                    "subject": {
                        "reference": "Patient/74a5b392-7822-439f-af46-51612d285a26",
                        "display": "Hicks, Ashton"
                    },
                    "created": "2020-03-17T14:32:28.039+00:00"
                }
            }
        ]
    }
    

     

    Search

    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
    identifier query The unique identifier for a single recall No
    subject query The recall's patient reference No
    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
    location query The recall's location reference No
    practitioner query The recall's practitioner reference No
    recall-status-name query The status name of the recall. Currently supported values are: Active, Closed, Deleted No
    recall-date query The recall date No
    deleted query The recall's deleted status. Note: If parameter excluded deleted=false behavior is used. No
    _lastUpdated query The last time the recall was updated Note: You must url encode the + in the UTC date (%2B) No

    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://api.pm.nextech.com/api/patient-recall/55
    

     

    Example: Get recalls for a patient

    GET https://api.pm.nextech.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://api.pm.nextech.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://api.pm.nextech.com/api/patient-recall?practitioner=practitioner/9323,practitioner/7945
    

     

    Example: Get recalls for a location by id

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

     

    Example: Get recalls for either of 2 locations

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

     

    Example: Get completed recalls

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

     

    Example: Get recalls created on 7/27/2018

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

     

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

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

     

    Example: Get deleted recalls after 07/27/2018

    GET https://api.pm.nextech.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://api.pm.nextech.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
    identifier The unique value assigned to each location which discerns it from all others Identifier
    status The status of the location (ie. active, inactive) code
    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
    name The name of the location string
    telecom The contact details of communication at the location ContactPoint
    address The address of the location Address

    Example

    {
        "resourceType": "Location",
        "id": "2",
        "extension": [
            {
                "url": "https://api.pm.nextech.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"
        }
    }
    

     

    Search

    Searches for all locations based on the given search criteria.

    HTTP Request

    GET /Location?{parameters}

    Parameters

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

    Example: Get all active locations

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

     

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

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

     

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

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

     

    Example: Get all locations whose name contains 'dermatology'

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

     

    Example: Get a specific location based on identifier

    GET https://api.pm.nextech.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
    identifier The unique value assigned to each Practitioner which discerns it from all others Identifier
    active Whether this practitioner's record is in active use. boolean
    name The name(s) associated with the practitioner HumanName
    telecom Contact detail(s) for the practitioner (that apply to all roles) ContactPoint
    address Address(es) of the practitioner that are not role specific Address
    gender Gender of the practitioner that are not role specific Code
    birthDate The date of birth of the practitioner date

    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"
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Practitioner?{parameters}

    Parameters

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

    Example: Get all active Practitioners

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

     

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

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

     

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

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

     

    Example: Get all Practitioners whose name contains 'smith'

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

     

    Example: Get a specific Practitioner based on identifier

    GET https://api.pm.nextech.com/api/Practitioner/12
    

    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
    identifier Unique identifier used to reference the account. Identifier
    name The name associated with the Account. string
    status Indicates whether the account is presently used/usable or not. CodeableConcept
    type Categorizes the account for reporting and searching purposes. CodeableConcept
    balance Represents the sum of all credits less all debits associated with the account. Might be positive, zero or negative. Money
    description Provides additional information about what the account tracks and how it is used. string
    subject Identifies the patient or other object the account is associated with. Reference
    guarantor Party financially responsible for the account. BackboneElement
    guarantor.party The entity who is responsible. Reference

    }

    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"
                }
            }
        ]
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Account?{parameters}

    Parameters

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

    Example: Get all active Accounts

    GET https://api.pm.nextech.com/api/Account?status=active
    

     

    Example: Get accounts with a balance greater than zero

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

     

    Example: Get a specific Account attached to a patient

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

     

    Example: Get all Accounts whose name contains 'smith'

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

     

    Example: Get a specific Account based on identifier

    GET https://api.pm.nextech.com/api/Account/12
    

     

    Payer

    Payer

    Overview

    An organization (often an insurance company) that can be responsible for a portion or all of a patient's billing

    Fields

    Name Description Type
    identifier The unique value assigned to each Payer which discerns it from all others Identifier
    active Whether this payer's record is in active use. boolean
    extension:insurance-plan-type The type of insurance plan, e.g. Medical, Vision, Workers' Comp, etc. CodeableConcept
    extension:hcfa-payer-id The insurance plan's HCFA payer ID string
    extension:ub04-payer-id The insurance plan's UB04 payer ID string
    extension:eligibility-id The insurance plan's eligiblity ID string
    type The FHIR Organization type, currently only "ins" is supported CodeableConcept
    name The name of the payer / insurance plan HumanName
    telecom Contact detail(s) for the payer / insurance plan ContactPoint
    address Address(es) of the payer / insurance plan Address

    Example

    {
        "resourceType": "Organization",
        "id": "1",
        "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/insurance-plan-type",
                "valueCodeableConcept": {
                    "coding": [
                        {
                            "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                            "code": "HIP",
                            "display": "health insurance plan policy"
                        }
                    ]
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/hcfa-payer-id",
                "valueString": "12555"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/ub04-payer-id",
                "valueString": "123"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/eligibility-id",
                "valueString": "15245"
            }
        ],
        "identifier": [
            {
                "use": "official",
                "value": "1"
            }
        ],
        "active": true,
        "type": [
            {
                "coding": [
                    {
                        "system": "http://hl7.org/fhir/organization-type",
                        "code": "ins",
                        "display": "Insurance Company"
                    }
                ]
            }
        ],
        "name": "Medicare - Part B",
        "telecom": [
            {
                "system": "phone",
                "value": "(111) 111-1111",
                "use": "work",
                "rank": 1
            }
        ],
        "address": [
            {
                "use": "work",
                "type": "both",
                "line": [
                    "5550 Executive Dr"
                ],
                "city": "Tampa",
                "state": "FL",
                "postalCode": "33609-1035"
            }
        ]
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Payer?{parameters}

    Parameters

    Name Located in Description Required
    identifier query or uri The unique value assigned to each Payer which discerns it from all others No
    status query Searches for Payers whose record is in active use (valid values are "active" or "inactive") No
    name query The name of the Payer No
    address query A (part of the) address of the Payer No
    address-city query A city specified in an address No
    address-state query A state specified in an address No
    address-postalcode query A postal code specified in an address No
    phone query Searches for Payers based on phone numbers No

    Example: Get all active Payers

    GET https://api.pm.nextech.com/api/Payer?status=active
    

     

    Example: Get all Payers whose city contains 'Tampa'

    GET https://api.pm.nextech.com/api/Payer?address-city=Tampa
    

     

    Example: Get all Payers whose name contains 'medicare'

    GET https://api.pm.nextech.com/api/Payer?name:contains=medicare
    

     

    Example: Get a specific Payer based on identifier

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

    Extensions

    Name Description Url Type
    copay-amount The copay amount for the 'Copay' pay group https://api.pm.nextech.com/api/structuredefinition/copay-amount Money
    copay-percentage The copay percentage for the 'Copay' pay group https://api.pm.nextech.com/api/structuredefinition/copay-percentage Integer
    DocumentReference References to documents from the DocumentReference endpoint which can be used to assign up to 2 documents to the insurance policy (e.g. insurance card photos) http://hl7.org/fhir/documentreference.html Reference

    Example

    {
        "resourceType": "Coverage",
        "contained": [
            {
                "resourceType": "RelatedPerson",
                "id": "6783",
                "identifier": [
                    {
                        "use": "official",
                        "value": "6783"
                    }
                ],
                "name": [
                    {
                        "use": "official",
                        "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://api.pm.nextech.com/api/structuredefinition/copay-amount",
                "valueMoney": {
                    "value": 25
                },
                {
                    "url": "http://hl7.org/fhir/documentreference.html",
                    "valueReference": {
                        "reference": "DocumentReference/100"
                    }
                },
                {
                    "url": "http://hl7.org/fhir/documentreference.html",
                    "valueReference": {
                        "reference": "DocumentReference/101"
                    }
                }
            }
        ],
        "status": "active",
        "type": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/v3/ActCode",
                    "code": "EHCPOL",
                    "display": "extended healthcare"
                }
            ]
        },
        "subscriber": {
            "reference": "#6783",
            "display": "Aaron, David M"
        },
        "identifier": [
            {
                "use": "official",
                "value": "1"
            }
        ],        
        "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
    }
    

     

    Search

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

    HTTP Request

    GET /Coverage?{parameters}

    Parameters

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

    Example: Get coverages for a single patient

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

     

    Update

    Updates the specific patient coverage.

    HTTP Request

    PUT /Coverage/[CoverageId]

    Fields

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

    Extensions

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

    Example: Updates secondary coverage a single patient

    PUT https://api.pm.nextech.com/api/Coverage/1
    

    Example

    {
        "resourceType": "Coverage",
        "contained": [
            {
                "resourceType": "RelatedPerson",
                "id": "6783",
                "identifier": [
                    {
                        "use": "official",
                        "value": "6783"
                    }
                ],
                "name": [
                    {
                        "use": "official",
                        "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://api.pm.nextech.com/api/structuredefinition/copay-amount",
                "valueMoney": {
                    "value": 25
                }
            }
        ],
        "status": "active",
        "type": {
            "coding": [
                {
                    "system": "http://hl7.org/fhir/v3/ActCode",
                    "code": "EHCPOL",
                    "display": "extended healthcare"
                }
            ]
        },
        "identifier": [
            {
                "use": "official",
                "value": "1"
            }
        ],        
        "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
    }
    

     

    Create

    Creates specific patient coverage.

    HTTP Request

    POST /Coverage

    Fields

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

    Extensions

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

    Example: Creates a tertiary coverage a single patient

    POST https://api.pm.nextech.com/api/Coverage
    

    Example

    {
        "resourceType": "Coverage",
        "contained": [
            {
                "resourceType": "RelatedPerson",
                "name": [
                    {
                        "use": "official",
                        "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://api.pm.nextech.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": 3
    }
    

     

    Claim

    Claim

    Overview

    List of services and products billed to an insurance company.

    Fields

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

    Extensions

    Name Description Url Type
    patient-account-number The Patient's user-facing account number. This value is also available from the Patient resource. https://api.pm.nextech.com/api/structuredefinition/patient-account-number string
    item.item-status Indicates current ledger entry status. This is not related to the claim or the claim status. https://api.pm.nextech.com/api/structuredefinition/item-status CodeableConcept
    item.claim-item-identifier Identifier for the claim item. https://api.pm.nextech.com/api/structuredefinition/claim-item-identifier Identifier
    item.service.claim-item-type What kind of Practice+ ledger charge this claim item represents. For example, a Service or a Product.
    Value Set: Claim Item Type
    https://api.pm.nextech.com/api/structuredefinition/claim-item-type string

    Claim Item Type Value Set

    Url http://api.pm.nextech.com/api/ValueSet/claim-item-type
    Code Display Description
    Service Service The claim item is a charge for a Practice Service, which potentially is associated with a CPT code.
    Supply Supply The claim item is a charge for a Surgical Supply, which potentially is associated with a HCPCS code.
    Product Product The claim item is a charge for a point-of-sale Product. Products have no code associated with them.
    Elective Elective Procedure The claim item is a charge for an non-insurance Elective Procedure performed on the patient. Elective Procedures consist of any number of services, supplies, and miscellaneous items; these contained items are not listed in the FHIR Claim because they are not ledger charges in Practice+. Elective Procedures have no code associated with them.
    Copay Copay Legacy: The claim item is a charge for an insurance copay. This is a deprecated claim type which exists only in legacy ledger charges in Practice+ entered before August 2019.
    Prepayment Prepayment Legacy: The claim item is a charge for a patient prepayment. This is a deprecated claim type which exists only in legacy ledger charges in Practice+ entered before August 2019.
    CPT CPT Code The claim item is a charge for a CPT procedure code. It does not have a practice service associated with it.
    HCPCS HCPCS Code The claim item is a charge for a HCPCS code. It does not have a supply associated with it.
    Unknown Unknown The claim item type is not known and cannot be determined. There is no code associated with this claim item.
    FreeText Free Text The claim item type is for a free-text code or name that is not associated with any other claim item type and does not match the CPT or HCPCS code format.

    Example

    {
      "resourceType": "Claim",
      "id": "123",
      "meta": {
        "lastUpdated": "2019-11-01T13:54:54.603-04:00"
      },
      "extension": [
        {
          "url": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
          "valueIdentifier": {
            "use": "usual",
            "value": "280036"
          }
        }
      ],
      "identifier": [
        {
          "use": "official",
          "value": "1"
        }
      ],
      "status": "active",
      "use": "complete",
      "patient": {
        "reference": "Patient/87239dda-f402-4fe8-94d0-5a572080d8e4",
        "display": "John Doe"
      },
      "billablePeriod": {
        "start": "2017-10-26T00:00:00-04:00"
      },
      "created": "2017-10-26T21:17:10.263-04:00",
      "facility": {
        "reference": "Location/5"
      },
      "careTeam": [
        {
          "sequence": 1,
          "provider": {
            "reference": "Practitioner/10"
          }
        }
      ],
      "diagnosis": [
        {
          "sequence": 1,
          "diagnosisCodeableConcept": {
            "coding": [
              {
                "system": "ICD-10",
                "code": "H35.00"
              }
            ]
          }
        },
        {
          "sequence": 2,
          "diagnosisCodeableConcept": {
            "coding": [
              {
                "system": "ICD-10",
                "code": "H35.012"
              }
            ]
          }
        },
        {
          "sequence": 3,
          "diagnosisCodeableConcept": {
            "coding": [
              {
                "system": "ICD-10",
                "code": "H35.019"
              }
            ]
          }
        }
      ],
      "item": [
        {
          "extension": [
            {
              "url": "https://api.pm.nextech.com/api/structuredefinition/item-status",
              "valueString": "active"
            },
            {
              "url": "https://api.pm.nextech.com/api/structuredefinition/claim-item-identifier",
              "valueIdentifier": {
                "use": "official",
                "value": "3"
              }
            }
          ],
          "careTeamLinkId": [
            1
          ],
          "diagnosisLinkId": [
            1,
            2,
            3
          ],
          "service": {
            "extension": [
              {
                "url": "https://api.pm.nextech.com/api/structuredefinition/claim-item-type",
                "valueString": "Service"
              }
            ],
            "coding": [
              {
                "system": "http://www.ama-assn.org/go/cpt",
                "code": "1035F",
                "display": "SMOKELESS TOBACCO USER"
              }
            ],
            "text": "SMOKELESS TOBACCO USER"
          },
          "servicedDateTime": "2017-10-25T00:00:00-04:00",
          "locationCodeableConcept": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/ValueSet/service-place",
                "code": "09"
              }
            ],
            "text": "Prison"
          },
          "quantity": {
            "value": 1
          },
          "unitPrice": {
            "value": 100
          },
          "net": {
            "value": 109.5
          }
        }
      ],
      "total": {
        "value": 109.5
      }
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Claim?{parameters}

    Parameters

    Name Located in Description Required
    _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
    identifier query or uri The unique value assigned to each Claim which discerns it from all others. No
    facility query The place of service for the Claim. No
    patient query The patient the Claim is tied to. No
    created query The date the Claim was created. No
    care-team query Member of the CareTeam. No
    claim-item-type query What kind of Practice+ ledger charge this claim item represents. For example, a Service or a Product.
    Value Set: Claim Item Type
    No

    Example: Get Claims with a particular place of service

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

     

    Example: Get a specific Claims attached to a patient

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

     

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

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

     

    Example: Get all Claims that have a supply

    GET https://api.pm.nextech.com/api/Claim?claim-item-type=Supply
    

     

    Example: Get a specific Claim based on identifier

    GET https://api.pm.nextech.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
    requestProvider The responsible practitioner. Reference(Practitioner)
    total The PaymentReconciliation amount total. Money
    processNote The PaymentReconciliation description. BackboneElement
    created The creation date. dateTime
    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
    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)
    detail List of individual settlement amounts and the corresponding transaction. Control
    detail.request The claim or financial resource. Reference(Claim)
    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
    detail.amount Amount paid for this detail. ( payments, adjustments, or refund amount applied to claim ) Money
    meta.lastUpdated The last time the payment, adjustment, or refund was modified instant

    Extensions

    Name Description Url Type
    extension: claim-item Reference to a claim item. https://api.pm.nextech.com/api/structuredefinition/claim-item Reference(Claim.item)
    extension: applied-amount The amount applied to a claim item from the PaymentReconciliation. https://api.pm.nextech.com/api/structuredefinition/applied-amount Money
    extension: payment-method The PaymentReconciliation method. https://api.pm.nextech.com/api/structuredefinition/payment-method string
    extension: payment-date The PaymentReconciliation date. https://api.pm.nextech.com/api/structuredefinition/payment-date dateTime
    extension: effective-date The PaymentReconciliation input date. https://api.pm.nextech.com/api/structuredefinition/effective-date dateTime
    extension: deposited-date The PaymentReconciliation deposit date. https://api.pm.nextech.com/api/structuredefinition/deposit-date dateTime
    extension: payment-category The PaymentReconciliation category. https://api.pm.nextech.com/api/structuredefinition/payment-category string
    extension: credit-cardtype The PaymentReconciliation credit card type. https://api.pm.nextech.com/api/structuredefinition/credit-cardtype string
    extension: check-number The PaymentReconciliation check number https://api.pm.nextech.com/api/structuredefinition/check-number string
    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)
    extension: correction-types One or more codes indicating whether the payment is voided, voiding, or a recreation.
    Conditional: Present if, and only if, the payment is part of a correction.
    Note: voiding and recreation may be used in conjunction with each other on the same payment if the payment recreated a voided payment and has itself been voided.
    Value Set: Correction Type
    https://api.pm.nextech.com/api/structuredefinition/correction-types CodeableConcept
    extension: voided-by Reference to the payment that voids this payment. References id.
    Condition: Present if, and only if, this payment's correction-types extension includes voided.
    https://api.pm.nextech.com/api/structuredefinition/voided-by ResourceReference
    extension: voids Reference to the payment that is voided by this payment. References id.
    Condition: Present if, and only if, this payment's correction-types extension includes voiding.
    https://api.pm.nextech.com/api/structuredefinition/voids ResourceReference
    extension: recreated-by Reference to the payment that recreates this payment. References id.
    Condition: Present if, and only if, the payment's correction-types extension includes voided or voiding, and there is a payment that recreates this payment.
    https://api.pm.nextech.com/api/structuredefinition/recreated-by ResourceReference
    extension: recreates Reference to the voided payment that is recreated by this payment. References id.
    Condition: Present if, and only if, the payment's correction-types extension includes recreation.
    https://api.pm.nextech.com/api/structuredefinition/recreates ResourceReference
    extension: recreates-voiding Reference to the voiding payment that voided the payment this payment recreates. References id.
    Condition: Present if, and only if, the payment's correction-types extension includes recreation.
    https://api.pm.nextech.com/api/structuredefinition/recreates-voiding ResourceReference
    extension: adjustment-types One or more codes indicating the type of adjustment the applied amount represents.
    Value Set: Adjustment Type
    https://api.pm.nextech.com/api/structuredefinition/adjustment-types CodeableConcept

    Correction Type Value Set

    Url http://api.pm.nextech.com/api/ValueSet/correction-type
    Contains All codes from system http://api.pm.nextech.com/api/CodeSystem/correction-type

    Correction Type Code System

    Url http://api.pm.nextech.com/api/CodeSystem/correction-type
    Code Display Description
    voided Voided Has been voided in the ledger. Optionally has an associated recreation payment.
    Note: A payment may combine both the recreation and voided codes if the associated payment has both recreated another payment and has itself been voided.
    voiding Voiding Voids another voided payment, i.e. is the negation of the other payment.
    recreation Recreation Recreates another voided payment in the ledger.
    Note: A payment may combine both the recreation and voided codes if the associated payment has both recreated another payment and has itself been voided.

    Adjustment Type Value Set

    Url http://api.pm.nextech.com/api/ValueSet/adjustment-type
    Contains All codes from system http://api.pm.nextech.com/api/CodeSystem/adjustment-type

    Adjustment Type Code System

    Url http://api.pm.nextech.com/api/CodeSystem/adjustment-type
    Code Display
    1 Payment
    2 Insurance Adjustment
    3 Manual Adjustment
    4 Return
    5 Interest
    6 Denial
    7 Incentive
    8 Collections
    9 Payment Write Off

    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": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
                    "valueIdentifier": {
                        "use": "usual",
                        "value": "1372"
                    }
                },
            {
                "url": "http://hl7.org/fhir/StructureDefinition/Location",
                "valueResourceReference": {
                    "reference": "Location/1",
                    "display": "NexTech Dermatology"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-date",
                "valueDateTime": "2018-12-12T05:00:00.000Z"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/effective-date",
                "valueDateTime": "2018-12-12T15:13:24.690Z"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-method",
                "valueString": "Check"
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/payment-category",
                "valueString": "CO- Patient Co-Pay"
            },
    		{
    			"url": "https://api.pm.nextech.com/api/structuredefinition/practice",
    			"valueReference": {
    				"reference": "Practice/1"
    			}
    		}
        ],
        "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"
            }
        ]
    }
    

    Example - Search Set Containing Payment Corrections

    {
        "resourceType": "Bundle",
        "type": "searchset",
        "total": 3,
        "entry": [
            {
                "resource": {
                    "resourceType": "PaymentReconciliation",
                    "id": "15116",
                    "meta": {
                        "lastUpdated": "2019-10-28T16:06:58.357-04:00"
                    },
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/effective-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-method",
                            "valueString": "Check"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Patient",
                            "valueReference": {
                                "reference": "Patient/996fa67f-ca06-42eb-8fa6-1a961304cee9",
                                "display": "Testino Testonly"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
                            "valueIdentifier": {
                                "use": "usual",
                                "value": "280318"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-category",
                            "valueString": "Surgery"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/check-number",
                            "valueString": "111445"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Location",
                            "valueReference": {
                                "reference": "Location/5",
                                "display": "Gulf Coast Eye Associates"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/practice",
                            "valueReference": {
                                "reference": "Practice/1"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/correction-types",
                            "valueCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://api.pm.nextech.com/api/CodeSystem/correction-type",
                                        "code": "voided"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/voided-by",
                            "valueReference": {
                                "reference": "PaymentReconciliation/25737"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recreated-by",
                            "valueReference": {
                                "reference": "PaymentReconciliation/25738"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "15116"
                        }
                    ],
                    "status": "cancelled",
                    "created": "2019-10-28T16:06:58.357-04:00",
                    "requestProvider": {
                        "reference": "Practitioner/10",
                        "display": "April Lewis"
                    },
                    "total": {
                        "value": 50.00
                    }
                }
            },
            {
                "resource": {
                    "resourceType": "PaymentReconciliation",
                    "id": "16346",
                    "meta": {
                        "lastUpdated": "2019-11-18T21:05:42.327-05:00"
                    },
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/effective-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-method",
                            "valueString": "Check"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Patient",
                            "valueReference": {
                                "reference": "Patient/996fa67f-ca06-42eb-8fa6-1a961304cee9",
                                "display": "Testino Testonly"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
                            "valueIdentifier": {
                                "use": "usual",
                                "value": "280318"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-category",
                            "valueString": "Surgery"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/check-number",
                            "valueString": "111445"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Location",
                            "valueReference": {
                                "reference": "Location/5",
                                "display": "Gulf Coast Eye Associates"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/practice",
                            "valueReference": {
                                "reference": "Practice/1"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/correction-types",
                            "valueCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://api.pm.nextech.com/api/CodeSystem/correction-type",
                                        "code": "voiding"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recreated-by",
                            "valueReference": {
                                "reference": "PaymentReconciliation/25738"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/voids",
                            "valueReference": {
                                "reference": "PaymentReconciliation/23267"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "16346"
                        }
                    ],
                    "status": "cancelled",
                    "created": "2019-11-18T21:05:42.327-05:00",
                    "requestProvider": {
                        "reference": "Practitioner/10",
                        "display": "April Lewis"
                    },
                    "total": {
                        "value": -50.00
                    }
                }
            },
            {
                "resource": {
                    "resourceType": "PaymentReconciliation",
                    "id": "16347",
                    "meta": {
                        "lastUpdated": "2019-11-18T21:05:42.333-05:00"
                    },
                    "extension": [
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/effective-date",
                            "valueDate": "2019-10-28"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-method",
                            "valueString": "Check"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Patient",
                            "valueReference": {
                                "reference": "Patient/996fa67f-ca06-42eb-8fa6-1a961304cee9",
                                "display": "Testino Testonly"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
                            "valueIdentifier": {
                                "use": "usual",
                                "value": "280318"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/payment-category",
                            "valueString": "Surgery"
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/check-number",
                            "valueString": "111445"
                        },
                        {
                            "url": "http://hl7.org/fhir/structuredefinition/Location",
                            "valueReference": {
                                "reference": "Location/5",
                                "display": "Gulf Coast Eye Associates"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/practice",
                            "valueReference": {
                                "reference": "Practice/1"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/correction-types",
                            "valueCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://api.pm.nextech.com/api/CodeSystem/correction-type",
                                        "code": "recreation"
                                    }
                                ]
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recreates",
                            "valueReference": {
                                "reference": "PaymentReconciliation/23267"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/recreates-voiding",
                            "valueReference": {
                                "reference": "PaymentReconciliation/25737"
                            }
                        },
                        {
                            "url": "https://api.pm.nextech.com/api/structuredefinition/voided-by",
                            "valueReference": {
                                "reference": "PaymentReconciliation/35724"
                            }
                        }
                    ],
                    "identifier": [
                        {
                            "use": "official",
                            "value": "16347"
                        }
                    ],
                    "status": "cancelled",
                    "created": "2019-11-18T21:05:42.333-05:00",
                    "requestProvider": {
                        "reference": "Practitioner/10",
                        "display": "April Lewis"
                    },
                    "total": {
                        "value": 150.00
                    }
                }
            }
        ]
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /PaymentReconciliation?{parameters}

    Parameters

    Name Located in Description Required
    _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
    identifier query or uri The unique value assigned to each PaymentReconciliation. No
    location.id query The location for the PaymentReconciliation. No
    patient query The patient the PaymentReconciliation is tied to. No
    created query The date the PaymentReconciliation was created. No
    status query The status of the PaymentReconciliation. This must be one of the following active, cancelled ( voided ), entered-in-error ( deleted ). No
    payment-date query The date of service for the PaymentReconciliation. No
    request-provider query The provider associated with the PaymentReconciliation. This is a practitioner reference. No
    claim-id query Find PaymentReconciliations that paid these claim Ids. No
    claim-item-type query What kind of Practice+ ledger charge this claim item represents. For example, a Service or a Product.
    Value Set: Claim Item Type
    No

    Example: Get PaymentReconciliations with a particular place of service

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

     

    Example: Get PaymentReconciliations with a status of active

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

     

    Example: Get a specific PaymentReconciliations attached to a patient

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

     

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

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

     

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

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

     

    Example: Get all PaymentReconciliations for a certain practitioner.

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

     

    Example: Get specific PaymentReconciliations based on claim Id.

    GET https://api.pm.nextech.com/api/PaymentReconciliation?claim-id=2
    

     

    Example: Get all PaymentReconciliations that are associated to a supply

    GET https://api.pm.nextech.com/api/PaymentReconciliation?claim-item-type=Supply
    

     

    Example: Get a specific PaymentReconciliation based on identifier

    GET https://api.pm.nextech.com/api/PaymentReconciliation/12
    

     

    Encounter

    Encounter

    Overview

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

    Fields

    Name Description Type
    identifier Unique identifier used to reference the Encounter. Identifier
    status The current state of the encounter. CodeableConcept
    subject The patient the Encounter is associated with. Reference
    location Place of service where the services were provided. Reference
    period The start and end date of the encounter in the form YYYY-MM-DD. period
    diagnosis.sequence Sequence of diagnosis. positiveInt
    diagnosis.diagnosis The diagnosis CodeableConcept
    item.careTeamLinkId CareTeam applicable for this service or product line. positiveInt
    item.diagnosisLinkId Diagnoses applicable for this service or product line. positiveInt
    item.service Code to indicate the Professional Service or Product supplied. CodeableConcept
    item.modifier Item typification or modifiers codes CodeableConcept
    item.serviced The date or dates when the enclosed suite of services were performed or completed. date
    item.location Place of service code. CodeableConcept
    item.item.quantity The number of repetitions of a service or product. SimpleQuantity
    item.unitPrice Fee for the product or service. Money
    item.net The quantity times the unit price for an additional service or product or charge. Money
    meta.lastUpdated The last time the encounter was modified instant

    Extensions

    Name Description Url Type
    patient-account-number The Patient's user-facing account number. This value is also available from the Patient resource. https://api.pm.nextech.com/api/structuredefinition/patient-account-number string
    diagnosis List of patient diagnosis for which care is sought. https://api.pm.nextech.com/api/structuredefinition/diagnosis Control
    item First tier of goods and services. This and some of the following fields use the term "claim", however they are not necessarily linked to an insurance claim. https://api.pm.nextech.com/api/structuredefinition/claim-item Control
    item.item-status Indicates current ledger entry status. This is not related to the encounter or the encounter status. https://api.pm.nextech.com/api/structuredefinition/item-status CodeableConcept
    item.claim-item-identifier Identifier for the item. https://api.pm.nextech.com/api/structuredefinition/claim-item-identifier Identifier
    item.service.claim-item-type What kind of Practice+ ledger charge this item represents. For example, a Service or a Product.
    Value Set: Claim Item Type
    https://api.pm.nextech.com/api/structuredefinition/claim-item-type string

    Example

    {
        "resource": {
            "resourceType": "Encounter",
            "id": "9",
            "meta": {
            "lastUpdated": "2017-11-06T14:03:34.16-05:00"
            },
            "extension": [
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/diagnosis",
                "valueDiagnosisComponent": {
                "sequence": 1,
                "diagnosisCodeableConcept": {
                    "coding": [
                    {
                        "system": "ICD-10",
                        "code": "E10.36"
                    }
                    ]
                }
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/patient-account-number",
                "valueIdentifier": {
                "use": "usual",
                "value": "280031"
                }
            },
            {
                "url": "https://api.pm.nextech.com/api/structuredefinition/claim-item",
                "valueItemComponent": {
                "extension": [
                    {
                    "url": "https://api.pm.nextech.com/api/structuredefinition/item-status",
                    "valueString": "active"
                    },
                    {
                    "url": "https://api.pm.nextech.com/api/structuredefinition/claim-item-identifier",
                    "valueIdentifier": {
                        "use": "official",
                        "value": "12"
                    }
                    }
                ],
                "careTeamLinkId": [
                    1
                ],
                "diagnosisLinkId": [
                    1
                ],
                "service": {
                    "extension": [
                    {
                        "url": "https://api.pm.nextech.com/api/structuredefinition/claim-item-type",
                        "valueString": "Service"
                    }
                    ],
                    "coding": [
                    {
                        "system": "http://www.ama-assn.org/go/cpt",
                        "code": "99245",
                        "display": "OFF/OP CONSLTJ NEW/EST HI 55"
                    }
                    ],
                    "text": "OFFICE CONSULTATION"
                },
                "servicedDateTime": "2017-11-01T00:00:00-04:00",
                "locationCodeableConcept": {
                    "coding": [
                    {
                        "system": "http://hl7.org/fhir/ValueSet/service-place",
                        "code": "11"
                    }
                    ],
                    "text": "Office"
                },
                "quantity": {
                    "value": 1
                },
                "unitPrice": {
                    "value": 685.47
                },
                "net": {
                    "value": 685.47
                }
                }
            }
            ],
            "identifier": [
            {
                "use": "official",
                "value": "9"
            }
            ],
            "status": "finished",
            "subject": {
            "reference": "Patient/a0252c56-4368-4509-96c7-8e8712021e0d",
            "display": "Brian Gennusa"
            },
            "period": {
            "start": "2017-11-01T00:00:00-04:00"
            },
            "location": [
            {
                "location": {
                "reference": "Location/3",
                "display": "GCEA - East"
                }
            }
            ]
        }
    }
    

     

    Search

    Searches for all based on the given search criteria.

    HTTP Request

    GET /Encounter?{parameters}

    Parameters

    Name Located in Description Required
    _lastUpdated query The date the encounter was last modified formatted as yyyy-MM-dd. We also support the format yyyy-MM-ddThh:mm:ss[Z|(+|-)hh:mm] . Note that the + character must be URL encoded. (i.e. %2B) No
    identifier query or uri The unique value assigned to each Encounter which discerns it from all others. No
    facility query The place of service for the Encounter. No
    patient query The patient the Encounter is tied to. No
    created query The date the Encounter was created. No
    care-team query Member of the CareTeam. No

    Example: Get Encounters with a particular place of service

    GET https://api.pm.nextech.com/api/Encounter?facility=1
    

     

    Example: Get a specific Encounters attached to a patient

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

     

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

    GET https://api.pm.nextech.com/api/Encounter?created=2018-06-01
    

     

    Example: Get a specific Encounter based on identifier

    GET https://api.pm.nextech.com/api/Encounter/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.