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.
- Matching is always case-insensitive and always ignores whitespace before and after the data.
- The default search attempts to match with just the start of the data.
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 |
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:
- Patient Identifier cannot be updated and will be ignored.
- Postal Code can be updated, but it cannot be cleared.
- Social Security Number can be changed, but it cannot be cleared.
- Patients Referred cannot be updated.
- Preferred Contact method can be updated but not cleared out.
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
- Advance Directives
- Automobile
- Confidential
- Correspondence
- Diagnostic Imaging
- EKG
- Electronic Medical Note
- Exam Documentation
- Face Sheet
- Financial
- Financial Policy
- Health Forms
- HIPAA
- History and Physical
- Hospital Records
- Identification
- Implants
- Instructions
- Insurance
- Laboratory Reports
- Medical Clearance
- Miscellaneous
- Non Surgical Consents
- Old Records
- Op Reports
- Orders
- Pathology
- Prescriptions
- Progress Notes
- Quotes
- Radiation
- Referrals
- Rehab Therapy
- Superbills
- Surgery/Anesthesia
- Surgical Consents
- Workers Compensation
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 |
---|---|
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
- Slots will not be returned for appointment resources without a provider configured. In addition, slots will not be returned if the linked provider is not listed in the Practitioner API resource.
- This endpoint is to be used during the act of scheduling an appointment.
- This call is used to find available appointment times for one patient appointment, based on the desired appointment type and provider.
- This endpoint should not be used to generically find all open times on the schedule for display purposes, or data syncing.
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 |
Appointment-Type ID Search
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 |
Appointment-Purpose ID Search
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
- Prior to 14.4 only non-deleted recalls are available.
- By default non-deleted recalls are returned unless specified
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 |
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:
- Going to Azure Active Directory by clicking here.
- Enter your expired credentials.
- Follow the prompts it gives you.
- 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.
- Inside the Nextech application go to the Contacts module, select the provider that is not showing up.
- Confirm that the practitioner is not marked Inactive on the checkbox on the right hand side.
- 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.