/** * 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 { AbstractFilterHealthcareParty } from '../model/AbstractFilterHealthcareParty'; import { DataOwnerRegistrationSuccess } from '../model/DataOwnerRegistrationSuccess'; import { DocIdentifier } from '../model/DocIdentifier'; import { FilterChainHealthcareParty } from '../model/FilterChainHealthcareParty'; import { HealthcareParty } from '../model/HealthcareParty'; import { ListOfIds } from '../model/ListOfIds'; import { PaginatedListHealthcareParty } from '../model/PaginatedListHealthcareParty'; import { PublicKey } from '../model/PublicKey'; import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'; 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 IccHcpartyApi { host: string; headers: Array; authenticationProvider: AuthenticationProvider; fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise; constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise); setHeaders(h: Array): void; handleError(e: XHR.XHRError): never; /** * One of Name or Last name+First name, Nihii, and Public key are required. * @summary Create a healthcare party * @param body */ createHealthcareParty(body?: HealthcareParty): Promise; /** * One of Name or Last name+First name, Nihii, and Public key are required. * @summary Create a healthcare party * @param body * @param groupId */ createHealthcarePartyInGroup(groupId: string, body?: HealthcareParty): Promise; /** * @summary Deletes a healthcare parties in batch. * @param healthcarePartyIds a ListOfIds containing the ids of the healthcare parties to delete. * @return a Promise that will resolve in an Array of DocIdentifiers of the successfully deleted healthcare parties. */ deleteHealthcareParties(healthcarePartyIds: ListOfIds): Promise>; /** * @summary Deletes a single healthcare party by id. * * @param healthcarePartyId the id of the healthcare party to delete. * @return a Promise that will resolve in the DocIdentifier of the healthcare party. */ deleteHealthcareParty(healthcarePartyId: string): Promise; /** * @summary Deletes a healthcare parties in batch in a specific group * @param groupId the id of the group where to delete the healthcare parties. * @param healthcarePartyIds a ListOfIds containing the ids of the healthcare parties to delete. * @return a Promise that will resolve in an Array of DocIdentifiers of the successfully deleted healthcare parties. */ deleteHealthcarePartiesInGroup(groupId: string, healthcarePartyIds: ListOfIds): Promise>; /** * @summary Deletes a single healthcare party by id in a specific group. * * @param groupId the id of the group where to delete the healthcare party. * @param healthcarePartyId the id of the healthcare party to delete. * @return a Promise that will resolve in the DocIdentifier of the healthcare party. */ deleteHealthcarePartyInGroup(groupId: string, healthcarePartyId: string): Promise; /** * Returns a list of healthcare party along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page. * @summary Filter healthcare parties for the current user (HcParty) * @param body * @param startDocumentId A HealthcareParty document ID * @param limit Number of rows * @param collectTiming if true, include server-side filter timing information in the response */ filterHealthPartiesBy(startDocumentId?: string, limit?: number, body?: FilterChainHealthcareParty, collectTiming?: false): Promise; filterHealthPartiesBy(startDocumentId?: string, limit?: number, body?: FilterChainHealthcareParty, collectTiming?: true): Promise; /** * Returns a list of healthcare parties. * @summary Find healthcare parties by name with(out) pagination * @param name The Last name search value * @param startKey A healthcare party Last name * @param startDocumentId A healthcare party document ID * @param limit Number of rows * @param desc Descending */ findByName(name?: string, startKey?: string, startDocumentId?: string, limit?: number, desc?: boolean): Promise; /** * Returns a list of healthcare parties. * @summary Find healthcare parties by name with(out) pagination * @param type The type of the HCP (persphysician) * @param spec The speciality of the HCP * @param firstCode The first postCode for the HCP * @param lastCode The last postCode for the HCP * @param startKey the startKey provided by the previous page or undefined for the first page. * @param startDocumentId the startDocumentId provided by the previous page or undefined for the first page. * @param limit Number of rows */ findBySpecialityAndPostCode(type: string, spec: string, firstCode: string, lastCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise; /** * Returns a list of healthcare parties. * @summary Find healthcare parties by nihii or ssin with(out) pagination * @param searchValue * @param startKey A healthcare party Last name * @param startDocumentId A healthcare party document ID * @param limit Number of rows * @param desc Descending */ findBySsinOrNihii(searchValue: string, startKey?: string, startDocumentId?: string, limit?: number, desc?: boolean): Promise; /** * (key, value) of the map is as follows: (ID of the owner of the encrypted AES key, encrypted AES keys) * @summary Get the HcParty encrypted AES keys indexed by owner. * @param healthcarePartyId */ getAesExchangeKeysForDelegate(healthcarePartyId: string): Promise<{ [delegatorId: string]: { [delegatorPubKeyFingerprint: string]: { [delegatePubKeyFingerprint: string]: string; }; }; }>; /** * General information about the current healthcare Party * @summary Get the current healthcare party if logged in. */ getCurrentHealthcareParty(): Promise; /** * General information about the healthcare Party * @summary Get healthcareParties by their IDs */ getHealthcareParties(body?: ListOfIds): Promise>; /** * Return a list of children hcp. * @summary Find children of an healthcare parties * @param parentId */ getHealthcarePartiesByParentId(parentId: string): Promise>; /** * General information about the healthcare Party * @summary Get healthcareParties by their IDs * @param body * @param groupId */ getHealthcarePartiesInGroup(groupId: string, body?: ListOfIds): Promise>; /** * General information about the healthcare Party * @summary Get a healthcareParty by his ID * @param healthcarePartyId */ getHealthcareParty(healthcarePartyId: string): Promise; /** * Returns the public key of a healthcare party in Hex * @summary Get public key of a healthcare party * @param healthcarePartyId */ getPublicKey(healthcarePartyId: string): Promise; /** * Returns a list of healthcare parties. * @summary Find healthcare parties by name with(out) pagination * @param name The Last name search value */ listByName(name: string): Promise>; /** * Returns a list of healthcare parties. * @summary List healthcare parties with(out) pagination * @param startKey A healthcare party Last name * @param startDocumentId A healthcare party document ID * @param limit Number of rows * @param desc Descending */ listHealthcareParties(startKey?: string, startDocumentId?: string, limit?: number, desc?: boolean): Promise; /** * * @summary Get ids of healthcare party matching the provided filter for the current user (HcParty) * @param body * @param collectTiming if true, include server-side filter timing information in the response */ matchHealthcarePartiesBy(body?: AbstractFilterHealthcareParty, collectTiming?: false): Promise>; matchHealthcarePartiesBy(body?: AbstractFilterHealthcareParty, collectTiming?: true): Promise & TimingInfo>; /** * No particular return value. It's just a message. * @summary Modify a Healthcare Party. * @param body */ modifyHealthcareParty(body?: HealthcareParty): Promise; /** * No particular return value. It's just a message. * @summary Modify a Healthcare Party. * @param body * @param groupId */ modifyHealthcarePartyInGroup(groupId: string, body?: HealthcareParty): Promise; /** * Register a new hcp into the system * @summary Register a hcp * @param body * @param groupId * @param parentHcPartyId * @param token * @param useShortToken */ registerHealthcareParty(groupId: string, parentHcPartyId?: string, token?: string, useShortToken?: boolean, body?: HealthcareParty): Promise; /** * Retrieves the ids of all the healthcare parties that currently have conflicting revisions and therefore need to * be resolved. * @summary List the ids of the healthcare parties that have conflicts. * @return the ids of the healthcare parties with unresolved conflicts. */ getConflictingEntitiesIds(): Promise>; /** * Retrieves all the conflicting revisions of the healthcare party with the given id (the current revision is not * included). The returned entities are still encrypted. * @summary Get the conflicting revisions of a healthcare party. * @param entityId the id of the healthcare party to retrieve the conflicts for. * @return the conflicting revisions of the healthcare party. */ getConflictsForEntity(entityId: string): Promise>; /** * Resolves a conflict by declaring which revision of the healthcare party 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 healthcare party. * @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 healthcare parties that have conflicts, in the given group. * @param groupId the id of the group to look into. * @return the ids of the healthcare parties 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 a healthcare party, in the given group. * @param groupId the id of the group the healthcare party belongs to. * @param entityId the id of the healthcare party to retrieve the conflicts for. * @return the conflicting revisions of the healthcare party. */ 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 healthcare party, in the given group. * @param groupId the id of the group the healthcare party 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 healthcare partys with the given ids, according to the provided * {@link ConflictResolutionStrategy}. * @summary Automatically solve the conflicts of the healthcare partys with the given ids. * @param entityIds the ids of the healthcare partys 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 healthcare partys with the given ids, in the given group. * @param groupId the id of the group to look into. * @param entityIds the ids of the healthcare partys 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>; }