Printer Friendly, PDF & Email Printer Friendly, PDF & Email

§170.315(g)(8) Application access — data category request

Version 1.1 Updated on 03-08-2016
Revision History
Version # Description of Change Version Date
1.0

Final Test Procedure

01-20-2016
1.1

Removed reference to time in paragraph (g)(8)(i)(B) Test Lab Verification step 1.

Included sex in the list of data elements for paragraph (g)(8)(i)(A).

03-08-2016
Regulation Text
Regulation Text

§170.315 (g)(8) Application access – data category request

The following technical outcome and conditions must be met through the demonstration of an application programming interface.

  1. Functional requirements.
    1. Respond to requests for patient data (based on an ID or other token) for each of the individual data categories specified in the Common Clinical Data Set and return the full set of data for that data category (according to the specified standards, where applicable) in a computable format.
    2. Respond to requests for patient data associated with a specific date as well as requests for patient data within a specified date range.
  2. Documentation—
    1. The API must include accompanying documentation that contains, at a minimum:
      1. API syntax, function names, required and optional parameters and their data types, return variables and their types/structures, exceptions and exception handling methods and their returns.
      2. The software components and configurations that would be necessary for an application to implement in order to be able to successfully interact with the API and process its response(s).
      3. Terms of use. The terms of use for the API must be provided, including, at a minimum, any associated developer policies and required developer agreements.
    2. The documentation used to meet paragraph (g)(8)(ii)(A) of this section must be available via a publicly accessible hyperlink.
Standard(s) Referenced

Paragraph (g)(8)(i)

Please refer to the Data Elements and Vocabularies applicable to the Common Clinical Data Set (CCDS) as outlined in the Common Clinical Data Set Reference Document

Please consult the Final Rule entitled: 2015 Edition Health Information Technology (Health IT) Certification Criteria, 2015 Edition Base Electronic Health Record (EHR) Definition, and ONC Health IT Certification Program Modifications for a detailed description of the certification criterion with which these testing steps are associated. We also encourage developers to consult the Certification Companion Guide in tandem with the test procedure as they provide clarifications that may be useful for product development and testing.

Note: The order in which the test steps are listed reflects the sequence of the certification criterion and does not necessarily prescribe the order in which the test should take place.
 

Testing components

No GAP Icon Documentation Icon Visual Inspection Icon No Test Tool Icon No ONC Supplied Test Data Icon

The following technical outcome and conditions must be met through the demonstration of an application programming interface.

 

 

Paragraph (g)(8)(i)(A)

System Under Test Test Lab Verification
  1. Using the Health IT Module’s identified API functions (including the ID or token generated as part of the “Application Access – patient selection” certification criterion at § 170.315(g)(7)), the user demonstrates that one or more API routines responds to and returns the full set of data for each data category from the CCDS for the unique patient identified by the ID or token.  Where applicable, the data must be formatted using the specified standards defined in the CCDS Reference Document in a computable format to the developer-identified requesting application:
    • Patient Name
    • Sex
    • Date of Birth
    • Race
    • Ethnicity
    • Preferred Language
    • Smoking Status
    • Problems
    • Medications
    • Medication Allergies
    • Laboratory Tests
    • Laboratory Values(s)/Result(s)
    • Vital Signs
    • Procedures
    • Care Team Member(s)
    • Immunizations
    • Unique Device Identifier(s) for a Patient’s Implantable Device(s)
    • Assessment and Plan of Treatment
    • Goals
    • Health Concerns
  1. For each of the CCDS data categories specified in the CCDS Reference Document, the tester verifies that the full set of data for each data category is returned by one or more API routine(s) by repeating steps 2-4 for each CCDS data category.
  2. For each of the identified API routine(s) necessary to return the full set of data for a given data category, the tester verifies that the identified API routine(s) can respond to a request for the CCDS category. 
  3. The tester verifies that the data returned from the identified API routine(s) is in a computable format (e.g. XML, JSON, or another computable format documented by the health IT developer).
  4. The tester verifies that the data returned from the identified API routine(s) is in accordance with the standards associated with the specific data element(s) as specified in the CCDS Reference Document. No standard is required for the overall structure of the data category request, so long as the data returned are in a computable format (machine-readable format) and the data is represented according to applicable standards.

Paragraph (g)(8)(i)(B)

System Under Test Test Lab Verification
  1. The Health IT Module’s identified API functions, return data to the developer-identified requesting application for a specific date the requesting application identifies.
  2. The Health IT Module’s identified API functions, return data to the developer-identified requesting application for a specific date range the requesting application identifies.
  1. The tester verifies that the API routine(s) can respond to a request for patient data for a specific date, and that the patient data returned is accurate and without omission based upon the health IT developer’s documentation for data return based upon a date request.
  2. The tester verifies that the API routine(s) can respond to a request for patient data for a date range, and that the patient data returned is accurate and without omission based upon the health IT developer’s documentation for data return based upon a date range request.

Paragraph (g)(8)(ii)(A)(1)

System Under Test Test Lab Verification

The health IT developer supplies documentation describing the API, with the intended audience of developers, and includes at a minimum:

  • API syntax;
  • function names;
  • required and optional parameters and their data types;
  • return variables and their types/structures; and
  • exceptions and exception handling methods and their returns.

The tester verifies that the identified documentation for the Health IT Module’s API definition is accurate and without omission, and that it matches the version of the software release.


Paragraph (g)(8)(ii)(A)(2)

System Under Test Test Lab Verification

The health IT developer supplies accompanying documentation describing the Health IT Module’s API implementation requirements, with the intended audience of developers, which must include:

  • The software components and configurations that would be necessary for an application to implement in order to be able to successfully interact with the API and process its response(s).

The tester verifies that the identified documentation for interfacing with the Health IT Module’s API (including both the software components and the configuration) is accurate and without omission and that it matches the version of the software release. 


Paragraph (g)(8)(ii)(A)(3)

System Under Test Test Lab Verification

The health IT developer supplies the API’s Terms of Use, which needs to include, at a minimum, any associated developer policies and required developer agreements.

The tester verifies the supplied documentation contains the Terms of Use and that it matches the version of the software release.


Paragraph (g)(8)(ii)(B)

System Under Test Test Lab Verification

The documentation used to meet paragraph (g)(8)(ii)(A) of this section must be available via a publicly accessible hyperlink.

The tester verifies that the supplied documentation is publicly accessible by hyperlink.


Version 1.9 Updated on 05-02-2018
Revision History
Version # Description of Change Version Date
1.0

Initial Publication

10-30-2015
1.1

Clarifications added relating to “third-party API” definition, additional audit record user access details, data exclusions related to patient data accessed within a specific date range, API access, , and details around the meaning of token as a patient identifier.

02-08-2016
1.2

Date range clarification for subparagraph (g)(8)(i)(B).

Terms of use documentation and hyperlink clarifications added.

03-25-2016
1.3

Clarifications added to subparagraph (g)(8)(i)(A) regarding interpretation and permitted flexibility.

04-22-2016
1.4

Added clarification in the ‘applies to entire criterion’ section related to the product update requirements.

11-04-2016
1.5

Added clarification on API Registration requirements and removed guidance on API registration mechanism (dynamic registration). Added clarification on the definition of a “trusted connection”. Clarification added to subparagraph (g)(8)(i)(A) on the method used to identify a patient.

07-07-2017
1.6

Added clarification for paragraph (g)(8)(ii)(B) that documentation must be available to the public via a hyperlink without any additional access requirements.

08-25-2017
1.7

Revised clarification for paragraph (g)(8)(ii)(B) that the hyperlink provided for all of the documentation must reflect the most recent version of all the documentation, not just the terms of use.

09-29-2017
1.8

Made revisions to a prior clarification in (g)(8)(ii)(A)(3) regarding the terms of use. Added a new clarification for paragraph (g)(8)(ii)(A)(3) regarding enforcement of the health IT developer’s terms of use, which is out of scope for this criterion. Additionally, noted CMS guidance that providers may not prohibit patients from using the app of the patient’s choice.

02-01-2018
1.9

Made revisions to a prior clarification in paragraph (g)(8)(i)(B) regarding permissible data returns when conducting date/date range data searches.

Added a new clarification for paragraph (g)(8)(ii)(A)(1) specifying that API documentation must include information for requesting patient data using date and date ranges.

05-02-2018
Regulation Text
Regulation Text

§170.315 (g)(8) Application access – data category request

The following technical outcome and conditions must be met through the demonstration of an application programming interface.

  1. Functional requirements.
    1. Respond to requests for patient data (based on an ID or other token) for each of the individual data categories specified in the Common Clinical Data Set and return the full set of data for that data category (according to the specified standards, where applicable) in a computable format.
    2. Respond to requests for patient data associated with a specific date as well as requests for patient data within a specified date range.
  2. Documentation—
    1. The API must include accompanying documentation that contains, at a minimum:
      1. API syntax, function names, required and optional parameters and their data types, return variables and their types/structures, exceptions and exception handling methods and their returns.
      2. The software components and configurations that would be necessary for an application to implement in order to be able to successfully interact with the API and process its response(s).
      3. Terms of use. The terms of use for the API must be provided, including, at a minimum, any associated developer policies and required developer agreements.
    2. The documentation used to meet paragraph (g)(8)(ii)(A) of this section must be available via a publicly accessible hyperlink.
Standard(s) Referenced

Paragraph (g)(8)(i)

Please refer to the Data Elements and Vocabularies applicable to the Common Clinical Data Set (CCDS) as outlined in the Common Clinical Data Set Reference Document

Certification Companion Guide: Application access — data category request

This Certification Companion Guide (CCG) is an informative document designed to assist with health IT product development. The CCG is not a substitute for the 2015 Edition final regulation. It extracts key portions of the rule’s preamble and includes subsequent clarifying interpretations. To access the full context of regulatory intent please consult the 2015 Edition final rule or other included regulatory reference. The CCG is for public use and should not be sold or redistributed.
 

 

Certification Requirements

Privacy and Security: This certification criterion was adopted at § 170.315(g)(8). As a result, an ONC-ACB must ensure that a product presented for certification to this criterion includes the privacy and security criteria (adopted in § 170.315(d)) within the overall scope of the certificate issued to the product.

  • The privacy and security criteria (adopted in § 170.315(d)) do not need to be explicitly tested with this specific criterion unless it is the only criterion for which certification is requested.
  • As a general rule, a product presented for certification only needs to be tested once to each applicable privacy and security criterion (adopted in § 170.315(d)) so long as the health IT developer attests that such privacy and security capabilities apply to the full scope of capabilities included in the requested certification. However, exceptions exist for § 170.315(e)(1) “VDT” and (e)(2) “secure messaging,” which are explicitly stated.

Design and Performance: The following design and performance certification criteria (adopted in § 170.315(g)) must also be certified in order for the product to be certified.

  • When a single quality management system (QMS) is used, the QMS only needs to be identified once. Otherwise, the QMS’ need to be identified for every capability to which it was applied.
  • When a single accessibility-centered design standard is used, the standard only needs to be identified once. Otherwise, the accessibility-centered design standards need to be identified for every capability to which they were applied; or, alternatively the developer must state that no accessibility-centered design was used.
Table for Privacy and Security
Technical Explanations and Clarifications

 

Applies to entire criterion

Clarifications:

  • While no content exchange standard is required for this criterion, we intend to adopt a standards-based approach for certification in a future rulemaking. We encourage the use of the Fast Healthcare Interoperability Resources (FHIR) specification.
  • Security:
    • For the purposes of certification there is no conformance requirement related to the registration of third party applications that use the APIs. If a Health IT module requires registration as a pre-condition for accessing the APIs, then, the process must be clearly specified in the API documentation as required by the criterion. We strongly believe that registration should not be used as a means to block information sharing via APIs.
    • This criterion does not currently include any security requirements beyond the privacy and security approach detailed above, but we encourage organizations to follow security best practices and implement security controls, such as penetration testing, encryption, audits, and monitoring as appropriate. We expect health IT developers to include information on how to securely use their APIs in the public documentation required by the certification criteria and follow industry best practices. [see also 80 FR 62676]
    • We strongly encourage developers to build security into their APIs following best practice guidance, such as the Department of Homeland Security’s Build Security In initiative.1 [see also 80 FR 62677]
    • A “trusted connection” means the link is encrypted/integrity protected according to § 170.210(a)(2) or (c)(2). As such, we do not believe it is necessary to specifically name HTTPS and/or SSL/TLS as this standard already covers encryption and integrity protection for data in motion. [see also 80 FR 62676]
    • APIs could be used when consent or authorization by an individual is required. In circumstances where there is a requirement to document a patient’s request or particular preferences, APIs can enable compliance with documentation requirements. The HIPAA Privacy Rule2 permits the use of electronic documents to qualify as writings for the purpose of proving signature, e.g., electronic signatures. [see also 80 FR 62677]
  • The audit record should be able to distinguish the specific user who accessed the data using a third-party application through the certified API in order to meet the requirements of § 170.315(d)(2) or (d)(10).
  • A health IT developer must demonstrate that its API functionality properly performs consistent with this certification criterion’s requirements. How this is done is up to the health IT developer. Doing so could include, but is not limited to, the health IT developer using existing tools or creating its own app or “client” to interact with the API as well as using a third-party application.
  • By requiring that documentation and terms of use be open and transparent to the public by requiring a hyperlink to such documentation to be published with the product on the ONC Certified Health IT Product List, we hope to encourage an open ecosystem of diverse and innovative applications that can successfully and easily interact with different Health IT Modules’ APIs. [see also 80 FR 62679]
  • Health IT developers are able to update/upgrade/improve functionality that’s within the scope of certification, provided that certain rules and conditions are followed. The “API criteria” § 170.315(g)(7), § 170.315(g)(8), and § 170.315(g)(9) are treated no different under this regulatory structure. If a developer seeks to update their API functionality post-certification a developer will need to consider the following:
    • If their ONC-ACB requires notification or updated documentation associated with the functionality they changed. This procedure is at the discretion of the ONC-ACB and may result in an additional CHPL listing.
    • Pursuant to the certification criteria, there is a documentation portion in each. Which would include (publicly available) technical specs, configuration requirements, and terms of use. Insofar as a developer updates their API post-certification, they are expected to keep all of this documentation up-to-date. Similarly, ONC-ACBs are expected to oversee/enforce/surveil that this action is taken and could find a non-conformity if those updates are not made.
    • If any of their changes would require updates to the developer’s § 170.523(k)(1) disclosures (the broader product transparency disclosures).

 


1 https://buildsecurityin.us-cert.gov/
2 45 CFR Part 160 and Part 164, Subparts A and E


Paragraph (g)(8)(i)(A)

Technical outcome – The API must be able to respond to requests for patient data (using an ID or other token) for each of the individual categories listed in the Common Clinical Data Set and return the full set of data for that category, according to the required data standards in a computable format.

Clarifications:

  • Please refer to the 2015 Edition Common Clinical Data Set for the data standards that are required.
  • There is no standard required for the format of the data category request, as long as the data returned are in a computable format (machine-readable format). [see also 80 FR 62678]
  • The technology specifications should be designed and implemented in such a way as to return meaningful responses to queries, particularly with regard to exceptions and exception handling, and should make it easy for applications to discover what data exists for the patient. [see also 80 FR 62678]
  • The term “token” that is used here is not to be interpreted as the token in the OAuth2 workflow, but simply as something that would uniquely identify a patient.
  • The developer can determine the method and the amount of data by which the health IT uniquely identifies a patient. [see also 80 FR 62678]
  • The Common Clinical Data Set (CCDS) definition lists a set of data. It does not, however, specify a set of “data categories” or prescribe a predefined grouping for API responses as may be implied by the regulatory text.
  • Consistent with the intent expressed for this functionality in the proposed rule [80 FR 16861], which conveyed that we intended to “allow for but not require, health IT developers to implement the Fast Health Interoperability Resource (FHIR®)” and which we carried forward with the final rule, a health IT developer is permitted and has the flexibility to group the data specified in the CCDS in its API responses in a manner that it sees fit. This could be in manner following a particular industry standard, such as FHIR, or other documented means.
    • In doing so a health IT developer must ensure:
      • That the “API response groupings” it uses ultimately cover all of the data specified in the CCDS. For example, if a health IT developer had 10 API response groupings, all of data specified by the CCDS definition would need to be covered by those 10 API responses. 
      • The technical documentation it discloses clearly specifies how all of the data specified CCDS is met by its API response groupings.

Paragraph (g)(8)(i)(B)

Technical outcome – The API must be able to respond to requests for patient data associated with a specific date as well as requests for patient data with a specific date range.

Clarifications:

  • Health IT returning an entire patient record that does not reflect the specific date or date range requested is not permissible when a specific date or date range is requested. [see also 80 FR 62678]
  • The API must be able to send, at a minimum all required data for a specified date range(s). We acknowledge that there will be organizational policies and/or safety best practices that will dictate additional data to be sent and when data is considered complete and/or ready for being sent. This should be appropriately described in the API documentation. However, returning no data on receipt of a valid date or date range, or sending an error message (which is equivalent to no data) is not permissible.

Paragraph (g)(8)(ii)(A)(1)

Technical outcome – The API must include accompanying documentation that contains API syntax, function names, required and optional parameters and their data types, return variables and their types/structures, exceptions and exception handling methods and their returns.

Clarifications:

  • API documentation must include information for requesting patient data using date and date ranges.

Paragraph (g)(8)(ii)(A)(2)

Technical outcome – The API must include accompanying documentation, which contains software components and configurations that would be necessary for an application to implement in order to be able to successfully interact with the API and process its response(s).

Clarifications:

  • No additional clarifications available.

Paragraph (g)(8)(ii)(A)(3)

Technical outcome – The API must include the terms of use for the API including, at a minimum, any associated developer policies and required developer agreements.

Clarifications:

  • Health IT developers must be clear and transparent about the general terms of agreements or contracts that will typically apply to all prospective third party applications.
  • Health IT developers that typically execute unique agreements or contracts with interested third party applications using their API must disclose this practice as part of their terms of use.
  • For the purposes of certification, a health IT developer is accountable for documenting and making public the provisions of its API’s terms of use. If, post-certification, a health IT developer permits its customers to deploy and integrate its API in ways where the customer would be able to layer on its own specific terms of use unique to that organization, the health IT developer would need to disclose this business practice in its terms of use. A health IT developer is not expected to change or factor instances into its terms of use where its customers establish additional, organizational-specific terms for the API’s use.
  • Pursuant to the certification criterion’s documentation requirement, health IT developers are required to make their API documentation publicly available, including the terms of use (and its associated policies and required developer agreements). Developers’ enforcement of their terms of use is beyond the scope of conformance to this certification criterion. This criterion focuses on the technical API capabilities with which a Health IT Module must be in compliance and documentation requirements as specified. For example, this certification criterion does not require health IT developers to evaluate app developers or prohibit such activity (though such activities may implicate other requirements of the Program). We also note that CMS, specifically in the patient access context, states that “[p]roviders may not prohibit patients from using any application, including third-party applications, which meet the technical specifications of the API, including the security requirements of the API.”3

 


https://www.cms.gov/Regulations-and-Guidance/Legislation/EHRIncentivePrograms/Downloads/MedicaidEPStage3_Obj5.pdf


Paragraph (g)(8)(ii)(B)

Technical outcome – The documentation used to meet the provisions in (g)(8)(ii)(A)(1)-(3) must be available through a publicly accessible hyperlink.

Clarifications:

  • The hyperlink provided for all of the documentation referenced by provision (g)(8)(ii)(A) must reflect the most current version of the Health IT developer’s documentation.
  • All of the documentation referenced by provision (g)(8)(ii)(A) must be accessible to the public via a hyperlink without additional access requirements, including, without limitation, any form of registration, account creation, “click-through” agreements, or requirement to provide contact details or other information prior to accessing the documentation.

Content last reviewed on September 21, 2018
Was this page helpful?