42
Document Edition – Version 1.0 (GeniusDoc_API_Documentation_V1.0) API Documentation GeniusDoc API Documentation This document and the information contained in it is GeniusDoc Inc., Proprietary Confidential, and shall not be used, or published, or disclosed, or disseminated outside of GeniusDoc Inc in whole or in part without GeniusDoc Inc consent. This document contains API Documentation. Reverse engineering of any or all of the information in this document is prohibited. This copyright notice does not imply publication of this document 11645 Wilshire Blvd# 701 Los Angeles, CA 90025 (310) 752-7772

Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

Do

cum

en

t E

dit

ion

– V

ers

ion

1.0

(G

en

iusD

oc_

AP

I_D

ocu

me

nta

tio

n_V

1.0

)

AP

I Do

cum

en

tati

on

Ge

niu

sDo

c –A

PI

Do

cum

en

tati

on

This document and the information contained in it is GeniusDoc Inc., Proprietary Confidential, and shall not be used, or published, or disclosed, or disseminated outside of GeniusDoc Inc in whole or in part without GeniusDoc Inc consent. This document contains API Documentation. Reverse engineering of any or all of the information in this document is prohibited. This copyright notice does not imply publication of this document 11645 Wilshire Blvd# 701

Los Angeles, CA 90025 (310) 752-7772

Page 2: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Table of Contents

TABLE OF CONTENTS

1 INTRODUCTION .............................................................................................................. 3

2 GENERAL INFORMATION................................................................................................. 3

2.1 API INFORMATION ............................................................................................................. 3 2.2 API ACCESS REQUESTS ....................................................................................................... 3 2.3 API SERVER & ACCESS CONTROL ............................................................................................ 4 2.4 CONNECTING TO THE API SERVER ........................................................................................... 4 2.5 CLIENT APPLICATION CONFIGURATION & AUTHENTICATION ............................................................... 4

3 API DETAILS ................................................................................................................... 5

3.1 FHIR RESOURCES ............................................................................................................. 5 3.2 PATIENT SELECTION .......................................................................................................... 7 3.3 QUERY FOR A SPECIFIC DATA CATEGORY .................................................................................... 7 3.4 QUERY FOR ALL DATA AS A CCDA DOCUMENT ............................................................................... 9 3.5 QUERY FOR A SEPCIFIC DATE OR DATE RANGE.............................................................................. 9 3.6 EXCEPTION HANDLING .......................................................................................................10 3.7 DATA AVAILABILITY TO API ..................................................................................................10

4 API SYNTAX & EXAMPLES ............................................................................................. 10

4.1 CLIENT AUTHENTICATION – OAUTH 2.0 ...................................................................................10 4.2 PATIENT .......................................................................................................................13 4.3 SMOKING STATUS ............................................................................................................15 4.4 PROBLEMS ....................................................................................................................16 4.5 MEDICATIONS ................................................................................................................18 4.6 ALLERGIES ....................................................................................................................19 4.7 LAB TESTS ....................................................................................................................21 4.8 LAB RESULTS .................................................................................................................23 4.9 VITAL SIGNS ..................................................................................................................25 4.10 PROCEDURES ..............................................................................................................27 4.11 CARE TEAM ................................................................................................................28 4.12 IMMUNIZATIONS ..........................................................................................................30 4.13 IMPLANT DEVICES .........................................................................................................32 4.14 CARE PLAN .................................................................................................................33 4.15 GOALS .....................................................................................................................34 4.16 HEALTH CONCERN .........................................................................................................35 4.17 DOCUMENTS ...............................................................................................................37

5 TERMS OF USE .............................................................................................................. 39

5.1 ACCEPTING THE TERMS ......................................................................................................39 5.2 ENTITY LEVEL ACCEPTANCE .................................................................................................39 5.3 CHANGES TO API TERMS OF USE ............................................................................................39 5.4 REGISTRATION ...............................................................................................................40 5.5 API PROHIBITIONS ...........................................................................................................40 5.6 API LIMITATIONS .............................................................................................................40 5.7 SECURITY AND PRIVACY .....................................................................................................40 5.8 CONFIDENTIALITY ............................................................................................................41 5.9 TERMINATION ................................................................................................................41 5.10 INDEMNIFICATION ........................................................................................................41 5.11 LIMITATION OF LIABILITY ................................................................................................41

Page 3: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

1 INTRODUCTION

This document is written for developers, who are developing applications for accessing patient

Protected Health Information (PHI) based on GeniusDoc API Documentation. This documentation allows

applications to query the GeniusDoc API enabled by a data holder (Healthcare Organization).

ALWAYS KEEP IN MIND THAT ONLINE DATA TRANSFER IS NOT A SUBSTITUTE FOR PERSON-TO-PERSON

COMMUNICATION OF URGENT OR CRITICAL MEDICAL INFORMATION.

This documentation also contains general information and important security information.

2 GENERAL INFORMATION

2.1 API INFORMATION

GeniusDoc API is a read-only RESTful API designed based on the Argonaut Data Query Implementation Guide (http://www.fhir.org/guides/argonaut/r2/) which conform to the FHIR DSTU2 specification, v1.0.2 (http://www.hl7.org/fhir/dstu2/index.html).

The APIs described in this document are designed to meet the 2015 Edition Final Rule requirements set forth by the Office of the National Coordinator (ONC), specifically:

170.315(g)(7) Application Access - Patient Selection

170.315(g)(8) Application Access - Data Category Request

170.315(g)(9) Application Access - All Data Request

2.2 API ACCESS REQUESTS

All data access requests to API will be in the following format, in which the [base] URL will need to be obtained from the Healthcare Organization.

GET [baseURL]/[resource-specific parameters]…

The resources returned in response to these API requests will at minimum contain the required Common Clinical Data Set elements.

Page 4: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

2.3 API SERVER & ACCESS CONTROL

Each health care organization will independently implement and maintain their own GeniusDoc API server, including API endpoints, application access control and identity management.

2.4 CONNECTING TO THE API SERVER

The API server is accessed by clients through an https connection.

IMPORTANT: Local customer security policies must be in place to prevent unauthorized monitoring or eavesdropping of connections to the server.

Note: Only SSL/TLS connections (TLS 1.0 or higher) are accepted. All plaintext connections will be refused.

Note: Please limit your connection frequency to a value appropriate for your use case. Connection attempts which are more frequent than permitted by the bandwidth allocation for the data resource are not allowed.

2.5 CLIENT APPLICATION CONFIGURATION & AUTHENTICATION

The client application developers must contact the Healthcare Organization to register as a client to work with the application.

This configuration involves setting up the appropriate OAuth 2.0 parameters such as:

Client Id Client Secret Redirect URI

Prior to making API requests, the client application must obtain an Access Token from the associated Authorization Server. The client software must support the OAuth 2.0 authorization code grant flow as detailed in RFC 6749.

Each healthcare organization will have a unique base URL to access its Authorization Server. The required endpoint URLs are as follows:

Endpoint URL

Authorization https://[baseOAuthURL]/authorize

Token https://[baseOAuthURL]/token

When the end user is directed to the authorization endpoint with basic authentication (Client Id & secret), the user will be presented with a login screen where they can enter their credentials for the healthcare organization they are accessing. If the correct credentials are supplied and the end user grants access to the client application, an authorization code will be returned to the client that the client application can use to obtain an access token through the token endpoint.

Page 5: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Client authentication can be performed using a username and strong password. A healthcare organization may reuse existing patient portal credentials for this purpose, in which case the authenticated username map to a unique patient portal user on the resource holder’s side. The end user should obtain these credentials directly from the healthcare organizations from which they wish to access data.

All requests to the API must include the access token transmitted in the Authorization header of the HTTP request as a bearer token as illustrated in RFC 6749. If the access token is missing, expired, or otherwise not valid for the requested operation, the API will return a 401 unauthorized response.

3 API DETAILS

3.1 FHIR RESOURCES

Client software must be capable of making HTTPS RESTful requests in accordance with the FHIR specification and consuming the following FHIR Resources in order to support the Common Clinical Data Set (CCDS):

CCDS Element Resource

Patient Name Patient

Sex Patient

Date of birth Patient

Race Patient

Ethnicity Patient

Preferred language Patient

Smoking status Observation

Problems Condition

Medications MedicationStatement, MedicationOrder

Medication allergies AllergyIntolerance

Laboratory test(s) DiagnosticReport

Laboratory value(s)/result(s) Observation

Vital signs Observation

Procedures Procedure

Care team member(s) CareTeam

Immunizations Immunization

Unique device identifier(s) for a patient’s implantable device(s) Device

Assessment and Plan of treatment CarePlan

Goals Goal

Health concerns Condition

General specifications for FHIR resources and the associated data elements can be found at http://www.fhir.org/guides/argonaut/r2/index.html.

Page 6: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Additional information for the FHIR Resource or Data Element used to represent each data category can be found at the URLs listed in the following table:

CCDS Element Resource URL for Additional Information

Patient Name Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Sex Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Date of Birth Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Race Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Ethnicity Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Preferred Language Patient http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-patient.html

Smoking Status Observation http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-smokingstatus.html

Problems Condition http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-condition.html

Medications MedicationStatement MedicationOrder

http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-medicationstatement.html http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-medicationorder.html

Medication Allergies AllergyIntolerance http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-allergyintolerance.html

Laboratory Tests DiagnosticReport http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-diagnosticreport.html

Laboratory Results Observation http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-observationresults.html

Vital Signs Observation http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-vitalsigns.html

Procedures Procedure http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-procedure.html

Care Team Members CarePlan http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-careteam.html

Immunizations Immunization http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-immunization.html

Unique Device Identifiers Device http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-device.html

Assessment and Plan CarePlan http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-careplan.html

Goals Goal http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-goal.html

Health Concerns Condition http://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-condition.html

Page 7: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

3.2 PATIENT SELECTION

To search for patients, the application should request a bundle of Patient resources matching suitable search criteria. To facilitate this, the following optional search parameters can be applied to the Patient resource:

Search by Resource Request

Name & Birthdate Patient https://[baseURL]/Patient?name=[string]&birthdate=[date]

Name & Gender Patient https://[baseURL]/Patient?name=[string]&gender=[string]

Family & Gender Patient https://[baseURL]/Patient?family=[string]&gender=[string]

Given & Gender Patient https://[baseURL]/Patient?given=[string]&gender=[string]

Identifier Patient https://[baseURL]/Patient/identifier=[system]|[code]

For a male patient “DOE, JOHN” with DOB 08/23/1982, the requests are formatted as below.

Search by Resource Example

Name & Birthdate Patient https://[baseURL]/Patient?name=Doe,John&birthdate=1982-08-23

Name & Gender Patient https://[baseURL]/Patient?name=Doe,John&gender=male

Family & Gender Patient https://[baseURL]/Patient?family=Doe&gender=male

Given & Gender Patient https://[baseURL]/Patient?given=John&gender=male

Identifier Patient http://[baseURL]/Patient?identifier=http://hl7.org/fhir/sid/us-ssn|1223334444

The API will return a bundle of all patients (possibly zero) matching the search criteria. Only patients for which the user has been authorized access will be included in the results. Each patient returned in the search results is assigned a unique patient ID that can be found in the Patient.id element of the corresponding Patient resource. This patient ID can be included in subsequent requests to retrieve additional resources for that specific patient.

3.3 QUERY FOR A SPECIFIC DATA CATEGORY

The Patient resource can be retrieved by specifying a patient ID or by performing a search as discussed in section 3.2. For example, the patient resource by patient ID 1001 can be retrieved as indicated below.

CCDS Elements Resource Request

Patient Name, Sex, Date of birth, Race, Ethnicity & Preferred Language

Patient https://[baseURL]/Patient/1001

Page 8: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

The remaining resource types listed in Section 3.1 can be accessed for a specific patient as a Bundle of resources by performing a search by resource type and specifying the patient ID in the request. For example, to retrieve a bundle of resources for a Patient 1001, the request for each category are formatted as below.

CCDS Element Resource Request

Medications MedicationStatement https://[baseURL]/MedicationStatement?patient=1001

Medications MedicationOrder https://[baseURL]/MedicationOrder?patient=1001

Medication Allergies AllergyIntolerance https://[baseURL]/AllergyIntolerance?patient=1001

Procedures Procedure https://[baseURL]/Procedure?patient=1001

Immunizations Immunization https://[baseURL]/Immunization?patient=1001

Unique Device Identifiers Device https://[baseURL]/Device?patient=1001

Goals Goal https://[baseURL]/Goal?patient=1001

The following search terms should be used to isolate results for a single CCDS category in cases where two or more CCDS categories are represented by a single Resource type:

CCDS Element Resource Search Term

Health Concern Condition category=health-concern

Ex: https://[baseURL]/Condition?patient=1001&category=health-concern

Problem Condition category=problem

Ex: https://[baseURL]/Condition?patient=1001&category= problem

Smoking Status Observation code=72166-2

Ex: https://[baseURL]/Observation?patient=1001&code=72166-2

Vital Signs Observation category=vital-signs

Ex: https://[baseURL]/Observation?patient=1001&category=vital-signs

Laboratory Tests DiagnosticReport category=LAB

Ex: https://[baseURL]/DiagnosticReport?patient=1001&category=LAB

Laboratory Results Observation category=laboratory

Ex: https://[baseURL]/Observation?patient=1001&category=laboratory

Care Team Members CarePlan category=careteam

Ex: https://[baseURL]/CarePlan?patient=1001&category=careteam

Assessment and Plan CarePlan category=assess-plan

Ex: https://[baseURL]/CarePlan?patient=1001&category=assess-plan

Each search request will return a bundle of zero or more results meeting the search criteria.

Page 9: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

3.4 QUERY FOR ALL DATA AS A CCDA DOCUMENT

CCDA documents can be accessed using DocumentReference resource. CCDAs are categorized as “Summary of Episode” Notes with LOINC code 34133-9. For example, to request a CCDA document covering all dates for patient 1001, the query could be formatted as:

Resource Request

DocumentReference https://[baseURL]/DocumentReference?patient=1001&type=http://loinc.org|34133-9

The API response will consist of a Bundle of DocumentReference resources. The CCDA Document itself can be retrieved using the link provided in documentReference.content.attachment.url element of the returned DocumentReference resource.

The link is an API endpoint URL. Navigating to the link will download the CCDA attachment.

3.5 QUERY FOR A SEPCIFIC DATE OR DATE RANGE

Specifying a date or date range in the request is optional. Some of the data categories and CCDA documents returned by the API may be limited by date by specifying either (1) a specific date or (2) start and/or end dates. These dates can be included as search parameters as defined in the following table.

CCDS Element Resource Resource Data Element Search Parameter

Vital Signs Observation Observation.effectiveDateTime date

Ex: https://[baseURL]/Observation?patient=1001&category=vital-signs&date=2018-01-01

Procedures Procedure Procedure.performedDateTime date

Ex: https://[baseURL]/Procedure?patient=1001&date=2018-01-01

Goals Goal Goal.startDate date

Ex: https://[baseURL]/Goal?patient=1001&date=2018-01-01

Lab Tests DiagnosticReport DiagnosticReport.effectiveDateTime date

Ex: https://[baseURL]/DiagnosticReport?patient=1001&category=LAB&date=2018-01-01

Lab Results Observation Observation.effectiveDateTime date

Ex: https://[baseURL]/Observation?patient=1001&category=laboratory&date=2018-01-01

Documents DocumentReference DocumentReference.context.period period

Ex: https://[baseURL]/DocumentReference?patient=1001&type=http://loinc.org|34133-9&period=ge2018-01-01&period=le2018-01-31

eq (Equals)

ne (Not Equals)

ge (Greater than or Equals)

gt (Greater than)

le (Lesser than or Equals)

lt (Lesser than)

Page 10: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

3.6 EXCEPTION HANDLING

Exception Code Exception Description

401 Authorization has been denied for this request

403 Forbidden

404 Not found

500 Internal Server Error

3.7 DATA AVAILABILITY TO API

The API will return all properly formatted data provided by a connected data source system in response to a submitted query. Healthcare organizations may have their own policies and/or safety best practices that will dictate when the data is considered complete and/or ready to be sent. Please contact a healthcare organization directly for questions related to their specific policies.

4 API SYNTAX & EXAMPLES

4.1 CLIENT AUTHENTICATION – OAUTH 2.0

Authorization Code Request

Name Details

Request Method: HTTP GET

URL Syntax https://[baseOAuthURL]/Authorize?response_type=code&client_id={ClientID}&redirect_uri={Redirect URI}&state={Opaque value}

Parameters

Parameter Data Type Required Details

response_type string Yes “code”

client_id string Yes The Client Identifier assigned to the App

redirect_uri string Yes Must match the App pre-registered redirect URI

state string Yes An opaque value used by the App to maintain state between the request and callback

Example URL https://[baseOAuthURL]/Authorize?response_type=code&client_id=POS47760&redirect_uri=https://[RedirectURL]&state=abcdef123456

Page 11: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Response Redirect

https://[RedirectURL]?code=42bcf01410e84851830bc42f29cda449c20e40ececfd47a0a47016ea616caa8e&state=abcdef123456

Parameter Value

code The authorization code generated by the authorization server to be used for retrieving Token. The authorization code will expire shortly after it is issued to mitigate the risk of leaks

state The exact value received from the App.

End User Authentication

When the end user is directed to the authorization endpoint as indicated in section 4.1.1, the user will be presented with a login screen where they can enter their credentials for the healthcare organization they are accessing. If the correct credentials are supplied, an authorization code will be returned to the client that the client App can use to obtain an access token through the token endpoint.

Page 12: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Token Request

Name Details

Request Method: HTTP Post Content-type: application/x-www-form-urlencoded

URL Syntax

URL: https://[baseOAuthURL]/token Body: grant_type=authorization_code&client_id={Client ID}&client_secret={Client secret}&code={Authorization code}&redirect_uri={Redirect URL}

Parameters

Parameter Data Type Required Details

grant_type string Yes “authorization_code”

client_id string Yes Client ID assigned to the App

client_secret string Yes Client Secret assigned to the App

code string Yes Authorization Code that the App received from the authorization server

redirect_uri string Yes Redirect URL of the App

state string Yes An opaque value used by the client to maintain state between the request and callback

Example URL

URL: https://[baseOAuthURL]/token Body: grant_type=authorization_code&client_id= POS47760&client_secret=123456&code42bcf01410e84851830bc42f29cda449c20e40ececfd47a0a47016ea616caa8e&redirect_uri= https://[RedirectURL]

Response Data Data Field Value

access_token The access token issued by the authorization server

token_type “Bearer”

expires_in Lifetime in seconds of the access token, after which the token SHALL NOT be accepted by the resource server

refresh_token Token that can be used to obtain a new access token, using the same or a subset of the original authorization grants

Json Response {

"access_token": "Q-J1QMLTo9efdQgryxJN9ZipK-WZEw95XVqBRGMnTrjeSkwiKD6kvAK3uxGeqxssoraadHPwwAlmXHqDKkNCCHB-FJycEpBlSKO8IUNNt71wzbKKurPYGMzzsczGTNSyQ7t7rDqDNTQJC89JXxwi4MAD5TMw7RsfgGo1A-rYpyQFetMTLjY1-xWyTrFO0MhbPc0y_VVj69HPStgczyh58EJqP8G5MYAv77Uvb0wCC3BCl9-hdM5W2OeE4psPD5XSHMN8X4ABaI-TIeZbfbCU9W3NeD4nrr-Qtzk0cMIrlZt9-obezKVR2vV29gaQrL8k-mXcrA", "token_type": "bearer", "expires_in": 7199, "refresh_token": "UHq7EWqGUqn1EeuIeHdQLZogoj-WpwTEyV3dW6zOH_eOmZV1D4f0MVMYC-FNrkLuLmPGtMQM8FiO6Emuct9HcPkblUZk4TYg4w7TSfNZDLGIG8RWf9ag3D1hvcBSBoP6MXfhdnS1CJ32csgxaQv01OcCPPE-Ee55eB2pL9CAnZ9fxrgfDTSPJ8RV8cVwwtqVl1xV5KeasFd7mA2rWHjnkK2W8MZsYMu87-leFCgUZtMwQXGYP4OGu2jeK-rcFwQeV3vF92PLruTn1DSrQ1Omn6mle2J_db5vkE_ylnWYI39jVv86zO4WY7EDXfjJptOu4tfQeA" }

Page 13: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

4.2 PATIENT

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Patient/{id}

Parameters Parameter Data Type Required Details

id string Yes Patient Identifier

Example URL https://[baseURL]/Patient/NEWMAL0001

Response Data Data Field Data Type Details

identifier object

value string Patient Identifier

name object

family string Patient First Name

given string Patient Last Name

gender string Patient Gender

birthdate string Patient Date of Birth

communication.language object

coding.display string Patient Language

extension array

extension object

valueCoding.system string http://hl7.org/fhir/v3/Race

valueCoding.display string Patient Race

extension object

valueCoding.system string http://hl7.org/fhir/v3/Ethnicity

valueCoding.display string Patient Ethnicity

valueCode string Patient Birth Sex

Json Response { "resourceType": "Patient", "id": "NEWMAL0001", "text": { "div": "narrative text", "status": "generated" }, "identifier": [ { "use": "usual", "type": { "coding": [ { "system": "http://hl7.org/fhir/v2/0203", "code": "MR", "display": "Medical Record Number" } ], "text": "Medical Record Number" }, "system": "urn:oid:2.16.840.1.113883.3.5384", "value": "NEWMAL0001" }

Page 14: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

], "active": true, "name": [ { "use": "official", "family": "Newman", "given": [ "Alice" ] } ], "gender": "Female", "birthDate": "1970-05-01", "communication": [ { "language": { "coding": [ { "system": "urn:ietf:bcp:47", "code": "en", "display": "English" } ], "text": "English" }, "preferred": "true" } ], "extension": [ { "extension": [ { "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Race", "code": "2106-3", "display": "White" } }, { "url": "detailed", "valueCoding": { "system": "http://hl7.org/fhir/v3/Race", "code": "2108-9", "display": "European" } }, { "url": "text", "valueString": "Mixed" } ], "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-race" }, { "extension": [ { "url": "ombCategory",

Page 15: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"valueCoding": { "system": "http://hl7.org/fhir/v3/Ethnicity", "code": "2186-5", "display": "Not Hispanic Or Latino" } }, { "url": "text", "valueString": "Not Hispanic" } ], "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-ethnicity" }, { "url": "http://fhir.org/guides/argonaut/StructureDefinition/argo-birthsex", "valueCode": "F" } ] }

4.3 SMOKING STATUS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Observation?patient={id}&code=72166-2

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

code string Yes “72166-2” (Snomed code for Smoking Status)

Example URL https://[baseURL]/Observation?patient=NEWMAL0001&code=72166-2

Response Data Data Field Data Type Details

status string final

code object

coding.system string http://loinc.org

coding.code string “72166-2”

subject.display string Patient Name

issued string Observation date

valueCodeableConcept object

coding.system string http://snomed.info/sct

coding.code string Snomed Code

coding.display string Smoking Status

Json Response { "id": "SMOKINGSTATUS", "resourceType": "Observation",

Page 16: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"text": { "div": "narrative text", "status": "generated" }, "status": "final", "category": { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "social-history", "display": "Social History" } ], "text": "Social History" }, "code": { "text": "Tobacco smoking status", "coding": [ { "system": "http://loinc.org", "code": "72166-2", "display": "Tobacco smoking status" } ] }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "issued": "2018-09-22T01:09:34.0000000+05:30", "valueCodeableConcept": { "coding": [ { "system": "http://snomed.info/sct", "code": "449868002", "display": "Current every day smoker" } ], "text": "Current every day smoker" } }

4.4 PROBLEMS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/condition?patient={id}&category=problem

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “problem”

Page 17: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Example URL https://[baseURL]/condition?patient=NEWMAL0001&category=problem

Response Data Data Field Data Type Details

patient.display string Patient Name

code object

coding.system string http://snomed.info/sct

coding.code string Snomed code

coding.display string Problem name

category.coding.code string “problem”

clinicalStatus string Status of the problem

verificationStatus string “confirmed”

onsetDateTime string Problem Onset Date

Json Response { "resourceType": "Bundle", "id": "PRBMBNDL", "meta": { "lastUpdated": "2018-10-01T17:52:31.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Condition?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Condition", "id": "DX9", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-condition" ] }, "text": { "div": "narrative text", "status": "generated" }, "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "code": { "text": "Essential Hypertension", "coding": [ { "system": "http://snomed.info/sct", "code": "59621000", "display": "Essential Hypertension" } ] }, "category": { "coding": [

Page 18: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

{ "system": "http://argonaut.hl7.org", "code": "problem", "display": "Problem" } ], "text": "Problem" }, "clinicalStatus": "active", "verificationStatus": "confirmed", "onsetDateTime": "2011-10-05" }, "search": { "mode": "match" } } ] }

4.5 MEDICATIONS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/MedicationStatement?patient={id}

Parameters Parameter Data Type Required Details

patient string Yes Patient Identifier

Example URL https://[baseURL]/MedicationStatement?patient=NEWMAL0001

Response Data Data Field Data Type Details

patient.display string Patient Name

dateAsserted string Medication Documented Date

status string Medication Status

effectivePeriod.start string Medication Start Date

medicationCodeableConcept object

coding.system string http://www.nlm.nih.gov/research/umls/rxnorm

coding.code string RxNorm code

coding.display string Medication

Json Response { "resourceType": "Bundle", "id": "MSBNDL", "meta": { "lastUpdated": "2018-10-01T18:11:09.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ {

Page 19: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"relation": "Self", "url": "https://[baseURL]/MedicationStatement?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "MedicationStatement", "id": "MS", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationstatement" ] }, "text": { "div": "narrative text", "status": "generated" }, "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "dateAsserted": "2018-09-21T23:42:06.0000000+05:30", "status": "active", "effectivePeriod": { "start": "2015-06-22" }, "medicationCodeableConcept": { "text": "cefTRIAXone 10 g injection", "coding": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", "code": "309090", "display": "cefTRIAXone 10 g injection" } ] } }, "search": { "mode": "match" } } ] }

4.6 ALLERGIES

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/AllergyIntolerance?patient={id}

Page 20: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Parameters Parameter Data Type Required Details

patient string Yes Patient Identifier

Example URL https://[baseURL]/AllergyIntolerance?patient=NEWMAL0001

Response Data Data Field Data Type Details

patient.display string Patient Name

substance object

coding.system string http://www.nlm.nih.gov/research/umls/rxnorm

coding.code string RxNorm code

coding.display string Medication

status string Allergy Status

reaction.manifestation object

coding.system string http://snomed.info/sct

coding.code string Snomed code

coding.display string Reaction

Json Response { "resourceType": "Bundle", "id": "ALGBNDL", "meta": { "lastUpdated": "2018-10-01T18:53:32.0000000+05:30" }, "type": "searchset", "total": 2, "link": [ { "relation": "Self", "url": "https://[baseURL]/AllergyIntolerance?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "AllergyIntolerance", "id": "AI", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-allergyintolerance" ] }, "text": { "div": "narrative text", "status": "generated" }, "onset": "1980-05-10", "recordedDate": "2018-09-21", "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "substance": { "text": "Penicillin G", "coding": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm",

Page 21: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"code": "7980", "display": "Penicillin G" } ] }, "status": "active", "criticality": "CRITU", "category": "other", "reaction": [ { "manifestation": { "text": "Hives", "coding": [ { "system": "http://snomed.info/sct", "code": "247472004", "display": "Hives" } ] }, "severity": "moderate" } ] }, "search": { "mode": "match" } } ] }

4.7 LAB TESTS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/DiagnosticReport?patient={id}&category=LAB

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “LAB”

date String Optional Lab Test date “YYYY-MM-DD”

Example URL https://[baseURL]/DiagnosticReport?patient=NEWMAL0001&category=LAB

Response Data Data Field Data Type Details

status string Test Status

category object

coding.system string http://hl7.org/fhir/ValueSet/diagnostic-service-sections

coding.code string LAB

coding.display string Laboratory

Page 22: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

code object

coding.system string http://loinc.org

coding.code string LOINC Code

coding.display string Test Name

subject.display string Patient Name

effectiveDateTime string Collection Date

issued string Reported Date

performer.display string Performer

result.reference string An URL to Lab Result value

Json Response { "resourceType": "Bundle", "id": "DIAGRPTBNDL", "meta": { "lastUpdated": "2018-10-01T19:19:19.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/DiagnosticReport?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "id": "Urine Analysis", "effectiveDateTime": "2015-06-22", "resourceType": "DiagnosticReport", "text": { "div": "", "status": "generated" }, "status": "final", "category": { "coding": [ { "system": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections", "code": "LAB", "display": "Laboratory" } ] }, "code": { "text": "Urine Analysis", "coding": [ { "system": "http://loinc.org", "code": "24357-6", "display": "Urine Analysis" } ] }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman"

Page 23: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

}, "issued": "2015-06-22", "performer": { "reference": "Organization/1", "display": "ABC Physicians" }, "result": [ { "reference": "https://[baseURL]/Observation/37", "display": "PH" }, { "reference": "https://[baseURL]/Observation/39", "display": "SP.Gr" }, { "reference": "https://[baseURL]/Observation/38", "display": "Protein" }, { "reference": "https://[baseURL]/Observation/40", "display": "Urine Glucose" }, { "reference": "https://[baseURL]/Observation/36", "display": "Ketone" }, { "reference": "https://[baseURL]/Observation/34", "display": "Color of Urine" }, { "reference": "https://[baseURL]/Observation/35", "display": "Appearance of Urine" } ] }, "search": { "mode": "match" } } ] }

4.8 LAB RESULTS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/observation?patient={id}&category=laboratory

Page 24: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “laboratory”

date String Optional Lab Result date “YYYY-MM-DD”

Example URL https://[baseURL]/observation?patient=NEWMAL0001&category=laboratory

Response Data Data Field Data Type Details

status string Result Status

category object

coding.system string http://hl7.org/fhir/observation-category

coding.code string laboratory

coding.display string Laboratory

code object

coding.system string http://loinc.org

coding.code string LOINC Code

coding.display string Result Name

subject.display string Patient Name

valueQuantity object

value decimal Result value

unit string Unit of Measure

valueString string Result value for non-numeric values

effectiveDateTime string Result Date

refernceRange.text string Reference Range

Json Response { "resourceType": "Bundle", "id": "RESULTSBNDL", "meta": { "lastUpdated": "2018-10-01T19:36:27.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Observation?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "id": "40", "effectiveDateTime": "2015-06-22", "resourceType": "Observation", "text": { "div": "narrative text", "status": "" }, "status": "final", "category": { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "laboratory",

Page 25: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"display": "Laboratory" } ], "text": "Laboratory" }, "code": { "text": "Urine Glucose", "coding": [ { "system": "http://loinc.org", "code": "5792-7", "display": "Urine Glucose" } ] }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "valueQuantity": { "value": 50, "unit": "mg/dL", "system": "http://unitsofmeasure.org", "code": "mg/dL" }, "referenceRange": [ { "text": "0 - 0" } ] }, "search": { "mode": "match" } } ] }

4.9 VITAL SIGNS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/observation?patient={id}&category=vital-signs

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “vital-signs”

date string Optional Vitals Date

code string Optional LOINC Code of Vital Sign

Example URL https://[baseURL]/observation?patient=NEWMAL0001&category=vital-signs

Page 26: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Response Data Data Field Data Type Details

status string final

category object

coding.system string http://hl7.org/fhir/observation-category

coding.code string vital-signs

code object

coding.system string http://loinc.org

coding.code string LOINC Code for the Vital Sign

subject.display string Patient Name

effectiveDateTime string Vitals Date

valueQuantity object

value decimal Value

unit string Unit of Measure

Json Response { "resourceType": "Bundle", "id": "VITALSBNDL", "meta": { "lastUpdated": "2018-10-01T21:46:40.0000000+05:30" }, "type": "searchset", "total": 10, "link": [ { "relation": "Self", "url": "https://[baseURL]/Observation?Patient=NEWMAL0001" } ], "entry": [ { "fullUrl": "", "resource": { "id": "Body height", "effectiveDateTime": "2015-06-22T00:00:00.0000000+05:30", "resourceType": "Observation", "text": { "div": "narrative text", "status": "generated" }, "status": "final", "category": { "coding": [ { "system": "http://hl7.org/fhir/observation-category", "code": "vital-signs", "display": "Vital Signs" } ], "text": "Vital Signs" }, "code": { "text": "Body height", "coding": [ { "system": "http://loinc.org", "code": "8302-2",

Page 27: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"display": "Body height" } ] }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "valueQuantity": { "value": 70, "unit": "cm", "system": "http://unitsofmeasure.org/", "code": "cm" } }, "search": { "mode": "match" } } ] }

4.10 PROCEDURES

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Procedure?patient={id}

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

date string Optional Procedure Date

Example URL https://[baseURL]/Procedure?patient=NEWMAL0001

Response Data Data Field Data Type Details

patient.display string Patient Name

status string Procedure Status

code object

coding.system string http://snomed.info/sct

coding.code string Snomed Code

coding.display string Procedure

performedDateTime string Performed Date

Json Response { "resourceType": "Bundle", "id": "PROCBNDL", "meta": { "lastUpdated": "2018-10-01T22:18:46.0000000+05:30" }, "type": "searchset", "total": 1,

Page 28: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"link": [ { "relation": "Self", "url": "https://[baseURL]/Procedure?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Procedure", "id": "PROC", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-procedure" ] }, "text": { "div": "narrative text", "status": "generated" }, "status": "completed", "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "175135009", "display": "Introduction of cardiac pacemaker system via vein" } ] }, "performedDateTime": "2011-10-05" }, "search": { "mode": "match" } } ] }

4.11 CARE TEAM

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/CarePlan?patient={id}&category=careteam

Page 29: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “careteam”

Example URL https://[baseURL]/CarePlan?patient=NEWMAL0001&category=careteam

Response Data Data Field Data Type Details

subject.display string Patient Name

status string active

category object

coding.system string http://argonaut.hl7.org

coding.code string “careteam”

participant.role object

coding.system string http://www.nucc.org

coding.code string Taxonomy Code

participant.member object

display string Participant Name

Json Response { "resourceType": "Bundle", "id": "CTBNDL", "meta": { "lastUpdated": "2018-10-01T23:32:51.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/CarePlan?Patient=NEWMAL0001&category=careteam&status=active" } ], "entry": [ { "resource": { "resourceType": "CarePlan", "id": "CPLN", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-careteam" ] }, "text": { "div": "narrative text", "status": "generated" }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "status": "active", "category": { "coding": [ { "system": "http://argonaut.hl7.org", "code": "careteam"

Page 30: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

} ] }, "participant": [ { "role": { "coding": { "system": "http://www.nucc.org", "code": "207RH0003X", "display": "Hemotology/Onocology" } }, "member": { "reference": "https://[baseURL]/Practitioner/A573", "display": "Albert Davis, MD" } } ] }, "search": { "mode": "match" } } ] }

4.12 IMMUNIZATIONS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Immunization?patient={id}

Parameters Parameter Data Type Required Details

patient string Yes Patient Identifier

Example URL https://[baseURL]/Immunization?patient=NEWMAL0001

Response Data Data Field Data Type Details

status string Immunization Status

date string Immunization Date

vaccineCode object

coding.system string http://hl7.org/fhir/sid/cvx

coding.code string CVX Code

coding.display string Vaccine Name

patient.display string Patient Name

wasNotGiven string Immunization given – true or false

reported string Reported – true or false

Page 31: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Json Response { "resourceType": "Bundle", "id": "IMZBNDL", "meta": { "lastUpdated": "2018-10-01T23:43:43.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Immunization?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Immunization", "id": "IMM", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-immunization" ] }, "text": { "div": "narrative text", "status": "generated" }, "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "vaccineCode": { "coding": [ { "system": "http://hl7.org/fhir/sid/cvx", "code": "88", "display": "influenza, unspecified formulation" } ] }, "status": "completed", "date": "2014-05-10", "wasNotGiven": false, "reported": false }, "search": { "mode": "match" } } ] }

Page 32: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

4.13 IMPLANT DEVICES

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Device?patient={id}

Parameters Parameter Data Type Required Details

patient string Yes Patient Identifier

Example URL https://[baseURL]/Device?patient=NEWMAL0001

Response Data Data Field Data Type Details

type object

coding.system string http://snomed.info/sct

coding.code string Snomed code

coding.display string Implant Name

udi string Device Identifier

patient.display string Patient Name

Json Response { "resourceType": "Bundle", "id": "DVCBNDL", "meta": { "lastUpdated": "2018-10-01T23:53:49.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Device?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Device", "id": "DVC", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-device" ] }, "text": { "div": "narrative text", "status": "generated" }, "status": "not-available", "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "type": { "coding": [

Page 33: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

{ "system": "http://snomed.info/sct", "code": "704707009", "display": "Cardiac resynchronization therapy implantable defibrillator" } ] }, "udi": "(01)00643169007222(17)160128(21)BLC200461H" }, "search": { "mode": "match" } } ] }

4.14 CARE PLAN

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/CarePlan?patient={id}&category=assess-plan

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “assess-plan”

Example URL https://[baseURL]/CarePlan?patient=NEWMAL0001&category=assess-plan

Response Data Data Field Data Type Details

text object

div string Assessment & Plan Narrative

status string generated

subject.display string Patient Name

category object

coding.system string http://argonaut.hl7.org

coding.code string assess-plan

Json Response { "resourceType": "Bundle", "id": "CTBNDL", "meta": { "lastUpdated": "2018-10-01T00:02:42.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/CarePlan?Patient=NEWMAL0001&category=assess-plan" } ],

Page 34: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

"entry": [ { "resource": { "resourceType": "CarePlan", "id": "CPLN", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-careplan" ] }, "text": { "div": "Assessment and Care plan narrative text", "status": "generated" }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "status": "active", "category": { "coding": [ { "system": "http://argonaut.hl7.org", "code": "assess-plan" } ] } }, "search": { "mode": "match" } } ] }

4.15 GOALS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/Goal?patient=NEWMAL0001

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “problem”

Example URL https://[baseURL]/Goal?patient=NEWMAL0001

Response Data Data Field Data Type Details

subject.display string Patient Name

description string Goal Description

status string Goal Status

Page 35: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Json Response { "resourceType": "Bundle", "id": "GOALBNDL", "meta": { "lastUpdated": "2018-10-01T00:22:45.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Goal?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Goal", "id": "GOAL", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-goal" ] }, "text": { "div": "narrative text", "status": "generated" }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "startDate": "2015-06-22", "description": "a. Get rid of intermittent fever that is occurring every few weeks.\r\nb. Need to gain more energy to ", "status": "In Progress" }, "search": { "mode": "match" } } ] }

4.16 HEALTH CONCERN

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/condition?patient=NEWMAL0001&category=health-concern

Page 36: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

category string Yes “health-concern”

Example URL https://[baseURL]/condition?patient=NEWMAL0001&category=health-concern

Response Data Data Field Data Type Details

patient.display string Patient Name

code.text string Health Concern of the patient

category.coding.code string “health-concern”

clinicalStatus string Status of the Health Concern

verificationStatus string “confirmed”

onsetDateTime string Health Concern Onset Date

Json Response { "resourceType": "Bundle", "id": "RESULTSBNDL", "meta": { "lastUpdated": "2018-10-01T00:35:51.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/Condition?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "resourceType": "Condition", "id": "HC2", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-condition" ] }, "text": { "div": "narrative text", "status": "generated" }, "patient": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "code": { "text": "a. Chronic Sickness exhibited by patient\r\nb. HealthCare Concerns refer to underlying clinical facts\r\ni. Documented HyperTension problem\r\nii. Documented HypoThyroidism problem\r\niii. Watch Weight of patient" }, "category": { "coding": [ { "system": "http://argonaut.hl7.org", "code": "health-concern", "display": "Health Concern"

Page 37: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

} ], "text": "Health Concern" }, "clinicalStatus": "active", "verificationStatus": "confirmed", "onsetDateTime": "2015-06-22" }, "search": { "mode": "match" } } ] }

4.17 DOCUMENTS

Name Details

Request Method: HTTP GET Header: Authorization: Bearer [token]

URL Syntax https://[baseURL]/DocumentReference?patient=NEWMAL0001

Parameters

Parameter Data Type Required Details

patient string Yes Patient Identifier

period string Yes Date Range

Example URL https://[baseURL]/DocumentReference?patient=NEWMAL0001

Response Data Data Field Data Type Details

subject.display string Patient Name

type object

coding.system string http://loinc.org

coding.code string 34133-9

coding.display string Summary of episode note

indexed string Document Indexed Date

status string current

content object

attachment.contenttype string application/xml

attachment.url string URL of CCDA document

format.system string urn:oid:1.3.6.1.4.1.19376.1.2.3

format.code string urn:hl7-org:sdwg:ccda-structuredBody:2.1

format.display string “Documents following C-CDA constraints using a structured body”

created string Document Created Date

context.period string Visit Date Range

Page 38: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

Json Response { "resourceType": "Bundle", "id": "DVCBNDL", "meta": { "lastUpdated": "2018-10-01T00:50:56.0000000+05:30" }, "type": "searchset", "total": 1, "link": [ { "relation": "Self", "url": "https://[baseURL]/DocumentReference?Patient=NEWMAL0001" } ], "entry": [ { "resource": { "id": "DOCREF", "meta": { "profile": [ "http://fhir.org/guides/argonaut/StructureDefinition/argo-documentreference" ] }, "text": { "div": "narrative text", "status": "generated" }, "subject": { "reference": "https://[baseURL]/Patient/NEWMAL0001", "display": "Alice Newman" }, "type": { "coding": [ { "system": "http://loinc.org", "code": "34133-9", "display": "Summary of episode note" } ], "text": "CCD Document" }, "author": [ { "reference": "https://[baseURL]/Practitioner/573", "display": "Albert Davis" } ], "created": "2018-10-17", "indexed": "2018-10-17 22:20", "status": "current", "content": [ { "attachment": { "contentType": "application/xml", "url": "https://[baseURL]/PatientDocuments?fileid=TkVXTUFMMDAwMXwyMDQxOXxwb3J0YWxwYXRpZW50MjJAZ21haWwuY29tfDI=", "title": "Summary of episode note"

Page 39: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

}, "format": { "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3", "code": "urn:hl7-org:sdwg:ccda-structuredBody:2.1", "display": "Documents following C-CDA constraints using a structured body" } } ], "context": { "period": { "start": "2015-06-22", "end": "2015-06-22" } } }, "search": { "mode": "match" } } ] }

5 TERMS OF USE

5.1 ACCEPTING THE TERMS

These Terms of Use ("Terms") govern your access to and use of the GeniusDoc API, documentation, services, etc. In these Terms, "GeniusDoc" refers to GeniusDoc, Inc. the API software vendor and "HCO" refers to the Healthcare Organization that has implemented GeniusDoc API. By accessing or using the GeniusDoc API, you ("App Developer", “client application developer”, "your") agree to be bound by these Terms. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, THEN YOU HAVE NO RIGHT TO ACCESSS OR USE THE GENIUSDOC API SERVICES, OR CONTENT. You represent and warrant that you are at least 18 years of age and that you possess the legal right and ability to agree to these Terms and to use the GeniusDoc API in accordance with these Terms.

5.2 ENTITY LEVEL ACCEPTANCE

If you are using the APIs on behalf of an entity, you represent and warrant that you have authority to bind that entity to the Terms and by accepting the Terms, you are doing so on behalf of that entity (and all references to "you" in the Terms refer to that entity).

5.3 CHANGES TO API TERMS OF USE

GeniusDoc may update these Terms from time to time and will publish the changes. Make sure to use the most up-to-date documentation available on our website. Your continued use of the API after any such changes constitutes your acceptance of the new terms. If you are unable to comply with any amended version of the Terms, you should stop use of the GeniusDoc API immediately.

Page 40: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

5.4 REGISTRATION

To access GeniusDoc API, you agree to provide certain information (such as identification or contact details) to an HCO as part of the registration process for the APIs, or as part of your continued use of the APIs. Any registration information you give to HCO will always be accurate and up to date. The HCO with which you register your app may provide its own Terms of Use (“HCO Terms”). You agree to adhere to the HCO Terms. In the event of a conflict between these Terms and the HCO Terms, the HCO Terms will control.

5.5 API PROHIBITIONS

When using the GeniusDoc API, you may not (or allow those acting on your behalf to):

Sell, lease or sublicense the GeniusDoc API or any data derived through the GeniusDoc API for use by a third party. Consequently, you will not create an API Client that functions substantially the same as the APIs and offer it for use by third parties.

Use the APIs for any activities where the use or failure of the APIs could lead to death, personal injury, or environmental damage (such as the operation of nuclear facilities, air traffic control, or life support systems).

Perform an Action with the intent of introducing to the GeniusDoc API any viruses, defects, malware, or any items of a destructive nature.

Reverse engineer or attempt to extract the source code from GeniusDoc API or any related software, except to the extent that this restriction is expressly prohibited by applicable law.

Interfere with or disrupt the GeniusDoc API or the servers or networks providing the API.

Promote or facilitate unlawful or disruptive commercial messages or advertisements.

5.6 API LIMITATIONS

GeniusDoc sets and enforces limits on your use of the GeniusDoc API, in our sole discretion, without notice or liability. GeniusDoc reserves the right to:

Rate limit or block apps that make a large number of calls to the GeniusDoc API.

Disable, restrict or remove your app’s access to the GeniusDoc API.

Change, suspend, or discontinue the availability of the GeniusDoc API at any time.

Impose limits on certain features or restrict your access to parts or all of the GeniusDoc API.

5.7 SECURITY AND PRIVACY

Data exchange between your App and GeniusDoc API must be secured with industry standard encryption while in transit, and use authentication and authorization protocols. Your App must secure all data on an end-user’s device, and enforce inactivity time-outs.

Page 41: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

You will provide and follow a privacy policy for your App that clearly, accurately, and truthfully describes to your users what data your App collects, and how you use and share this data. Your App must not access, use, or disclose protected health information (PHI) or other confidential information in violation of any law or in any manner other than that which the owner of the information has given its informed consent. It is your responsibility to obtain any and all necessary consents and to fulfill any and all obligations that are required by HIPAA, or other governmental statute or regulation prior to use, disclosure, or transmission of any Protected Health Information or other data accessed using GeniusDoc API.

5.8 CONFIDENTIALITY

Developer credentials (such as client IDs, client secrets, etc.) are intended to be used by you and identify your API Client. You will keep your credentials confidential and make reasonable efforts to prevent and discourage other API Clients from using your credentials. Developer credentials may not be embedded in open source projects

5.9 TERMINATION

Either you or GeniusDoc may terminate your right to use the GeniusDoc API at any time, with or without cause, upon notice. GeniusDoc also reserves the right to disable your API access in a production environment at any time, with or without cause. GeniusDoc reserves the right to disable access to the GeniusDoc API if your App poses any security, privacy, or patient safety risks. The provisions concerning Indemnification, Waiver, Release and Limitation of Liability, and General shall survive any termination of these Terms.

5.10 INDEMNIFICATION

Unless prohibited by applicable law, if you are a business, you will defend and indemnify GeniusDoc, and its affiliates, directors, officers, employees, and users, against all liabilities, damages, losses, costs, fees (including legal fees), and expenses relating to any allegation or third-party legal proceeding to the extent arising from:

your misuse or your end user's misuse of the APIs;

your violation or your end user's violation of the Terms; or

any content or data routed into or used with the APIs by you, those acting on your behalf, or your end users.

5.11 LIMITATION OF LIABILITY

EXCEPT AS EXPRESSLY SET OUT IN THE TERMS, NEITHER GENIUSDOC NOR ITS SUPPLIERS OR DISTRIBUTORS MAKE ANY SPECIFIC PROMISES ABOUT THE API. FOR EXAMPLE, WE DON'T MAKE ANY COMMITMENTS ABOUT THE CONTENT ACCESSED THROUGH THE GENIUSDOC API, THE SPECIFIC FUNCTIONS OF THE API, OR THEIR RELIABILITY, AVAILABILITY, OR ABILITY TO MEET YOUR NEEDS. WE PROVIDE THE APIS "AS IS".

Page 42: Geni · GeniusDoc API Version 1.0 Documentation 3.2 PATIENT SELECTION To search for patients, the application should request a bundle of Patient resources matching suitable

GeniusDoc API Version 1.0 Documentation

TO THE FULLEST EXTENT PERMITTED BY LAW, UNDER NO CIRCUMSTANCES, SHALL GENIUSDOC, ITS OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, AFFILIATES, INFORMATION PROVIDERS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY OTHER DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE ACCESS, USE OR PERFORMANCE OF THE GENIUSDOC API, WITH THE DELAY OR INABILITY TO USE THE GENIUSDOC API OR RELATED TECHNOLOGY, SOFTWARE OR SERVICES, THE PROVISION OF OR FAILURE TO PROVIDE THE GENIUSDOC API, SOFTWARE OR SERVICES, OR FOR ANY INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS OBTAINED FROM GENIUSDOC, OR OTHERWISE ARISING OUT OF THE USE OF THE GENIUSDOC API, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF GENIUSDOC HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THE GENIUSDOC API OR WITH THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THE GENIUSDOC API. NOTWITHSTANDING THE FOREGOING PARAGRAPH, THE TOTAL LIABILITY OF GENIUSDOC, ITS OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, AFFILIATES, INFORMATION PROVIDERS AND/OR SUPPLIERS, IF ANY, FOR LOSSES OR DAMAGES SHALL NOT EXCEED THE FEES PAID BY YOU FOR THE USE OF THE PARTICULAR TECHNOLOGY, SOFTWARE, PRODUCT, INFORMATION OR SERVICE PROVIDED BY GENIUSDOC.