Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Care Gaps Definitions API
description: This API supports the management of definitions, gaps, and webhook notifications.
version: 0.0.1
servers:
- url: https://caregaps.sandbox.elationemr.com/
description: CareGaps API - Sandbox Environment
tags:
- name: Definitions
paths:
/caregaps/api/{quality_program}/definition/:
get:
tags:
- Definitions
summary: Retrieve a filtered page of definitions
description: Retrieve a list of definitions.
operationId: definitions_get_page_caregaps_api__quality_program__definition__get
parameters:
- required: true
schema:
title: Quality Program
type: string
name: quality_program
in: path
- required: false
schema:
title: Page Size
minimum: 1
type: integer
default: 5
name: page_size
in: query
- required: false
schema:
title: Page Num
minimum: 1
type: integer
default: 1
name: page_num
in: query
- required: false
schema:
title: Closing Code
type: array
items:
type: string
name: closing_code
in: query
- required: false
schema:
title: Definition Id
type: array
items:
type: string
name: definition_id
in: query
- required: false
schema:
title: External Id
type: string
name: external_id
in: query
- required: false
schema:
title: Cursor
type: string
name: cursor
in: query
- required: false
schema:
title: Name
type: string
name: name
in: query
- required: false
schema:
$ref: '#/components/schemas/IndicatorEnum'
name: indicator
in: query
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body_definitions_get_page_caregaps_api__quality_program__definition__get'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DefinitionAPIPaginatedResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- OAuth2PasswordBearer: []
post:
tags:
- Definitions
summary: Create a new definition.
description: Create a new definition.
operationId: definitions_post_caregaps_api__quality_program__definition__post
parameters:
- required: true
schema:
title: Quality Program
type: string
name: quality_program
in: path
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DefinitionAPIModel'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DefinitionAPI'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- OAuth2PasswordBearer: []
/caregaps/api/{quality_program}/definition/{definition_id}/:
get:
tags:
- Definitions
summary: Retrieve an existing definition.
description: Retrieve a specific definition.
operationId: definitions_get_caregaps_api__quality_program__definition__definition_id___get
parameters:
- required: true
schema:
title: Quality Program
type: string
name: quality_program
in: path
- required: true
schema:
title: Definition Id
type: string
name: definition_id
in: path
- required: false
schema:
title: Practice Id
type: string
name: practice_id
in: query
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DefinitionAPI'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- OAuth2PasswordBearer: []
delete:
tags:
- Definitions
summary: Delete an existing definition.
description: Delete a specific definition.
operationId: definitions_delete_caregaps_api__quality_program__definition__definition_id___delete
parameters:
- required: true
schema:
title: Quality Program
type: string
name: quality_program
in: path
- required: true
schema:
title: Definition Id
type: string
name: definition_id
in: path
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- OAuth2PasswordBearer: []
components:
schemas:
Condition:
title: Condition
required:
- subject
type: object
properties:
resource_type:
title: Resource Type
type: string
fhir_comments:
title: Fhir Comments
anyOf:
- type: string
- type: array
items:
type: string
id:
title: Logical id of this artifact
maxLength: 64
minLength: 1
pattern: ^[A-Za-z0-9\-.]+$
type: string
description: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
_id:
title: Extension field for ``id``.
type: string
implicitRules:
title: A set of rules under which this content was created
pattern: \S*
type: string
description: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
_implicitRules:
title: Extension field for ``implicitRules``.
type: string
language:
title: Language of the resource content
pattern: ^[^\s]+(\s[^\s]+)*$
type: string
description: The base language in which the resource is written.
_language:
title: Extension field for ``language``.
type: string
meta:
title: Metadata about the resource
type: string
description: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
contained:
title: Contained, inline Resources
type: array
items:
type: string
description: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extension:
title: Additional content defined by implementations
type: array
items:
type: string
description: May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtension:
title: Extensions that cannot be ignored
type: array
items:
type: string
description: May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
text:
title: Text summary of the resource, for human interpretation
type: string
description: A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
abatementAge:
title: When in resolution/remission
type: integer
description: The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
abatementDateTime:
title: When in resolution/remission
type: string
description: The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
format: date-time
_abatementDateTime:
title: Extension field for ``abatementDateTime``.
type: string
abatementPeriod:
title: When in resolution/remission
type: string
description: The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
abatementRange:
title: When in resolution/remission
type: integer
description: The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
abatementString:
title: When in resolution/remission
pattern: '[ \r\n\t\S]+'
type: string
description: The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
_abatementString:
title: Extension field for ``abatementString``.
type: string
asserter:
title: Person who asserts this condition
type: string
description: Individual who is making the condition statement.
bodySite:
title: Anatomical location, if relevant
type: array
items:
type: string
description: The anatomical location where this condition manifests itself.
category:
title: problem-list-item | encounter-diagnosis
type: array
items:
type: string
description: A category assigned to the condition.
clinicalStatus:
title: active | recurrence | relapse | inactive | remission | resolved
type: string
description: The clinical status of the condition.
code:
title: Identification of the condition, problem or diagnosis
type: string
encounter:
title: Encounter created as part of
type: string
description: The Encounter during which this Condition was created or to which the creation of this record is tightly associated.
evidence:
title: Supporting evidence
type: array
items:
type: string
description: Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.
identifier:
title: External Ids for this condition
type: array
items:
type: integer
description: Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
note:
title: Additional information about the Condition
type: array
items:
type: string
description: Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.
onsetAge:
title: Estimated or actual date, date-time, or age
type: integer
description: Estimated or actual date or date-time the condition began, in the opinion of the clinician.
onsetDateTime:
title: Estimated or actual date, date-time, or age
type: string
description: Estimated or actual date or date-time the condition began, in the opinion of the clinician.
format: date-time
_onsetDateTime:
title: Extension field for ``onsetDateTime``.
type: string
onsetPeriod:
title: Estimated or actual date, date-time, or age
type: string
description: Estimated or actual date or date-time the condition began, in the opinion of the clinician.
onsetRange:
title: Estimated or actual date, date-time, or age
type: integer
description: Estimated or actual date or date-time the condition began, in the opinion of the clinician.
onsetString:
title: Estimated or actual date, date-time, or age
pattern: '[ \r\n\t\S]+'
type: string
description: Estimated or actual date or date-time the condition began, in the opinion of the clinician.
_onsetString:
title: Extension field for ``onsetString``.
type: string
recordedDate:
title: Date record was first recorded
type: string
description: The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.
format: date-time
_recordedDate:
title: Extension field for ``recordedDate``.
type: string
recorder:
title: Who recorded the condition
type: string
description: Individual who recorded the record and takes responsibility for its content.
severity:
title: Subjective severity of condition
type: string
description: A subjective assessment of the severity of the condition as evaluated by the clinician.
stage:
title: Stage/grade, usually assessed formally
type: array
items:
type: string
description: Clinical stage or grade of a condition. May include formal severity assessments.
subject:
title: Who has the condition?
type: string
description: Indicates the patient or group who the condition record is associated with.
verificationStatus:
title: unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
type: string
description: The verification status to support the clinical status of the condition.
additionalProperties: false
description: 'Disclaimer: Any field name ends with ``__ext`` does''t part of
Resource StructureDefinition, instead used to enable Extensibility feature
for FHIR Primitive Data Types.
Detailed information about conditions, problems or diagnoses.
A clinical condition, problem, diagnosis, or other event, situation, issue,
or clinical concept that has risen to a level of concern.'
ExistingSuggestion:
title: ExistingSuggestion
required:
- label
- is_recommended
- uuid
type: object
properties:
label:
title: Label
type: string
description: Human-readable label to display for this suggestion (e.g. the CDS Client might render this as the text on a button tied to this suggestion).
is_recommended:
title: Is Recommended
type: boolean
description: When there are multiple suggestions, allows a service to indicate that a specific suggestion is recommended from all the available suggestions on the card. CDS Hooks clients may choose to influence their UI based on this value, such as pre-selecting, or highlighting recommended suggestions. Multiple suggestions MAY be recommended, if card.selectionBehavior is any.
actions:
title: Actions
type: array
items:
$ref: '#/components/schemas/Action'
description: Array of objects, each defining a suggested action. Within a suggestion, all actions are logically AND'd together, such that a user selecting a suggestion selects all of the actions within it.
uuid:
title: Uuid
type: string
description: Unique identifier, used for auditing and logging suggestions.
ValueSet:
title: ValueSet
type: object
properties:
resource_type:
title: Resource Type
type: string
fhir_comments:
title: Fhir Comments
anyOf:
- type: string
- type: array
items:
type: string
id:
title: Logical id of this artifact
maxLength: 64
minLength: 1
pattern: ^[A-Za-z0-9\-.]+$
type: string
description: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
_id:
title: Extension field for ``id``.
type: string
implicitRules:
title: A set of rules under which this content was created
pattern: \S*
type: string
description: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
_implicitRules:
title: Extension field for ``implicitRules``.
type: string
language:
title: Language of the resource content
pattern: ^[^\s]+(\s[^\s]+)*$
type: string
description: The base language in which the resource is written.
_language:
title: Extension field for ``language``.
type: string
meta:
title: Metadata about the resource
type: string
description: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
contained:
title: Contained, inline Resources
type: array
items:
type: string
description: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
extension:
title: Additional content defined by implementations
type: array
items:
type: string
description: May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtension:
title: Extensions that cannot be ignored
type: array
items:
type: string
description: May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
text:
title: Text summary of the resource, for human interpretation
type: string
description: A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
compose:
title: Content logical definition of the value set (CLD)
type: string
description: A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).
contact:
title: Contact details for the publisher
type: array
items:
type: string
description: Contact details to assist a user in finding and communicating with the publisher.
copyright:
title: Use and/or publishing restrictions
pattern: \s*(\S|\s)*
type: string
description: A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.
_copyright:
title: Extension field for ``copyright``.
type: string
date:
title: Date last changed
type: string
description: The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').
format: date-time
_date:
title: Extension field for ``date``.
type: string
description:
title: Natural language description of the value set
pattern: \s*(\S|\s)*
type: string
description: A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.
_description:
title: Extension field for ``description``.
type: string
expansion:
title: Used when the value set is "expanded"
type: string
description: A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.
experimental:
title: For testing purposes, not real usage
type: boolean
description: A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
_experimental:
title: Extension field for ``experimental``.
type: string
identifier:
title: Additional identifier for the value set (business identifier)
type: array
items:
type: integer
description: A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.
immutable:
title: Indicates whether or not any change to the content logical definition may occur
type: boolean
description: 'If this is set to ''true'', then no new versions of the content logical definition can be created. Note: Other metadata might still change.'
_immutable:
title: Extension field for ``immutable``.
type: string
jurisdiction:
title: Intended jurisdiction for value set (if applicable)
type: array
items:
type: string
description: A legal or geographic region in which the value set is intended to be used.
name:
title: Name for this value set (computer friendly)
pattern: '[ \r\n\t\S]+'
type: string
description: A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.
_name:
title: Extension field for ``name``.
type: string
publisher:
title: Name of the publisher (organization or individual)
pattern: '[ \r\n\t\S]+'
type: string
description: The name of the organization or individual that published the value set.
_publisher:
title: Extension field for ``publisher``.
type: string
purpose:
title: Why this value set is defined
pattern: \s*(\S|\s)*
type: string
description: Explanation of why this value set is needed and why it has been designed as it has.
_purpose:
title: Extension field for ``purpose``.
type: string
status:
title: draft | active | retired | unknown
pattern: ^[^\s]+(\s[^\s]+)*$
type: string
description: The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.
_status:
title: Extension field for ``status``.
type: string
title:
title: Name for this value set (human friendly)
pattern: '[ \r\n\t\S]+'
type: string
description: A short, descriptive, user-friendly title for the value set.
_title:
title: Extension field for ``title``.
type: string
url:
title: Canonical identifier for this value set, represented as a URI (globally unique)
pattern: \S*
type: string
description: An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.
_url:
title: Extension field for ``url``.
type: string
useContext:
title: The context that the content is intended to support
type: array
items:
type: string
description: The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.
version:
title: Business version of the value set
pattern: '[ \r\n\t\S]+'
type: string
description: The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
_version:
title: Extension field for ``version``.
type: string
additionalProperties: false
description: 'Disclaimer: Any field name ends with ``__ext`` does''t part of
Resource StructureDefinition, instead used to enable Extensibility feature
for FHIR Primitive Data Types.
A set of codes drawn from one or more code systems.
A ValueSet resource instance specifies a set of codes drawn from one or
more code systems, intended for use in a particular context. Value sets
link between [CodeSystem](codesystem.html) definitions and their use in
[coded elements](terminologies.html).'
Coding:
title: Coding
type: object
properties:
code:
title: Code
type: string
description: The code for what is being represented
display:
title: Display
type: string
description: A codesystem for this code.
system:
title: System
type: string
description: A short, human-readable label to display.
context:
title: Context
allOf:
- $ref: '#/components/schemas/CodingContext'
description: Context for the coding within the EHR. For use as part of the closing code structure
Action:
title: Action
required:
- type
- description
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/ActionEnum'
description: The type of action being performed.
description:
title: Description
type: string
description: Human-readable description of the suggested action MAY be presented to the end-user.
resource:
title: Resource
anyOf:
- $ref: '#/components/schemas/ValueSet'
- $ref: '#/components/schemas/Observation'
- $ref: '#/components/schemas/Condition'
- $ref: '#/components/schemas/ServiceRequest'
- $ref: '#/components/schemas/Immunization'
- $ref: '#/components/schemas/AllergyIntolerance'
- $ref: '#/components/schemas/Communication'
- $ref: '#/components/schemas/Endpoint'
- $ref: '#/components/schemas/DocumentReference'
description: A FHIR resource. When the type attribute is create, the resource attribute SHALL contain a new FHIR resource to be created. For update, this holds the updated resource in it
# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elation-health/refs/heads/main/openapi/elation-health-definitions-api-openapi.yml