/** * iCure Data Stack API Documentation * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2. * * OpenAPI spec version: v1 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import { XHR } from './XHR'; import { DocIdentifier } from '../model/DocIdentifier'; import { FilterChainInvoice } from '../model/FilterChainInvoice'; import { IcureStub } from '../model/IcureStub'; import { Invoice } from '../model/Invoice'; import { InvoicingCode } from '../model/InvoicingCode'; import { LabelledOccurence } from '../model/LabelledOccurence'; import { ListOfIds } from '../model/ListOfIds'; import { PaginatedListInvoice } from '../model/PaginatedListInvoice'; import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'; import { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult'; import { MinimalEntityBulkShareResult } from '../model/requests/MinimalEntityBulkShareResult'; import { BulkShareOrUpdateMetadataParams } from '../model/requests/BulkShareOrUpdateMetadataParams'; import { TimingInfo } from '../model/TimingInfo'; import { ConflictResolutionRequest } from '../model/ConflictResolutionRequest'; import { ConflictResolutionResult } from '../model/ConflictResolutionResult'; import { ConflictResolutionStrategy } from '../model/ConflictResolutionStrategy'; import { MergeResult } from '../model/MergeResult'; export declare class IccInvoiceApi { host: string; _headers: Array; authenticationProvider: AuthenticationProvider; fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise; get headers(): Promise>; constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise); setHeaders(h: Array): void; handleError(e: XHR.XHRError): never; /** * * @summary Append codes to new or existing invoice * @param body * @param userId * @param type * @param sentMediumType * @param secretFKeys * @param insuranceId * @param invoiceId * @param gracePeriod */ appendCodes(userId: string, type: string, sentMediumType: string, secretFKeys: string, insuranceId?: string, invoiceId?: string, gracePeriod?: number, body?: Array): Promise>; /** * * @summary Creates an invoice * @param body */ createInvoice(body?: Invoice): Promise; /** * Returns the created invoices. * @summary Create a batch of invoices * @param body */ createInvoices(body?: Array): Promise>; /** * * @summary Deletes an invoice * @param invoiceId */ deleteInvoice(invoiceId: string): Promise; /** * Returns a list of invoices along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page. * @summary Filter invoices for the current user (HcParty) * @param body * @param collectTiming if true, include server-side filter timing information in the response */ filterInvoicesBy(body?: FilterChainInvoice, collectTiming?: false): Promise>; filterInvoicesBy(body?: FilterChainInvoice, collectTiming?: true): Promise & TimingInfo>; /** * * @summary Gets all invoices for author at date * @param hcPartyId * @param fromDate * @param toDate * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key's startKey * @param startDocumentId A patient document ID * @param limit Number of rows */ findByAuthor(hcPartyId: string, fromDate?: number, toDate?: number, startKey?: string, startDocumentId?: string, limit?: number): Promise; /** * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead. * @summary List invoices found By Healthcare Party and secret foreign patient keys. * @param body * @param hcPartyId */ findInvoicesByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array): Promise>; /** * Keys have to delimited by commas. * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead. * @summary List invoices found By Healthcare Party and secret foreign patient keys. * @param hcPartyId * @param secretFKeys */ findInvoicesByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise>; /** * @summary List Invoice ids by data owner and a set of secret foreign key. The ids will be sorted by Invoice invoiceDate, in ascending or descending * order according to the specified parameter value. * * @param dataOwnerId the data owner id. * @param secretFKeys an array of secret foreign keys. * @param startDate a timestamp in epoch milliseconds. If undefined, all the invoice ids since the beginning of time will be returned. * @param endDate a timestamp in epoch milliseconds. If undefined, all the invoice ids until the end of time will be returned. * @param descending whether to return the ids ordered in ascending or descending order by Invoice invoiceDate. * @return a promise that will resolve in an Array of Invoice ids. */ findInvoiceIdsByDataOwnerPatientInvoiceDate(dataOwnerId: string, secretFKeys: string[], startDate?: number, endDate?: number, descending?: boolean): Promise; /** * @summary List Invoice ids by data owner and a decision reference * * @param dataOwnerId the data owner id. * @param decisionReference the decision reference to search. * @return a promise that will resolve in an Array of Invoice ids. */ findInvoiceIdsByDataOwnerDecisionReference(dataOwnerId: string, decisionReference: string): Promise; /** * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead. * @summary List helement stubs found By Healthcare Party and secret foreign keys. * @param body * @param hcPartyId */ findInvoicesDelegationsStubsByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array): Promise>; /** * Keys must be delimited by commas. * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead. * @summary List helement stubs found By Healthcare Party and secret foreign keys. * @param hcPartyId * @param secretFKeys */ findInvoicesDelegationsStubsByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise>; findInvoicesDelegationsStubsByIds(invoiceIds: string[]): Promise>; /** * * @summary Gets an invoice * @param invoiceId */ getInvoice(invoiceId: string): Promise; /** * * @summary Gets an invoice * @param body */ getInvoices(body?: ListOfIds): Promise>; /** * * @summary Get the list of all used tarifications frequencies in invoices * @param minOccurrences */ getTarificationsCodesOccurences(minOccurrences: number): Promise>; /** * * @summary Gets all invoices per status * @param body * @param status * @param from * @param to */ listAllHcpsByStatus(status: string, from?: number, to?: number, body?: ListOfIds): Promise>; /** * * @summary Gets all invoices for author at date * @param body */ listByContactIds(body?: ListOfIds): Promise>; /** * Keys have to delimited by coma * @summary List invoices by groupId * @param hcPartyId * @param groupId */ listByHcPartyGroupId(hcPartyId: string, groupId: string): Promise>; /** * Keys have to delimited by coma * @summary List invoices by type, sent or unsent * @param hcPartyId * @param sentMediumType * @param invoiceType * @param sent * @param from * @param to */ listByHcPartySentMediumTypeInvoiceTypeSentDate(hcPartyId: string, sentMediumType: string, invoiceType: string, sent: boolean, from?: number, to?: number): Promise>; /** * * @summary Get all invoices by author, by sending mode, by status and by date * @param hcPartyId * @param sendingMode * @param status * @param from * @param to */ listByHcpartySendingModeStatusDate(hcPartyId: string, sendingMode?: string, status?: string, from?: number, to?: number): Promise>; /** * * @summary Gets all invoices for author at date * @param invoiceIds */ listByIds(invoiceIds: string): Promise>; /** * * @summary Gets all invoices for author at date * @param recipientIds */ listByRecipientsIds(recipientIds: string): Promise>; /** * * @summary Gets all invoices for author at date * @param serviceIds */ listByServiceIds(serviceIds: string): Promise>; /** * * @summary Gets all invoices for author at date * @param userIds */ listToInsurances(userIds?: string): Promise>; /** * * @summary Gets all invoices for author at date * @param userIds */ listToInsurancesUnsent(userIds?: string): Promise>; /** * * @summary Gets all invoices for author at date * @param hcPartyId */ listToPatients(hcPartyId?: string): Promise>; /** * * @summary Gets all invoices for author at date * @param hcPartyId */ listToPatientsUnsent(hcPartyId?: string): Promise>; /** * * @summary Gets all invoices for author at date * @param body * @param invoiceId */ mergeTo(invoiceId: string, body?: ListOfIds): Promise; /** * * @summary Modifies an invoice * @param body */ modifyInvoice(body?: Invoice): Promise; /** * Returns the modified invoices. * @summary Modify a batch of invoices * @param body */ modifyInvoices(body?: Array): Promise>; /** * * @summary Modifies an invoice * @param body */ reassignInvoice(body?: Invoice): Promise; /** * * @summary removeCodes for linked serviceId * @param body * @param userId * @param serviceId * @param secretFKeys */ removeCodes(userId: string, serviceId: string, secretFKeys: string, body?: Array): Promise>; /** * * @summary Gets all invoices for author at date * @param invoiceId * @param scheme * @param forcedValue */ validate(invoiceId: string, scheme: string, forcedValue: string): Promise; /** * @internal this method is for internal use only and may be changed without notice */ bulkShareInvoices(request: BulkShareOrUpdateMetadataParams): Promise[]>; /** * @internal this method is for internal use only and may be changed without notice */ bulkShareInvoicesMinimal(request: BulkShareOrUpdateMetadataParams): Promise; /** * Retrieves the ids of all the invoices that currently have conflicting revisions and therefore need to * be resolved. * @summary List the ids of the invoices that have conflicts. * @return the ids of the invoices with unresolved conflicts. */ getConflictingEntitiesIds(): Promise>; /** * Retrieves all the conflicting revisions of the invoice with the given id (the current revision is not * included). The returned entities are still encrypted. * @summary Get the conflicting revisions of an invoice. * @param entityId the id of the invoice to retrieve the conflicts for. * @return the conflicting revisions of the invoice. */ getConflictsForEntity(entityId: string): Promise>; /** * Resolves a conflict by declaring which revision of the invoice should be kept as winner and which * conflicting revisions should be purged. The provided document must already be encrypted. * @summary Declare the winning revision of a conflicting invoice. * @param body the {@link ConflictResolutionRequest} carrying the winning revision and the conflicts to purge. * @return the {@link ConflictResolutionResult} with the saved winner and the conflicts that are still unresolved. */ declareConflictWinner(body: ConflictResolutionRequest): Promise>; /** * Like {@link getConflictingEntitiesIds} but targets the entities of the group with the given id. * @summary List the ids of the invoices that have conflicts, in the given group. * @param groupId the id of the group to look into. * @return the ids of the invoices with unresolved conflicts in the group. */ getConflictingEntitiesIdsInGroup(groupId: string): Promise>; /** * Like {@link getConflictsForEntity} but targets the entity of the group with the given id. * @summary Get the conflicting revisions of an invoice, in the given group. * @param groupId the id of the group the invoice belongs to. * @param entityId the id of the invoice to retrieve the conflicts for. * @return the conflicting revisions of the invoice. */ getConflictsForEntityInGroup(groupId: string, entityId: string): Promise>; /** * Like {@link declareConflictWinner} but targets the entity of the group with the given id. * @summary Declare the winning revision of a conflicting invoice, in the given group. * @param groupId the id of the group the invoice belongs to. * @param body the {@link ConflictResolutionRequest} carrying the winning revision and the conflicts to purge. * @return the {@link ConflictResolutionResult} with the saved winner and the conflicts that are still unresolved. */ declareConflictWinnerInGroup(groupId: string, body: ConflictResolutionRequest): Promise>; /** * Automatically resolves the conflicting revisions of the invoices with the given ids, according to the provided * {@link ConflictResolutionStrategy}. * @summary Automatically solve the conflicts of the invoices with the given ids. * @param entityIds the ids of the invoices to solve the conflicts for. * @param strategy the {@link ConflictResolutionStrategy} to use to resolve the conflicts. Defaults to `FullMergeability`. * @return the {@link MergeResult} of the conflict resolution for each requested entity. */ autoSolveConflicts(entityIds: Array, strategy?: ConflictResolutionStrategy): Promise>; /** * Like {@link autoSolveConflicts} but targets the entities of the group with the given id. * @summary Automatically solve the conflicts of the invoices with the given ids, in the given group. * @param groupId the id of the group to look into. * @param entityIds the ids of the invoices to solve the conflicts for. * @param strategy the {@link ConflictResolutionStrategy} to use to resolve the conflicts. Defaults to `FullMergeability`. * @return the {@link MergeResult} of the conflict resolution for each requested entity. */ autoSolveConflictsInGroup(groupId: string, entityIds: Array, strategy?: ConflictResolutionStrategy): Promise>; }