openapi: 3.0.0 paths: /oauth/token: post: operationId: PublicOAuthController_token summary: Get Token description: Obtain an access token that is authorized to make API calls. parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OAuthTokenRequestDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OAuthTokenResponseDto' '400': description: '' '401': description: '' '429': description: '' tags: - OAuth /api/v1/patient-registry/application/{id}: get: operationId: PublicApplicationController_get summary: Get Application description: Get a specific application by ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path description: The ID of the application to retrieve. schema: type: string format: uuid responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Application' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Application security: - bearer: [] /api/v1/patient-registry/application: post: operationId: PublicApplicationController_create summary: Create Application description: Create a new application. The application will be created in the system and an email will be sent to the applicant requesting consent. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateApplication' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateApplicationResponse' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Application security: - bearer: [] /api/v1/patient-registry/application/{id}/resend-verification: post: operationId: PublicApplicationController_resendVerification summary: Resend Application Invite description: Resends an email to the applicant requesting consent. Also updates the webhooks for the application. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApplicationWebhooks' responses: '201': description: '' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Application security: - bearer: [] /api/v1/patient-registry/subject: get: operationId: PublicSubjectController_search summary: Search Subjects description: Search subjects parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field name to sort by schema: default: identifier type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: deleted required: false in: query schema: type: boolean - name: identifier required: false in: query schema: type: string - name: subjectIds required: false in: query schema: format: uuid type: array items: type: string - name: firstName required: false in: query schema: type: string - name: lastName required: false in: query schema: type: string - name: city required: false in: query schema: type: string - name: state required: false in: query schema: type: string - name: addressLine1 required: false in: query schema: type: string - name: addressLine2 required: false in: query schema: type: string - name: postalCode required: false in: query schema: type: string - name: gender required: false in: query schema: type: string - name: birthDate required: false in: query schema: type: string - name: birthDateStart required: false in: query schema: type: string - name: birthDateEnd required: false in: query schema: type: string - name: deathDate required: false in: query schema: type: string - name: deathDateStart required: false in: query schema: type: string - name: deathDateEnd required: false in: query schema: type: string - name: email required: false in: query schema: type: string - name: created required: false in: query schema: type: string - name: createdStart required: false in: query schema: type: string - name: createdEnd required: false in: query schema: type: string - name: updated required: false in: query schema: type: string - name: updatedStart required: false in: query schema: type: string - name: updatedEnd required: false in: query schema: type: string - name: phoneNumber required: false in: query schema: type: string - name: externalIdentifiers required: false in: query schema: type: array items: type: string - name: labels required: false in: query schema: type: array items: type: string - name: cohortIds required: false in: query schema: type: array items: type: string - name: programDeliveryId required: false in: query schema: type: string - name: programDeliveryStatus required: false in: query schema: type: string - name: additionalNames required: false in: query schema: type: array items: type: string - name: totalQueries required: false in: query schema: type: number - name: successfulQueries required: false in: query schema: type: number - name: inflightQueries required: false in: query schema: type: number - name: viewId required: false in: query schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SubjectPaginationResult' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Subject security: - bearer: [] post: operationId: PublicSubjectController_create summary: Create Subjects description: Creates all the subjects defined in the array. Maximum of 10 subjects allowed. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf requestBody: required: true description: Array of subjects to create, or a batch object with subjects array and optional batch-level options. Maximum of 10 subjects allowed. content: application/json: schema: oneOf: - type: array items: $ref: '#/components/schemas/CreateSubject' description: Array of subjects to create. Maximum of 10 subjects allowed. - $ref: '#/components/schemas/CreateSubjectBatch' responses: '201': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateSubjectResult' '400': description: '' '401': description: '' '403': description: '' '409': description: '' '429': description: '' tags: - Subject security: - bearer: [] /api/v1/patient-registry/subject/{id}: get: operationId: PublicSubjectController_get summary: Get Subject description: Get a specific subject by ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Subject' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Subject security: - bearer: [] put: operationId: PublicSubjectController_update summary: Update Subject description: Update a subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateSubject' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Subject' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Subject security: - bearer: [] /api/v1/patient-registry/subject/{id}/status/clinical-concepts: get: operationId: PublicSubjectController_getClinicalConceptsStatus summary: Get Clinical Concepts Status description: Get information regarding the availability of clinical concepts for a subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptsStatusDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Subject security: - bearer: [] /api/v1/patient-registry/query: get: operationId: PublicQueryController_search summary: Search Queries description: Search Queries parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field name to sort by schema: default: created enum: - created - ccdaStatus - externalSystem type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: false in: query schema: format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 type: string - name: status required: false in: query description: Filter applies specifically to property ccdaStatus schema: enum: - delayed - initiated - pending - inProgress - completed - exhausted - error type: string - name: createdFrom required: false in: query readOnly: true description: Include queries created on or after this date (inclusive) schema: format: ISO 8601 example: '2025-05-26T23:30:40.912Z' type: string - name: createdTo required: false in: query readOnly: true description: Include queries created before this date (exclusive) schema: format: ISO 8601 example: '2025-05-26T23:30:40.912Z' type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: '' content: application/json: schema: $ref: '#/components/schemas/QueryPaginationResult' tags: - Query security: - bearer: [] post: operationId: PublicQueryController_create summary: Create Query description: Create a new query by providing the necessary details. The query will be stored and can be used for further operations. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf requestBody: required: true description: The data required to create a new query. content: application/json: schema: $ref: '#/components/schemas/CreateQueryDto' examples: example1: summary: Example Query Creation value: subjectId: 1782b464-ab03-4c03-9810-83d42b86e587 organizationIds: - 2.16.840.1.113883.3.3126.2.3.32103.16 responses: '201': description: The query was successfully created. content: application/json: schema: $ref: '#/components/schemas/QueryDto' '400': description: Bad Request. The input data is invalid. '401': description: Unauthorized. The user is not authenticated. '403': description: Forbidden. The user does not have permission to create a query. '429': description: Too Many Requests. The user has exceeded the rate limit. tags: - Query security: - bearer: [] /api/v1/patient-registry/query/{id}: get: operationId: PublicQueryController_get summary: Get Query description: Get a specific query by ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string responses: '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' default: description: '' content: application/json: schema: $ref: '#/components/schemas/GetQueryResponse' tags: - Query security: - bearer: [] /api/v1/patient-registry/summary/subject/{subjectId}: get: operationId: PublicSummaryController_subjectSummary summary: Subject Summary description: Fetches the summary for a given subject. Throws a Forbidden error if the summary feature is disabled for the project. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: subjectId required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SubjectSummaryDto' '400': description: '' '401': description: '' '403': description: 'Forbidden: The summary feature is not enabled for the project.' '429': description: '' tags: - Summary security: - bearer: [] /api/v1/patient-registry/fhir/allergyintolerance: get: operationId: PublicFhirController_allergyIntolerance summary: Allergy Intolerances description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/basic: get: operationId: PublicFhirController_basic summary: Basics description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/careplan: get: operationId: PublicFhirController_carePlan summary: Care Plans description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/coverage: get: operationId: PublicFhirController_coverage summary: Coverages description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/condition: get: operationId: PublicFhirController_condition summary: Conditions description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/diagnosticreport: get: operationId: PublicFhirController_diagnosticReport summary: Diagnostic Reports description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/encounter: get: operationId: PublicFhirController_encounter summary: Encounters description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/medicationstatement: get: operationId: PublicFhirController_medicationstatement summary: Medication Statements description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/patient: get: operationId: PublicFhirController_patient summary: Patients description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/procedure: get: operationId: PublicFhirController_procedure summary: Procedures description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/observation: get: operationId: PublicFhirController_observation summary: Observations description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/specimen: get: operationId: PublicFhirController_specimen summary: Specimens description: Search the specific FHIR resources by `subjectId`. For the latest documentation of the response, please see the Resource Bundle definition in the FHIR spec. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: true in: query schema: default: 1 type: number - name: pageSize required: true in: query schema: default: 50 type: number - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: Please see the Resource Bundle definition in the FHIR spec. headers: content-type: schema: type: string enum: - application/json+fhir tags: - FHIR security: - bearer: [] /api/v1/patient-registry/fhir/_export: get: operationId: PublicFhirController_export summary: Export FHIR Resources description: Export a FHIR Bundle containing all of the subject's resources. The resulting FHIR Bundle will be in JSON Lines format. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: subjectId required: true in: query schema: format: uuid type: string responses: '400': description: '' '401': description: '' '403': description: '' '429': description: '' default: description: The result of the FHIR resource export. headers: content-type: schema: type: string enum: - application/json expires: description: Indicates when the resulting output URL(s) will expire. schema: type: string example: Wed, 21 Oct 2023 07:28:00 GMT content: application/json: schema: $ref: '#/components/schemas/FhirExportResponseDto' tags: - FHIR security: - bearer: [] /api/v1/patient-registry/document: post: operationId: PublicDocumentController_create summary: Create a Document description: Create a new document for a subject and get a signed URL to upload the document. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDocumentRequest' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateDocumentResponse' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Document security: - bearer: [] get: operationId: PublicDocumentController_getAll summary: Search Documents description: Get a paginated list of documents for a subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field name to sort by schema: default: created type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query schema: format: uuid type: string - name: informationTypes required: false in: query description: Document Classifications (an Array of strings) schema: type: array items: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DocumentPaginationResult' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Document security: - bearer: [] /api/v1/patient-registry/document/{documentId}: get: operationId: PublicDocumentController_getById summary: Get Document description: Get a specific document by id. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: documentId required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/DocumentDetail' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Document security: - bearer: [] put: operationId: PublicDocumentController_update summary: Update Document description: Update a document. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: documentId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDocumentRequest' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DocumentSummary' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Document security: - bearer: [] /api/v1/patient-registry/document/{documentId}/reciprocity: put: operationId: PublicDocumentController_reciprocity summary: Publish Document description: Publish a document for reciprocity to the EHR network. Can be used to update the template used for reciprocity as well. Note that the project's Reciprocity must be enabled and Requester Information and Encounter Information need to be properly set up in the Administration UI. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: documentId required: true in: path schema: format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DocumentReciprocityDto' responses: '200': description: Empty body. Document published for reciprocity successfully. '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Document security: - bearer: [] delete: operationId: PublicDocumentController_unpublish summary: Unpublish Document description: Unpublish a document from reciprocity in the EHR network. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: documentId required: true in: path schema: format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 type: string responses: '200': description: Empty body. Document unpublished successfully. '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Document security: - bearer: [] /api/v1/patient-registry/document/{documentId}/pdf: get: operationId: PublicDocumentController_getPdfById summary: Get Document PDF URL description: Get a signed URL to download the PDF version of a document. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: documentId required: true in: path schema: format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DocumentPdfUrlDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Document security: - bearer: [] /api/v1/patient-registry/reciprocity-template: get: operationId: PublicReciprocityTemplateController_list summary: List Reciprocity Templates description: Get a list of all reciprocity document templates available under this project. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/PublishDocumentTemplateDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Reciprocity Template security: - bearer: [] /api/v1/patient-registry/checklist: get: operationId: PublicChecklistController_list summary: Get Checklists description: Get the set of checklists configured for the project. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: type required: false in: query description: The type of checklist. schema: default: questionnaire enum: - questionnaire type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Checklist' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Checklist security: - bearer: [] /api/v1/patient-registry/checklist/{checklistId}/evaluate: post: operationId: PublicChecklistController_evaluate summary: Evaluate Checklist description: Evaluate a checklist for a subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: checklistId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ChecklistEvaluationRequest' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ChecklistEvaluationResult' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Checklist security: - bearer: [] /api/v1/patient-registry/checklist/{checklistId}/item/{checklistItemId}/feedback: post: operationId: PublicChecklistController_submitItemFeedback summary: Submit Checklist Item Feedback description: Submit feedback on a specific checklist item for a subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: checklistId required: true in: path schema: type: string - name: checklistItemId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ChecklistItemFeedbackRequest' responses: '200': description: ID of the created feedback record. content: application/json: schema: type: string '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Checklist security: - bearer: [] /api/v1/patient-registry/clinical-concepts/condition: get: operationId: PublicClinicalConceptsController_searchConditions summary: Search Clinical Concepts Conditions description: Search for condition clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/condition/{id}: get: operationId: PublicClinicalConceptsController_getCondition summary: Get Clinical Concept Condition description: Retrieve a specific condition clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptConditionDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/medication: get: operationId: PublicClinicalConceptsController_searchMedications summary: Search Clinical Concepts Medications description: Search for medication clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/medication/{id}: get: operationId: PublicClinicalConceptsController_getMedication summary: Get Clinical Concept Medication description: Retrieve a specific medication clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptMedicationDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/allergy: get: operationId: PublicClinicalConceptsController_searchAllergies summary: Search Clinical Concepts Allergies description: Search for allergy clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/allergy/{id}: get: operationId: PublicClinicalConceptsController_getAllergy summary: Get Clinical Concept Allergy description: Retrieve a specific allergy clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptAllergyDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/procedure: get: operationId: PublicClinicalConceptsController_searchProcedures summary: Search Clinical Concepts Procedures description: Search for procedure clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/procedure/{id}: get: operationId: PublicClinicalConceptsController_getProcedure summary: Get Clinical Concept Procedure description: Retrieve a specific procedure clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptProcedureDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/biomarker: get: operationId: PublicClinicalConceptsController_searchBiomarkers summary: Search Clinical Concepts Biomarkers description: Search for biomarker clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/biomarker/{id}: get: operationId: PublicClinicalConceptsController_getBiomarker summary: Get Clinical Concept Biomarker description: Retrieve a specific biomarker clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptBiomarkerDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/coverage: get: operationId: PublicClinicalConceptsController_searchCoverage summary: Search Clinical Concepts Coverage description: Search for coverage clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/coverage/{id}: get: operationId: PublicClinicalConceptsController_getCoverage summary: Get Clinical Concept Coverage description: Retrieve a specific coverage clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptCoverageDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/demographic: get: operationId: PublicClinicalConceptsController_searchDemographics summary: Search Clinical Concepts Demographics description: Search for demographic clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/demographic/{id}: get: operationId: PublicClinicalConceptsController_getDemographic summary: Get Clinical Concept Demographic description: Retrieve a specific demographic clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptDemographicDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/encounter: get: operationId: PublicClinicalConceptsController_searchEncounters summary: Search Clinical Concepts Encounters description: Search for encounter clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/encounter/{id}: get: operationId: PublicClinicalConceptsController_getEncounter summary: Get Clinical Concept Encounter description: Retrieve a specific encounter clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptEncounterDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/family_history: get: operationId: PublicClinicalConceptsController_searchFamilyHistory summary: Search Clinical Concepts Family History description: Search for family history clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/family_history/{id}: get: operationId: PublicClinicalConceptsController_getFamilyHistory summary: Get Clinical Concept Family History description: Retrieve a specific family history clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptFamilyHistoryDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/imaging: get: operationId: PublicClinicalConceptsController_searchImaging summary: Search Clinical Concepts Imaging description: Search for imaging clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/imaging/{id}: get: operationId: PublicClinicalConceptsController_getImaging summary: Get Clinical Concept Imaging description: Retrieve a specific imaging clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptImagingDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/lab: get: operationId: PublicClinicalConceptsController_searchLabs summary: Search Clinical Concepts Labs description: Search for lab clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/lab/{id}: get: operationId: PublicClinicalConceptsController_getLab summary: Get Clinical Concept Lab description: Retrieve a specific lab clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptLabDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/social_history: get: operationId: PublicClinicalConceptsController_searchSocialHistory summary: Search Clinical Concepts Social History description: Search for social history clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/social_history/{id}: get: operationId: PublicClinicalConceptsController_getSocialHistory summary: Get Clinical Concept Social History description: Retrieve a specific social history clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptSocialHistoryDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/survey: get: operationId: PublicClinicalConceptsController_searchSurveys summary: Search Clinical Concepts Surveys description: Search for survey clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/survey/{id}: get: operationId: PublicClinicalConceptsController_getSurvey summary: Get Clinical Concept Survey description: Retrieve a specific survey clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptSurveyDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/radiation: get: operationId: PublicClinicalConceptsController_searchRadiation summary: Search Clinical Concepts Radiation description: Search for radiation clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/radiation/{id}: get: operationId: PublicClinicalConceptsController_getRadiation summary: Get Clinical Concept Radiation description: Retrieve a specific radiation clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptRadiationDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/vital: get: operationId: PublicClinicalConceptsController_searchVitals summary: Search Clinical Concepts Vitals description: Search for vital clinical concepts associated with a specific subject. Supports filtering by search term, date range, code, and code system. Results are paginated. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: pageNumber required: false in: query description: Page number to retrieve (1-based index) schema: default: 1 type: number - name: pageSize required: false in: query description: Number of items per page schema: default: 50 type: number - name: sortField required: false in: query description: Field to sort by schema: default: score enum: - date - score type: string - name: sortIsDescending required: false in: query description: Whether to sort in descending order schema: default: false type: boolean - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string - name: dateStart required: false in: query description: Start date for filtering (ISO string) schema: example: '2025-01-01' type: string - name: dateEnd required: false in: query description: End date for filtering (ISO string) schema: example: '2025-12-31' type: string - name: searchTerm required: false in: query description: Search term for filtering schema: example: aspirin type: string - name: searchTermMode required: false in: query description: 'Search mode: lexical (keyword), semantic (vector), or hybrid (RRF blend of both). Defaults to hybrid when a searchTerm is provided.' schema: enum: - lexical - semantic - hybrid type: string - name: code required: false in: query description: Filter by code value schema: example: E11.9 type: string - name: codeSystem required: false in: query description: Filter by code system schema: example: http://hl7.org/fhir/sid/icd-10 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginationResultDto' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/clinical-concepts/vital/{id}: get: operationId: PublicClinicalConceptsController_getVital summary: Get Clinical Concept Vital description: Retrieve a specific vital clinical concept associated with a subject by its ID. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf - name: id required: true in: path schema: type: string - name: subjectId required: true in: query description: Subject ID (GUID) schema: example: 123e4567-e89b-12d3-a456-426614174000 type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ClinicalConceptVitalDto' '400': description: '' '401': description: '' '403': description: '' '404': description: '' '429': description: '' tags: - Clinical Concepts security: - bearer: [] /api/v1/patient-registry/project: get: operationId: PublicProjectController_getAll summary: List Projects description: Returns the projects your credentials can access, including each projectId. No ProjectId header is required — use this to discover the projectId values needed for other API calls. parameters: [] responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' '400': description: '' '401': description: '' '403': description: '' '429': description: '' tags: - Project security: - bearer: [] /api/v2/patient-registry/subject: post: operationId: PublicSubjectControllerV2_create summary: Create Subject V2 description: Creates and returns the subject. parameters: - name: ProjectId in: header required: true schema: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf requestBody: required: true description: Subject to create. content: application/json: schema: $ref: '#/components/schemas/CreateSubjectV2' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/Subject' '400': example: title: Bad Request status: 400 detail:
description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Bad Request status: 400 detail:
'401': description: '' '403': example: title: Forbidden status: 403 detail: Forbidden resource description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Forbidden status: 403 detail: Forbidden resource '409': example: title: Conflict status: 409 detail:
description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Conflict status: 409 detail:
'429': example: title: Too Many Requests status: 429 detail:
description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Too Many Requests status: 429 detail:
'500': example: title: Internal Server Error status: 500 detail:
description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Internal Server Error status: 500 detail:
'503': example: title: Service Unavailable status: 503 detail:
description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: title: Service Unavailable status: 503 detail:
tags: - Subject security: - bearer: [] info: title: xCures API description: "# Authentication\nOur API requires a Bearer Token in the `Authorization` header for auth. Most of our endpoints\ \ also require a `ProjectId` header to set the context of the request. It must be one of the projects the api client has\ \ permissions to.\n\n### Getting a token\nTo get a token, use your `client_id` and `client_secret` to execute a client\ \ credentials exchange.\n\n#### Example CURL command:\n\n curl --request POST \\\n --url https://partner.xcures.com/oauth/token\ \ \\\n --header 'content-type: application/json' \\\n --data '{\"client_id\":\"{your_client_id}\",\"client_secret\"\ :\"{your_client_secret}\",\"grant_type\":\"client_credentials\"}'\n \n#### Response:\n\n {\n \"access_token\"\ : \"{your_temporary_access_token}\",\n \"token_type\": \"Bearer\"\n }\n\n### Using the token with our API:\n\ Now just include that bearer token in the `Authorization` header of your requests to our API.\n\n#### Example authorized\ \ request:\n\n curl --request GET \\\n --url https://partner.xcures.com/api/v1/patient-registry/subject \\\n\ \ --header 'ProjectId: {your_project_id}' \\\n --header 'authorization: Bearer {your_temporary_access_token}'" version: V1 x-logo: url: https://prod-xc-public-marketing.s3.us-west-2.amazonaws.com/xCures-emails-logo.png tags: - name: OAuth description: All API requests to xCures must provide an access token, retrieved via the standard OAuth authorization flow below. - name: Subject description: An individual patient created on the xCures Platform. - name: Query description: A specified, approved request for patient records across the network (e.g., via Carequality/TEFCA to support treatment activities, via TEFCA for IAS queries) with an associated status (e.g., “completed”). - name: Document description: Patient records retrieved by the xCures platform and/or loaded by platform users. - name: FHIR description: '**F**ast **H**ealthcare **I**nteroperability **R**esource is an international data model specification developed by HL7 International to enable healthcare data exchange and interoperability between different systems.' - name: Clinical Concepts description: Clinical concepts is a proprietary xCures higher-level, flattened, filtered, opinionated view of medical record information, structured around FHIR guidelines. - name: Checklist description: AI-powered feature leveraging xCures’ targeted data extraction/processing to populate validated, customizable question/answer-style items. Responses can be highly flexible and every item returns a justification, supporting documents, and structured data to guide decisions in real time. - name: Summary description: The AI-generated summary of a patient’s overall records and condition(s). - name: Application description: Account creation (e.g., identity proofing, eConsent) that is required for a patient to progress on the xCures Platform. - name: Reciprocity Template description: Reciprocity or "Responder" workflows refer to the process of sharing clinical documentation housed within your system with other organizations/providers, when participating in health data exchange networks (e.g., Carequality, TEFCA). - name: Project description: A configured workspace on the xCures Platform. Use this endpoint to discover the projectId value(s) required by other API calls, without needing to log into the portal. servers: - url: https://partner.xcures.com components: securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http schemas: OAuthTokenRequestDto: type: object properties: client_id: type: string format: uuid example: c8ec1d54-a85c-411f-aa12-fd3a7f2480f4 description: Your API key's client ID. client_secret: type: string description: Your API key's client secret. grant_type: type: string example: client_credentials enum: - client_credentials description: The OAuth 2.0 grant type. required: - client_id - client_secret - grant_type OAuthTokenResponseDto: type: object properties: access_token: type: string description: The credential used to authenticate API requests. token_type: type: string example: Bearer description: The type of token being issued. required: - access_token - token_type Application: type: object properties: id: type: string format: uuid example: c8ec1d54-a85c-411f-aa12-fd3a7f2480f4 created: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true updated: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the applicant has none. lastName: type: string example: Mann birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string maxLength: 10 example: '55401' sexAtBirth: type: string enum: - male - female - unknown emailAddress: type: string format: email example: david.mann@example.com phoneNumber: type: string example: 123-456-7890 cohortId: type: string format: uuid example: f46c52af-820b-4169-82af-b740b54d8bb5 cohortName: type: string example: Cohort A subjectId: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 consentAccepted: type: boolean onConsentWebhookUrl: type: string description: Webhook URL to invoke when an applicant accepts or denies consent. example: https://example.com/webhooks/consent onIdentityValidationWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's identity validation. example: https://example.com/webhooks/identity-validation onQueryResultWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's EHR query. example: https://example.com/webhooks/ehr-query required: - id - created - updated - firstName - lastName - birthDate - addressPostalCode - sexAtBirth - emailAddress CreateApplication: type: object properties: id: type: string format: uuid example: c8ec1d54-a85c-411f-aa12-fd3a7f2480f4 firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the applicant has none. lastName: type: string example: Mann birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string maxLength: 10 example: '55401' sexAtBirth: type: string enum: - male - female - unknown emailAddress: type: string format: email example: david.mann@example.com phoneNumber: type: string example: 123-456-7890 cohortId: type: string format: uuid example: f46c52af-820b-4169-82af-b740b54d8bb5 onConsentWebhookUrl: type: string description: Webhook URL to invoke when an applicant accepts or denies consent. example: https://example.com/webhooks/consent onIdentityValidationWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's identity validation. example: https://example.com/webhooks/identity-validation onQueryResultWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's EHR query. example: https://example.com/webhooks/ehr-query required: - id - firstName - lastName - birthDate - addressPostalCode - sexAtBirth - emailAddress CreateApplicationResponse: type: object properties: id: type: string format: uuid example: c8ec1d54-a85c-411f-aa12-fd3a7f2480f4 created: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true updated: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the applicant has none. lastName: type: string example: Mann birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string maxLength: 10 example: '55401' sexAtBirth: type: string enum: - male - female - unknown emailAddress: type: string format: email example: david.mann@example.com phoneNumber: type: string example: 123-456-7890 cohortId: type: string format: uuid example: f46c52af-820b-4169-82af-b740b54d8bb5 cohortName: type: string example: Cohort A consentAccepted: type: boolean onConsentWebhookUrl: type: string description: Webhook URL to invoke when an applicant accepts or denies consent. example: https://example.com/webhooks/consent onIdentityValidationWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's identity validation. example: https://example.com/webhooks/identity-validation onQueryResultWebhookUrl: type: string description: Webhook URL to invoke when there's a result for an applicant's EHR query. example: https://example.com/webhooks/ehr-query required: - id - created - updated - firstName - lastName - birthDate - addressPostalCode - sexAtBirth - emailAddress ApplicationWebhooks: type: object properties: onConsentWebhookUrl: type: string onIdentityValidationWebhookUrl: type: string onQueryResultWebhookUrl: type: string SubjectExternalIdentifier: type: object properties: externalIdentifier: type: string externalSystem: type: string required: - externalIdentifier - externalSystem SubjectAdditionalName: type: object properties: first: type: string description: At least one of 'first' and 'last' must be provided. last: type: string description: At least one of 'first' and 'last' must be provided. middle: type: string description: Full middle name or a bare initial for this alternate name; omit if unknown. SubjectAddressDto: type: object properties: addressLine1: type: string addressLine2: type: string addressCity: type: string addressState: type: string addressPostalCode: type: string SubjectTagDto: type: object properties: id: type: string format: uuid description: 'Caller-supplied UUID for the tag value. Required on create: the column is `not null` with no database default and no server-side generation.' projectTagId: type: string format: uuid description: The ProjectTag being valued. Its `dataType` decides which of the four value fields below is required. valueText: type: string description: Value when the referenced ProjectTag has `dataType` `text`, and required in that case. Absent otherwise. valueNumber: type: number description: Value when the referenced ProjectTag has `dataType` `number`, and required in that case. Absent otherwise. valueDate: format: date-time type: string description: Value when the referenced ProjectTag has `dataType` `date`, and required in that case. Absent otherwise. valueBoolean: type: boolean description: Value when the referenced ProjectTag has `dataType` `boolean`, and required in that case. Absent otherwise. subjectId: type: string readOnly: true format: uuid description: Subject the tag belongs to. Assigned from the subject being created or updated; anything sent is ignored. organizationId: type: string readOnly: true format: uuid description: Assigned from the authenticated organization; anything sent is ignored. projectId: type: string readOnly: true format: uuid description: Assigned from the request `ProjectId`; anything sent is ignored. created: format: date-time type: string readOnly: true description: Assigned server-side on create; anything sent is ignored. updated: format: date-time type: string readOnly: true description: Assigned server-side on create and update; anything sent is ignored. required: - id - projectTagId Subject: type: object properties: id: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 created: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true updated: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true deleted: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true identifier: type: string example: ABCD12 description: A human-readable, randomly generated, 6 character alpha-numeric identifier for the subject. readOnly: true firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the subject has none. An update that omits this field clears any stored value. lastName: type: string example: Mann email: type: string format: email example: david.mann@example.com birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' deathDate: format: yyyy-mm-dd type: string example: '2023-05-26' gender: type: string enum: - M - F - null example: M description: For guaranteed long term compatibility we recommend using the single character gender identifiers. We will optimistically accept other formats like 'male' and 'female'. addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string format: '00000' example: '55401' description: 5 or 9 digit postal code phoneNumber: type: string example: 123-456-7890 externalIdentifiers: example: - externalIdentifier: '12345' externalSystem: Hospital A type: array items: $ref: '#/components/schemas/SubjectExternalIdentifier' labels: example: - label_1 - Label 2 type: array items: type: string cohortNames: type: array items: type: string additionalNames: example: - first: Dave last: Mann type: array items: $ref: '#/components/schemas/SubjectAdditionalName' additionalAddresses: example: - addressLine1: 456 Other St. addressCity: Saint Paul addressState: MN addressPostalCode: '55101' type: array items: $ref: '#/components/schemas/SubjectAddressDto' tags: type: array items: $ref: '#/components/schemas/SubjectTagDto' required: - id - created - updated - identifier - firstName - lastName SubjectPaginationResult: type: object properties: pageNumber: type: number default: 1 description: Page number to retrieve (1-based index) pageSize: type: number default: 50 description: Number of items per page sortField: type: string default: created description: Field name to sort by sortIsDescending: type: boolean default: false description: Whether to sort in descending order totalCount: type: number description: Total number of items matching the query results: description: List of results for the current page type: array items: $ref: '#/components/schemas/Subject' required: - totalCount - results CreateSubject: type: object properties: id: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the subject has none. An update that omits this field clears any stored value. lastName: type: string example: Mann email: type: string format: email example: david.mann@example.com birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' deathDate: format: yyyy-mm-dd type: string example: '2023-05-26' gender: type: string enum: - M - F - null example: M description: For guaranteed long term compatibility we recommend using the single character gender identifiers. We will optimistically accept other formats like 'male' and 'female'. addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string format: '00000' example: '55401' description: 5 or 9 digit postal code phoneNumber: type: string example: 123-456-7890 externalIdentifiers: example: - externalIdentifier: '12345' externalSystem: Hospital A type: array items: $ref: '#/components/schemas/SubjectExternalIdentifier' labels: example: - label_1 - Label 2 type: array items: type: string additionalNames: example: - first: Dave last: Mann type: array items: $ref: '#/components/schemas/SubjectAdditionalName' additionalAddresses: example: - addressLine1: 456 Other St. addressCity: Saint Paul addressState: MN addressPostalCode: '55101' type: array items: $ref: '#/components/schemas/SubjectAddressDto' tags: type: array items: $ref: '#/components/schemas/SubjectTagDto' required: - id - firstName - lastName CreateSubjectBatchOptions: type: object properties: initiateEhrQueries: type: boolean description: When true, initiates EHR queries for all subjects in the batch after creation. Defaults to true when omitted. default: true CreateSubjectBatch: type: object properties: subjects: type: array items: $ref: '#/components/schemas/CreateSubject' options: $ref: '#/components/schemas/CreateSubjectBatchOptions' required: - subjects CreateSubjectResult: type: object properties: id: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 created: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true updated: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true deleted: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true identifier: type: string example: ABCD12 description: A human-readable, randomly generated, 6 character alpha-numeric identifier for the subject. readOnly: true firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the subject has none. An update that omits this field clears any stored value. lastName: type: string example: Mann email: type: string format: email example: david.mann@example.com birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' deathDate: format: yyyy-mm-dd type: string example: '2023-05-26' gender: type: string enum: - M - F - null example: M description: For guaranteed long term compatibility we recommend using the single character gender identifiers. We will optimistically accept other formats like 'male' and 'female'. addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string format: '00000' example: '55401' description: 5 or 9 digit postal code phoneNumber: type: string example: 123-456-7890 externalIdentifiers: example: - externalIdentifier: '12345' externalSystem: Hospital A type: array items: $ref: '#/components/schemas/SubjectExternalIdentifier' labels: example: - label_1 - Label 2 type: array items: type: string cohortNames: type: array items: type: string additionalNames: example: - first: Dave last: Mann type: array items: $ref: '#/components/schemas/SubjectAdditionalName' additionalAddresses: example: - addressLine1: 456 Other St. addressCity: Saint Paul addressState: MN addressPostalCode: '55101' type: array items: $ref: '#/components/schemas/SubjectAddressDto' tags: type: array items: $ref: '#/components/schemas/SubjectTagDto' failureReason: type: string required: - id - created - updated - identifier - firstName - lastName UpdateSubject: type: object properties: firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the subject has none. An update that omits this field clears any stored value. lastName: type: string example: Mann email: type: string format: email example: david.mann@example.com birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' deathDate: format: yyyy-mm-dd type: string example: '2023-05-26' gender: type: string enum: - M - F - null example: M description: For guaranteed long term compatibility we recommend using the single character gender identifiers. We will optimistically accept other formats like 'male' and 'female'. addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string format: '00000' example: '55401' description: 5 or 9 digit postal code phoneNumber: type: string example: 123-456-7890 externalIdentifiers: example: - externalIdentifier: '12345' externalSystem: Hospital A type: array items: $ref: '#/components/schemas/SubjectExternalIdentifier' labels: example: - label_1 - Label 2 type: array items: type: string additionalNames: example: - first: Dave last: Mann type: array items: $ref: '#/components/schemas/SubjectAdditionalName' additionalAddresses: example: - addressLine1: 456 Other St. addressCity: Saint Paul addressState: MN addressPostalCode: '55101' type: array items: $ref: '#/components/schemas/SubjectAddressDto' tags: type: array items: $ref: '#/components/schemas/SubjectTagDto' required: - firstName - lastName ClinicalConceptsStatusDto: type: object properties: loaded: type: boolean timestamp: format: date-time type: string required: - loaded QueryAttempt: type: object properties: queryId: type: string created: format: date-time type: string fhirResult: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error ccdaResult: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error message: type: string required: - queryId - created Query: type: object properties: id: type: string subjectId: type: string created: format: date-time type: string userId: type: string fhirStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error ccdaStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error queryAttempts: type: array items: $ref: '#/components/schemas/QueryAttempt' required: - id - subjectId - created - userId QueryPaginationResult: type: object properties: pageNumber: type: number default: 1 description: Page number to retrieve (1-based index) pageSize: type: number default: 50 description: Number of items per page sortField: type: string default: created description: Field name to sort by sortIsDescending: type: boolean default: false description: Whether to sort in descending order totalCount: type: number description: Total number of items matching the query results: description: List of results for the current page type: array items: $ref: '#/components/schemas/Query' required: - totalCount - results GetQueryResponse: type: object properties: id: type: string subjectId: type: string created: format: date-time type: string userId: type: string fhirStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error ccdaStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error required: - id - subjectId - created - userId CreateQueryDto: type: object properties: subjectId: type: string description: The ID of the subject for whom the query is being created. example: 1782b464-ab03-4c03-9810-83d42b86e587 organizationIds: description: A list of organization IDs associated with the query. example: - 2.16.840.1.113883.3.3126.2.3.32103.16 type: array items: type: string required: - subjectId QueryDto: type: object properties: id: type: string subjectId: type: string created: format: date-time type: string fhirStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error ccdaStatus: type: string enum: - delayed - initiated - pending - inProgress - completed - exhausted - error userId: type: string externalPatientId: type: string externalQueryId: type: string queryAttempts: type: array items: type: string required: - id - subjectId - created - fhirStatus - ccdaStatus - userId - externalPatientId - externalQueryId - queryAttempts ReferencedDocumentDto: type: object properties: documentId: type: string description: The unique identifier of the document. example: doc12345 referencedStrings: description: A list of strings referenced in the document. example: - string1 - string2 - string3 type: array items: type: string required: - documentId - referencedStrings SubjectSummaryDto: type: object properties: overview: type: string description: An overview or summary of the subject. example: This is a summary of the subject's details. referencedDocuments: description: A list of documents referenced in the subject summary. example: - documentId: doc12345 referencedStrings: - string1 - string2 - documentId: doc67890 referencedStrings: - stringA - stringB type: array items: $ref: '#/components/schemas/ReferencedDocumentDto' required: - overview - referencedDocuments FhirExportResponseDto: type: object properties: transactionTime: format: date-time type: string description: When the export request was made. expires: format: date-time type: string description: When the resulting output URL(s) will expire. requiresAccessToken: type: boolean description: Whether the requests represented by in the `output` array require an access token. output: description: The resulting FHIR resource output will be a collection of FHIR resources in JSON Lines format, with one FHIR resource per line. Please see the FHIR R4 resource definitions. type: array items: type: string required: - transactionTime - expires - requiresAccessToken - output CreateDocumentRequest: type: object properties: subjectId: type: string documentName: type: string description: Display name for this document documentDate: format: date-time type: string fileName: type: string informationTypes: description: Document Classifications (an Array of strings) type: array items: type: string contentType: type: string format: MIME example: application/xml required: - subjectId - fileName - contentType CreateDocumentResponse: type: object properties: documentId: type: string signedS3Url: type: string required: - documentId - signedS3Url DocumentSummary: type: object properties: id: type: string created: format: date-time type: string updated: format: date-time type: string subjectId: type: string source: type: string enum: - fhir - ccda - box - userUpload - patientFhir sourceId: type: string documentName: type: string description: Display name for this document documentLocation: type: string documentDate: format: date-time type: string fileName: type: string contentType: type: string informationTypes: description: Document Classifications (an Array of strings) type: array items: type: string required: - id - created - updated - subjectId - fileName DocumentPaginationResult: type: object properties: pageNumber: type: number default: 1 description: Page number to retrieve (1-based index) pageSize: type: number default: 50 description: Number of items per page sortField: type: string default: created description: Field name to sort by sortIsDescending: type: boolean default: false description: Whether to sort in descending order totalCount: type: number description: Total number of items matching the query results: description: List of results for the current page type: array items: $ref: '#/components/schemas/DocumentSummary' required: - totalCount - results DocumentDetail: type: object properties: id: type: string created: format: date-time type: string updated: format: date-time type: string subjectId: type: string source: type: string enum: - fhir - ccda - box - userUpload - patientFhir sourceId: type: string documentName: type: string description: Display name for this document documentLocation: type: string documentDate: format: date-time type: string fileName: type: string contentType: type: string signedS3Url: type: string required: - id - created - updated - subjectId - fileName - signedS3Url UpdateDocumentRequest: type: object properties: documentName: type: string description: Display name for this document documentLocation: type: string documentDate: format: yyyy-mm-dd type: string example: '2023-05-26' DocumentReciprocityDto: type: object properties: templateId: type: string format: uuid example: c8ffe813-1e61-42aa-a26f-a0e9ab6ed1fd description: The ID of the template to use for reciprocity. See available templates at `GET /api/v1/patient-registry/reciprocity-template`. required: - templateId DocumentPdfUrlDto: type: object properties: fileName: type: string description: The name of the PDF file. signedUrl: type: string description: A signed URL to download the PDF. Valid for 15 minutes. required: - fileName - signedUrl PublishDocumentTemplateDto: type: object properties: id: type: string format: uuid example: c8ffe813-1e61-42aa-a26f-a0e9ab6ed1fd projectId: type: string name: type: string author: type: string title: type: string displayName: type: string loincCode: type: string created: format: date-time type: string updated: format: date-time type: string providerOrganizationId: type: string providerOrganizationName: type: string providerAddressLine1: type: string providerAddressLine2: type: string providerAddressCity: type: string providerAddressState: type: string providerAddressPostalCode: type: string providerPhoneNumber: type: string required: - id - projectId - name - author - title - displayName - loincCode - created - updated ChecklistItem: type: object properties: id: type: string format: uuid libraryItemId: type: string description: Checklist library item ID. For `static` type checklists, identifies the library item type. For `questionnaire` type checklists, uniquely identifies the item in the checklist. name: type: string description: Display name of the checklist item. sortOrder: type: number description: Order in which to display this checklist item. required: - id - libraryItemId - name - sortOrder Checklist: type: object properties: id: type: string format: uuid name: type: string description: Display name of the checklist. sortOrder: type: number description: Order in which the checklist is displayed. items: description: Items in the checklist. type: array items: $ref: '#/components/schemas/ChecklistItem' required: - id - name - sortOrder - items ChecklistEvaluationRequest: type: object properties: subjectId: type: string format: uuid description: The ID of the subject to evaluate the checklist for. regenerate: type: boolean description: If true, forces regeneration of the checklist evaluation even if a recent evaluation exists. required: - subjectId ClinicalConceptDto: type: object properties: clinicalConceptId: type: string description: The ID of the clinical concept. entityType: type: string description: The type of clinical concept. required: - clinicalConceptId - entityType DocumentSectionDto: type: object properties: documentId: type: string description: The ID of the document this section appears in. sectionType: type: string enum: - ccda - page description: The type of document section. section: type: string description: Uniquely identifies this section within the document. For `ccda` sectionTypes, this is the CCDA section code. For `page` sectionTypes, this is the page number. sectionTitle: type: string description: For `ccda` type sections, the title of the section. documentName: type: string description: The name of the document. documentLocation: type: string description: The facility or location associated with this document. documentContentType: type: string description: The document content MIME type. documentDate: format: date-time type: string description: The date associated with the document, when known. May be absent. documentFileSizeBytes: type: number description: The size of the document in bytes. required: - documentId - sectionType - section - documentContentType ChecklistItemEvaluationResult: type: object properties: checklistItem: description: Checklist item that was evaluated. allOf: - $ref: '#/components/schemas/ChecklistItem' checklistItemDefinitionId: type: string format: uuid description: ID of the checklist item definition this answer was produced from. Stable across evaluations of the same item. checklistItemDefinitionVersionId: type: string format: uuid description: ID of the specific checklist item definition version this answer was produced against. Item definitions are versioned, and answers produced by different versions are not directly comparable. Use this to pin an answer to the exact version that generated it. meetsCriteria: type: boolean description: Whether this checklist item's criteria is satisfied, i.e. if the checkbox should be checked. matchingRecords: deprecated: true description: Deprecated in favor of clinicalConcepts. This will be an empty array. type: array items: type: object documentIds: description: IDs of the source documents that are relevant to this checklist item. type: array items: type: string clinicalConcepts: description: Structured clinical records that are relevant to this checklist item. type: array items: $ref: '#/components/schemas/ClinicalConceptDto' documentSections: description: Document sections that are relevant to this checklist item. type: array items: $ref: '#/components/schemas/DocumentSectionDto' result: type: object description: The result of this checklist item's evaluation. required: - checklistItem - meetsCriteria - matchingRecords - documentIds - clinicalConcepts - documentSections ChecklistEvaluationResult: type: object properties: subjectId: type: string format: uuid description: ID of the subject being evaluated. checklistId: type: string format: uuid description: ID of the checklist being evaluated. eligibilitySatisfied: type: boolean description: Whether the checklist's minimum criteria have been met. items: description: Evaluation results of the indvidual checklist items. type: array items: $ref: '#/components/schemas/ChecklistItemEvaluationResult' documentIds: description: IDs of the source documents associated with all of the satisfied checklist items. type: array items: type: string required: - subjectId - checklistId - eligibilitySatisfied - items - documentIds ChecklistItemFeedbackRequest: type: object properties: subjectId: type: string format: uuid description: ID of the subject to submit feedback for. feedbackType: type: string enum: - positive - negative - harmful example: positive description: The type of feedback being submitted. comment: type: string description: Optional comment providing additional context for the feedback. Required when feedbackType is harmful. required: - subjectId - feedbackType PaginationResultDto: type: object properties: pageNumber: type: number default: 1 description: Page number to retrieve (1-based index) pageSize: type: number default: 50 description: Number of items per page sortField: type: string default: created description: Field name to sort by sortIsDescending: type: boolean default: false description: Whether to sort in descending order totalCount: type: number description: Total number of items matching the query results: description: List of results for the current page type: array items: type: object required: - totalCount - results ClinicalConceptConditionDto: type: object properties: id: type: string description: Unique identifier for the condition documentIds: description: List of document IDs associated with the condition type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string bodySites: description: Body sites affected by the condition type: array items: type: string clinicalStatus: type: string description: Clinical status of the condition conditionName: type: string description: Condition name isCancerRelated: type: boolean description: Whether the condition is cancer related onsetDate: format: date-time type: string description: Onset date of the condition stage: type: string description: Stage of the condition metastaticSites: type: string description: Metastatic sites histologyAndMorphology: type: string description: Histology and morphology details encounterDate: type: string description: Date of the encounter associated with this condition required: - id - documentIds ClinicalConceptMedicationDto: type: object properties: id: type: string description: Unique identifier for the medication record documentIds: description: List of document IDs associated with the medication type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string startDate: format: date-time type: string description: Start date of the medication endDate: format: date-time type: string description: End date of the medication status: type: string description: Status of the medication reason: type: string description: Reason for the medication route: type: string description: Route of administration dose: type: number description: Dose amount doseUnit: type: string description: Dose unit patientInstruction: type: string description: Patient instruction for the medication regimen: type: string description: Regimen for the medication discontinuationReason: type: string description: Reason for discontinuation medicationName: type: string description: Medication name medicationCode: type: string description: Medication code medicationCodingSystem: type: string description: Coding system for the medication notes: description: Notes related to the medication type: array items: type: string ingredients: description: List of drug ingredients type: array items: type: object oncologyClassification: type: string description: Oncology classification for the medication required: - id - documentIds ClinicalConceptAllergyDto: type: object properties: id: type: string description: Unique identifier for the allergy record documentIds: description: List of document IDs associated with the allergy type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string allergy: type: string description: Allergy name or description onsetDate: type: string description: Onset date of the allergy (ISO string) recordedDate: type: string description: Date the allergy was recorded (ISO string) clinicalStatus: type: string description: Clinical status of the allergy reaction: type: string description: Reaction to the allergy required: - id - documentIds ClinicalConceptProcedureDto: type: object properties: id: type: string description: Unique identifier for the procedure record documentIds: description: List of document IDs associated with the procedure type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string procedure: type: string description: Procedure name or description procedureLocation: type: string description: Location where the procedure was performed procedureReason: type: string description: Reason for the procedure procedureStartDate: type: string description: Start date of the procedure (ISO string) procedureEndDate: type: string description: End date of the procedure (ISO string) cancerRelated: type: boolean description: Whether the procedure is cancer related procedureCategory: type: string description: Category of the procedure status: type: string description: Status of the procedure required: - id - documentIds ClinicalConceptBiomarkerDto: type: object properties: id: type: string description: Unique identifier for the biomarker record documentIds: description: List of document IDs associated with the biomarker type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string biomarker: type: string description: Name of the biomarker alteration: type: string description: Alteration of the biomarker interpretation: type: string description: Interpretation of the biomarker vaf: type: number description: Variant allele frequency (VAF) results: type: number description: Results value for the biomarker resultsValue: type: string description: String representation of the biomarker result impact: type: string description: Impact of the biomarker method: type: string description: Method used for biomarker detection diagnosticReport: type: string description: Diagnostic report details reportDate: type: string description: Date of the report (ISO string) collectionDate: type: string description: Date of specimen collection (ISO string) specimenLocation: type: string description: Location of the specimen sourceClass: type: string description: Genomic source class (Germline, Somatic, Unknown) required: - id - documentIds ClinicalConceptCoverageDto: type: object properties: id: type: string description: Unique identifier for the coverage record documentIds: description: List of document IDs associated with the coverage type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string coverage: type: string description: The name of the coverage coverageStart: type: string description: Coverage start date (ISO string) coverageEnd: type: string description: Coverage end date (ISO string) payor: type: string description: Payor for the coverage payorType: type: string description: Type of payor relationship: type: string description: Relationship to the subscriber subscriberType: type: string description: Type of subscriber subscriberId: type: string description: Subscriber/member insurance ID groupNumber: type: string description: Insurance group number required: - id - documentIds ClinicalConceptDemographicDto: type: object properties: id: type: string description: Unique identifier for the demographic record documentIds: description: List of document IDs associated with the demographic type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string birthdate: type: string description: Birthdate (ISO string) deathdate: type: string description: Deathdate (ISO string) gender: type: string description: Gender of the subject race: type: string description: Race of the subject ethnicity: type: string description: Ethnicity of the subject deceased: type: boolean description: Whether the subject is deceased addressPostalCode: type: string description: Postal code of the subject address demographic: type: string description: Demographic Name required: - id - documentIds ClinicalConceptEncounterDto: type: object properties: id: type: string description: Unique identifier for the encounter record documentIds: description: List of document IDs associated with the encounter type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string encounterDate: type: string description: Date of the encounter (ISO string) encounterType: type: string description: Type of the encounter locationType: type: string description: Type of location for the encounter locationName: type: string description: Name of the location for the encounter address: type: string description: Address of the encounter location city: type: string description: City of the encounter location state: type: string description: State of the encounter location postalcode: type: string description: Postal code of the encounter location providerFirstName: type: string description: Provider first name providerMiddleName: type: string description: Provider middle name providerLastName: type: string description: Provider last name providerSuffix: type: string description: Provider suffix (e.g. MD, DO) encounterDiagnosis: type: string description: Diagnosis associated with the encounter dischargeDisposition: type: string description: Discharge disposition for the encounter encounter: type: string description: Class of the encounter npi: type: string description: The provider's National Provider Identifier specialty: type: string description: The provider's specialty required: - id - documentIds ClinicalConceptFamilyHistoryDto: type: object properties: id: type: string description: Unique identifier for the family history record documentIds: description: List of document IDs associated with the family history type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string condition: type: string description: Condition in the family history ageAtOnset: type: string description: Age at onset of the condition relationship: type: string description: Relationship to the subject cancerRelated: type: boolean description: Whether the condition is cancer related isCancerRelated: type: boolean description: Whether the family history is cancer related familyHistory: type: string description: Name for the family history required: - id - documentIds ClinicalConceptImagingDto: type: object properties: id: type: string description: Unique identifier for the imaging record documentIds: description: List of document IDs associated with the imaging type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string procedure: type: string description: Procedure name or description procedureLocation: type: string description: Location where the procedure was performed procedureReason: type: string description: Reason for the procedure procedureStartDate: type: string description: Start date of the procedure (ISO string) procedureEndDate: type: string description: End date of the procedure (ISO string) procedureCategory: type: string description: Category of the procedure status: type: string description: Status of the imaging findings: type: string description: Findings from the imaging impression: type: string description: Impression from the imaging impressionSummary: type: string description: Summary of the impression description: type: string description: Description of the imaging dim1: type: number description: Lesion size, first dimension (e.g., length) dim2: type: number description: Lesion size, second dimension (e.g., width) dim3: type: number description: Lesion size, third dimension (e.g., depth) lesionLocation: type: string description: Location of the lesion isCancerRelated: type: boolean description: Whether the imaging is cancer related required: - id - documentIds ClinicalConceptLabDto: type: object properties: id: type: string description: Unique identifier for the lab record documentIds: description: List of document IDs associated with the lab type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string lab: type: string description: Lab name or description labDate: type: string description: Date of the lab (ISO string) labResult: type: string description: Result of the lab labResultUnit: type: string description: Unit of the lab result labResultInterpretation: type: string description: Interpretation of the lab result rangeHigh: type: string description: High end of the reference range rangeLow: type: string description: Low end of the reference range labResultValue: type: string description: Value of the lab result required: - id - documentIds ClinicalConceptSocialHistoryDto: type: object properties: id: type: string description: Unique identifier for the social history record documentIds: description: List of document IDs associated with the social history type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string socialHistory: type: string description: Social history description socialHistoryDate: type: string description: Date of the social history (ISO string) result: type: string description: The observed result of the social history required: - id - documentIds ClinicalConceptSurveyDto: type: object properties: id: type: string description: Unique identifier for the survey record documentIds: description: List of document IDs associated with the survey type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string survey: type: string description: Survey name or description surveyDate: type: string description: Date of the survey (ISO string) surveyResult: type: string description: Result of the survey required: - id - documentIds ClinicalConceptRadiationDto: type: object properties: id: type: string description: Unique identifier for the radiation record documentIds: description: List of document IDs associated with the radiation type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string fractionsPlanned: type: number description: Number of fractions planned fractionsCompleted: type: number description: Number of fractions completed totalDosePlanned: type: number description: Total radiation dose planned totalDoseCompleted: type: number description: Total radiation dose completed dosageUnits: type: string description: Units of dosage (e.g. Gy, cGy) description: type: string description: Description of the radiation treatment startDate: type: string description: Start date of the radiation treatment (ISO string) endDate: type: string description: End date of the radiation treatment (ISO string) bodySite: type: string description: Body site targeted by radiation status: type: string description: Status of the radiation treatment isCancerRelated: type: boolean description: Whether the radiation is cancer related radiation: type: string description: Name of the radiation concept required: - id - documentIds ClinicalConceptVitalDto: type: object properties: id: type: string description: Unique identifier for the vital record documentIds: description: List of document IDs associated with the vital type: array items: type: string codes: description: Codes from source documents. Type "standard" indicates the code that determined the OMOP concept assignment type: array items: type: string vitals: type: string description: Vitals name or description vitalsDate: type: string description: Date of the vitals (ISO string) vitalsResult: type: string description: Result of the vitals vitalsResultUnit: type: string description: Unit of the vitals result vitalsResultValue: type: string description: Value of the vitals result rangeHigh: type: string description: Upper bound of the reference range rangeLow: type: string description: Lower bound of the reference range required: - id - documentIds Project: type: object properties: id: type: string format: uuid example: e6b01018-a333-4732-917e-fe38e91b0fdf name: type: string example: My Project created: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true updated: format: ISO 8601 type: string example: '2025-05-26T23:30:40.912Z' readOnly: true required: - id - name - created - updated ProblemDetails: type: object properties: status: type: number format: '000' title: type: string detail: type: string CreateSubjectOptions: type: object properties: initiateEhrQuery: type: boolean description: When true, initiates an EHR query for the subject after creation. Defaults to true when omitted. default: true CreateSubjectV2: type: object properties: id: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 firstName: type: string example: David middleName: type: string example: Quincy description: Full middle name or a bare initial; omit if the subject has none. An update that omits this field clears any stored value. lastName: type: string example: Mann email: type: string format: email example: david.mann@example.com birthDate: format: yyyy-mm-dd type: string example: '2023-05-26' deathDate: format: yyyy-mm-dd type: string example: '2023-05-26' gender: type: string enum: - M - F - null example: M description: For guaranteed long term compatibility we recommend using the single character gender identifiers. We will optimistically accept other formats like 'male' and 'female'. addressLine1: type: string example: 123 Main St. addressLine2: type: string example: Apt 4B addressCity: type: string example: Minneapolis addressState: type: string format: XX example: MN description: Two letter state code addressPostalCode: type: string format: '00000' example: '55401' description: 5 or 9 digit postal code phoneNumber: type: string example: 123-456-7890 externalIdentifiers: example: - externalIdentifier: '12345' externalSystem: Hospital A type: array items: $ref: '#/components/schemas/SubjectExternalIdentifier' labels: example: - label_1 - Label 2 type: array items: type: string additionalNames: example: - first: Dave last: Mann type: array items: $ref: '#/components/schemas/SubjectAdditionalName' additionalAddresses: example: - addressLine1: 456 Other St. addressCity: Saint Paul addressState: MN addressPostalCode: '55101' type: array items: $ref: '#/components/schemas/SubjectAddressDto' tags: type: array items: $ref: '#/components/schemas/SubjectTagDto' options: $ref: '#/components/schemas/CreateSubjectOptions' required: - id - firstName - lastName