G10 API

 

URLS

URL

MD Logic FHIR API Can be accessed at the following URL

FHIR Endpoint: https://www.mdlogiccloud.com/api/fhir

 

Documentation

https://www.mdlogic.com/solutions/standard-api-documentation

 

License Agreement

 

https://www.mdlogic.com/solutions/api-license

 

Response Codes

 

ALL responses from the server will be in a JSON object with the following codes.

200: Ok

401: Unauthorized

400: Bad Request

500: Internal Server Error

 

Authorization

 

Authentication

MD Logic Inc. requires that SMART on FHIR applications be registered before they can access data. To start the registration process, please submit a request by filling out the form located at the bottom of this page.

MD Logic Inc. will review your request and if you are approved you will receive an OAuth client_id to use on subsequent requests following the protocols specified in the official SMART App Authorization Guide.

You will be given a unique client_id for each MD Logic client where you want your application to access data.

MD Logic’s API uses the OAuth 2.0 protocol for authentication. All API requests must include an Authorization header with an Access Token of the form:

Authorization: Bearer MY_JWT_TOKEN

Confidential clients, that have the capability of securely storing credentials will be issued a client_secret that may be used in conjunction with the client_id to form an authorization grant (code). This code can then be used to obtain the access token and refresh token. Refresh tokens will be valid for a period of 3 months.

Public applications, such as native apps, which are incapable of securely storing credentials will not be issued a client_secret. Instead, the authorization_code grant flow will be used to issue refresh tokens. As recommended in the OAuth 2.0 Authorization Framework spec (RFC 6749).

Refresh tokens are valid for a period of 3 months and are single use only.

Sigle Patient Applications

Single patient applications will require an extra authentication step. The patient will be required enter their credentials used at View My Health Records. This is the partner MD Logic uses for its patient portal capabilities. The Medical Office that corresponds to the client id will need to enable access for the patient if they have not already done so.

 

Data Calls and Example Requests

The following data types are supported in the MD Logic API. Each type follows the FHIR 4.0 SPEC and the US Core Profile 3.1.1 where applicable. Note there are links provided for each data type.

All data calls are GET requests unless otherwise specified.

Allergy

 

The AllergyIntolerance (US Core Version) resource provides a bundle of allergies for a given patient resource.

https://mdlogiccloud.com/api/fhir/AllergyIntolerance?patient={Patient ID}

 

Example:

https://mdlogiccloud.com/api/fhir/AllergyIntolerance?patient=45

 

 

Condition

Condition  (US Core Version) resources identify a condition, diagnosis, or other clinical concept that has risen to a level of concern. Examples of API calls for condition resources are shown below:

https://mdlogiccloud.com/api/fhir/Condition?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Condition?patient=45

 

 

Device

Device (US Core Version) resources represent items used in the provision of healthcare, including medical devices such as durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research. Specifically, resources for implantable devices use the US Core Implantable Device profile. Examples of API requests to retrieve device data are shown below:

https://mdlogiccloud.com/api/fhir/Device?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Device?patient=45

 

Goal

The Goal (US Core Version) represents a desired outcome for a patient condition.

https://mdlogiccloud.com/api/fhir/Goal?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Goal?patient=45

 

Immunization

Each Immunization (US Core Version) identifies an immunization performed on a patient. 

https://mdlogiccloud.com/api/fhir/Immunization?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Immunization?patient=45

 

Observation

The Observation (US Core Version) records can include a variety of items used in diagnosing conditions and determining patient care. Observations are broken down into multiple sub categories including:

https://mdlogiccloud.com/api/fhir/Observation?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Observation?patient=45

 

 

Patient

The Patient  (US Core Version) provides demographic and contact details about the patient.

 

 

Get patient by resource ID

https://mdlogiccloud.com/api/fhir/Patient/{patientID}

 

Example:

https://mdlogiccloud.com/api/fhir/Patient/45

 

The resource ID can also be used like a search parameter

https://mdlogiccloud.com/api/fhir/Patient?_id={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Patient?_id=45

 

Search for patients by name

Patients are searchable by their entire name, or just the given and family parts:

https://mdlogiccloud.com/api/fhir/Patient?name={string}

https://mdlogiccloud.com/api/fhir/Patient?given={string}

https://mdlogiccloud.com/api/fhir/Patient?family={string}

 

Examples:

https://mdlogiccloud.com/api/fhir/Patient?name=Alex

https://mdlogiccloud.com/api/fhir/Patient?given=Nancy

https://mdlogiccloud.com/api/fhir/Patient?family=Jones

 

Find using date of birth and patient name

Multiple parameters can be combined to help ensure search result uniqueness.

https://mdlogiccloud.com/api/fhir/Patient?birthdate={date}&name={string}

 

Example:

https://mdlogiccloud.com/api/fhir/Patient?birthdate=1940-01-01&name=John

 

 

Procedure

The Procedure  (US Core Version) identifies procedures performed on a patient, such as surgery or diagnostic procedures.

 

Get all procedures for a specific patient

https://mdlogiccloud.com/api/fhir/Procedure?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/Procedure?patient=45

 

Find specific procedure by patient ID, code, and date

https://mdlogiccloud.com/api/fhir/Procedure?patient={patientID}&code={system}|{code}&date={date}

 

Examples:

Specific Date:

https://mdlogiccloud.com/api/fhir/Procedure?patient=45&code=http://snome...|35637008&date=2019-01-14T00:00:00Z

Date Range:

https://mdlogiccloud.com/api/fhir/Procedure?patient=45&code=http://snome...|35637008&date=ge2019-01-14T00:00:00Z&date=le2020-01-14T00:00:00Z

(date range)

 

 

 

CareTeam

The CareTeam (US Core Version) Identifies the different members of a patient’s care team, and the role that these members play in caring for the patient. A patient may have multiple care teams. Example API requests for care team information are shown below:

 

Get Care Teams for a specific patient

 

https://mdlogiccloud.com/api/fhir/CareTeam?patient={patientID}

 

Example:

https://mdlogiccloud.com/api/fhir/CareTeam?patient=45

Find Care Teams using a patient ID and status of the care team

 

https://mdlogiccloud.com/api/fhir/CareTeam?patient={patientID}&status={status}

 

Examples:

https://mdlogiccloud.com/api/fhir/CareTeam?patient=45&status=active

https://mdlogiccloud.com/api/fhir/CareTeam?patient=45&status=inactive

 

Diagnostic Report

The Diagnostic Report  (US Core Version) is used to summarize findings and test results from labs, imaging, and other diagnostics. Examples of API requests for diagnostic report resources are shown below:

 

Diagnostic Report falls into two categories

Report and Note Echange (US Core Version)

Laboratory Result Reporting (US Core Version)

Get Diagnostic Reports for a specific patient

 

https://mdlogiccloud.com/api/fhir/DiagnosticReport?patient={patientID}

 

Example:

https://mdlogiccloud.com/api/fhir/DiagnosticReport?patient=45

Find by patient ID and category of report

 

https://mdlogiccloud.com/api/fhir/DiagnosticReport?patient={patientID}&category={system}|{code}

 

Example:

https://mdlogiccloud.com/api/fhir/DiagnosticReport?patient=45&http://loi...|LP29684-5

 

DocumentReference

 

The DocumentReference  (US Core Version) identifies the location of a clinical note, image, or PDF related to a patient. This is used as a pointer to the location of the document: the actual content is stored elsewhere, and will need to be accessed separately. Example API requests for a specific document, as well as to see all of the documents associated with a particular patient, are shown below:

Get using DocumentReference ID

https://mdlogiccloud.com/api/fhir/DocumentReference/{documentReferenceID}

Example:

https://mdlogiccloud.com/api/fhir/DocumentReference/1048

Retrieve all document references related to a patient

https://mdlogiccloud.com/api/fhir/DocumentReference?patient={patientID}

Example:

https://mdlogiccloud.com/api/fhir/DocumentReference?patient=45

Find by Patient ID, category and date search parameters

https://mdlogiccloud.com/api/fhir/DocumentReference?patient={patientID}&category={system}|{code}&date={date}

 

Example:

https://mdlogiccloud.com/api/fhir/DocumentReference?patient=45&category=...|11488-4&date=ge2020-01-01T00:00:00Z

 

 

MedicationRequest

 

The MedicationRequest (US Core Version) covers medication orders for a patient. This includes both inpatient and outpatient orders related to medications. This is not intended for diet prescriptions or for non-medication items (such as sunglasses, supplies, etc.)

Retrieve all medication requests related to a patient

https://mdlogiccloud.com/api/fhir/MedicationRequest?patient={patientID}

 

Example:

https://mdlogiccloud.com/api/fhir/MedicationRequest?patient=45

Find medications related to a patient based on the date/time that the order was initially created

https://mdlogiccloud.com/api/fhir/MedicationRequest?patient={patientID}&authoredon={date}

 

Examples:

Specific Date

https://mdlogiccloud.com/api/fhir/MedicationRequest?patient=45authoredon...

 

Date Range:

https://mdlogiccloud.com/api/fhir/MedicationRequest?patient=45&authoredo...

 


Get started with MD Logic API




MD Logic API License Agreement

Last Updated: 12-1-2017

By accessing or using the MD Logic API you accept the terms of this MD Logic API License Agreement (the "Agreement"). In this Agreement, "MD Logic API" means MD Logic, Inc., "You" (including "Your") means you, and the "parties" refer to MD Logic, Inc. and You.

1. Definitions

1.1. "API Key": The secret key required to access the API.

1.2. "Application": Any application that You develop using the MD Logic API to use, search, display, download, and/or modify the MD Logic Content.

1.3. "Developer Tools": The tools, documentation, and other content available on the MD Logic other than the MD Logic API.

1.4. "End User": A user of Your Application that uses the MD Logic API.

1.5. "End User Credentials": An End Users' name, email address, phone number, and organization name.

1.6. " MD Logic API": The MD Logic API (Application Programming Interface) is a REST-based interface that allows third parties to retrieve data from MD Logic hosted servers in a secure and standardized fashion. With proper End User authentication, MD Logic provides access to various features of the MD Logic API, including the ability to search and retrieve our MD Logic Content.

1.7. "MD Logic Content": All Clinical Decision Support Order Sets and Plans of Care content and data associated with such content hosted on MD Logic servers and made available by MD Logic for use by developers.

1.8. "MD Logic Marks" mean the MD Logic, which are U.S. registered trademarks of MD Logic, Inc.

1.9. "MD Logic Website": The website located at www.mdlogic.com.

2. License

2.1. Grant of License
Subject to Your compliance with this Agreement, MD Logic grants You a revocable, limited, worldwide, non-exclusive license to use the MD Logic API. MD Logic may revoke this license at any time for any reason. MD Logic may also limit calls from Your Application at any time for any reason.

2.2. License Restrictions

2.2.1. You must obtain End Users' express consent before exposing Your Application to them.

2.2.2. You will only authenticate End Users using one of our provided authentication methods.

2.2.3. You must apply for an API Key in order to access the API. You will keep the API Key confidential and not disclose them to third parties including End Users. MD Logic reserves the right to change Access Keys at any time.

2.2.4. You will comply with all laws, MD Logic Terms of Service, and MD Logic Privacy Policy.

2.2.5. You will not mislead End Users.

2.2.6. You will not display advertisements within the Application (e.g., pre- or post-roll ads, flash overlay ads, etc.) without MD Logic’s prior written consent.

2.2.7. You will not charge End Users a fee for using your Application without MD Logic’s prior written consent.

2.2.8. You will not represent that MD Logic has approved Your Application without MD Logic’s prior written consent, nor will you suggest that you or your Application is affiliated with MD Logic.

2.2.9. You comply with MD Logic’s then-current API Best Practices

2.2.10. You will make it easy for End Users to disconnect from Your Application.

2.2.11. You will not reverse engineer or decompile the MD Logic API.

2.2.12. You will not crawl or data mine MD Logic Content without MD Logic’s prior written consent.

2.2.13. You will not introduce viruses, worms, Trojan Horses, etc. through the Application.

2.2.14. You will only request, use, and retain MD Logic Content as necessary to operate, optimize, and modify Your Application.

2.2.15. You will not make API calls exceeding a reasonable amount per day.

2.2.16. You will immediately forward to us any notices or claims alleging that the MD Logic

Content infringes the proprietary rights of any third party, including claims made pursuant to the Digital Millennium Copyright Act.

2.2.17. You are responsible for ensuring that each End User is informed of, and abides by, the
terms and conditions of this Agreement.

2.2.18. Upon request by MD Logic, you will ideate regarding potential use cases for MD Logic
Content and share suggestions with MD Logic.

 

3. Intellectual Property

3.1. As between MD Logic and you, (a) MD Logic owns the MD Logic API, the MD Logic Content, the MD Logic Marks, the MD Logic Website; and (b) You own Your Application. Except as expressly set forth in this Agreement, neither party transfers any right, title, or interest in or to its intellectual property.

3.2. Subject to your compliance with the terms of this Agreement, MD Logic hereby grants You a limited, non-exclusive, revocable license to use the MD Logic Marks for descriptive purposes in connection with Your Application, provided, however, that you may not use the MD Logic Marks in the name or logo of Your Application (i.e., you may not call your Application a "MD Logic application") without MD Logic’s prior written consent.

3.3. You grant MD Logic a limited, non-exclusive license to use Your name, logo, and trademarks for the purpose of listing or featuring Your Application on the MD Logic Website. You further grant MD Logic permission to link to Your Application. The foregoing rights shall not be deemed obligations by MD Logic to promote your Application in any way.

3.4. MD Logic reserves the right to develop applications and services that are similar to Your Application.

 

4. Term and Termination

This Agreement will continue for as long as you operate an Application or until MD Logic terminates this Agreement, whichever comes first. MD Logic may terminate this Agreement at any time for any reason with or without notice. The following provisions will survive any termination or expiration of this Agreement: Sections 1, 3.1, 3.4, and 5 through 9. Upon termination, you will no longer have access to the API.

5. Representations and Warranties

You represent and warrant that (a) you have the right and authority to enter into and perform this Agreement; (b) you will not be breaching any agreement with a third party by entering into this Agreement; and (c) Your Application will not infringe any third party's intellectual property rights.

6. Indemnification

You will indemnify, defend, and hold MD Logic harmless from and against any losses (including attorneys' fees) from any third party claims arising out of any breach by You of any term of this Agreement.

7. Warranty Disclaimer and Limitation of Liability

MD Logic provides the MD Logic API and the MD Logic Content on an "AS IS" basis and makes no warranties, express, implied, or statutory, including, without limitation, warranties of merchantability, non-infringement, and fitness for a particular purpose. In no event shall MD Logic be liable for (a) any indirect, incidental, consequential, punitive, or special damages, even if it has been advised of the possibility of such damages; or (b) damages exceeding U.S. $10,000.00.

8. Technical Support and Implementation

MD Logic will provide reasonable technical support with respect to the MD Logic API to You via MD Logic's customer support at support@mdlogic.com , available Monday through Friday, 8:00am – 7:00pm EST, excluding holidays.

Payments

8.1. Fees
No cash consideration is provided by either party hereunder. The parties are entering into this
Agreement in anticipation of the goodwill they expect to accrue.

9. Governing Law; Choice of Forum; Waiver of Jury Trial

This Agreement shall be governed by the laws of the State of Georgia without regard to conflicts of law principles, and each party irrevocably consents to the exclusive jurisdiction and venue in the state and federal courts located in Gwinnett County, Georgia. Each party irrevocably and unconditionally waives any and all rights to a jury trial in respect of any action arising out of or relating to this Agreement.

10. Miscellaneous

Each party is an independent contractor of the other and neither is an employee, agent, partner, or joint venture participant of the other. No delay or failure on the part of MD Logic in the exercise of any right under this Agreement or any law shall operate as a waiver of such right. In the event a court finds any term of this Agreement unenforceable, that term will be enforced to the maximum extent permissible and the remainder of this Agreement will remain in full force and effect. This Agreement constitutes the entire agreement between the parties with respect to the subject matter hereof. This Agreement shall be binding upon and inure to the benefit of the parties' permitted successors and assigns. Nothing in this Agreement, express or implied, is intended to or shall confer any rights on any entity other than the parties. This Agreement may be modified by MD Logic at any time by posting a new version of the www.mdlogic.com.