@icure/api 8.1.1 → 8.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,6 +25,8 @@ import { Verse } from '../model/Verse';
25
25
  import { Vmp } from '../model/Vmp';
26
26
  import { VmpGroup } from '../model/VmpGroup';
27
27
  import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
28
+ import { SamV2UpdateTaskLogItem } from '../model/SamV2UpdateTaskLogItem';
29
+ import { SamV2Update } from '../model/SamV2Update';
28
30
  export declare class IccBesamv2Api {
29
31
  host: string;
30
32
  headers: Array<XHR.Header>;
@@ -33,6 +35,37 @@ export declare class IccBesamv2Api {
33
35
  constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
34
36
  setHeaders(h: Array<XHR.Header>): void;
35
37
  handleError(e: XHR.XHRError): never;
38
+ /**
39
+ * Warning: this function will work only with a single node installation of CouchDB
40
+ *
41
+ * Starts a new task on the backend that will retrieve all the missing updates on the drugs and ChapIV databases, and
42
+ * it will apply them.
43
+ * This method will fail if an update task is currently running or if the backend was not configured to run the update task.
44
+ * As the operation may last several minutes, this process will not return the task status.
45
+ * Instead, it is possible to check the status of the task using the {@link getSamUpdateTaskStatus} method.
46
+ * @param apiToken a token from a cloud installation of the kraken.
47
+ */
48
+ triggerSamUpdateTask(apiToken: string): Promise<string>;
49
+ /**
50
+ * Warning: this function will work only with a single node installation of CouchDB
51
+ * Returns the log of a SAM update operation that is running on the backend or the last the completed.
52
+ * Starting a new task will erase the log of the previous task.
53
+ * The item in the array are sorted from most recent to last recent.
54
+ * This method will fail if the backend was not configured to run the update task.
55
+ */
56
+ getSamUpdateTaskStatus(): Promise<SamV2UpdateTaskLogItem[]>;
57
+ /**
58
+ * Warning: this function will work only with a single node installation of CouchDB
59
+ * Returns all the SamV2 updates successfully applied to the drugs and ChapIV databases.
60
+ * This method will fail if the backend was not configured to run the update task.
61
+ */
62
+ getSamUpdateTaskHistory(): Promise<SamV2Update[]>;
63
+ /**
64
+ * Warning: this function will work only with a single node installation of CouchDB
65
+ * Stops the current sam update task on the backend.
66
+ * This method will fail if there is no method currently running on the backend or if the backend was not configured to run the update task.
67
+ */
68
+ stopCurrentSamUpdateTask(): Promise<string>;
36
69
  /**
37
70
  * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported
38
71
  * @summary Finding AMPs by dmpp code
@@ -28,6 +28,8 @@ const Vmp_1 = require("../model/Vmp");
28
28
  const VmpGroup_1 = require("../model/VmpGroup");
29
29
  const AuthenticationProvider_1 = require("../../icc-x-api/auth/AuthenticationProvider");
30
30
  const IccRestApiPath_1 = require("./IccRestApiPath");
31
+ const SamV2UpdateTaskLogItem_1 = require("../model/SamV2UpdateTaskLogItem");
32
+ const SamV2Update_1 = require("../model/SamV2Update");
31
33
  class IccBesamv2Api {
32
34
  constructor(host, headers, authenticationProvider, fetchImpl) {
33
35
  this.host = (0, IccRestApiPath_1.iccRestApiPath)(host);
@@ -41,6 +43,61 @@ class IccBesamv2Api {
41
43
  handleError(e) {
42
44
  throw e;
43
45
  }
46
+ /**
47
+ * Warning: this function will work only with a single node installation of CouchDB
48
+ *
49
+ * Starts a new task on the backend that will retrieve all the missing updates on the drugs and ChapIV databases, and
50
+ * it will apply them.
51
+ * This method will fail if an update task is currently running or if the backend was not configured to run the update task.
52
+ * As the operation may last several minutes, this process will not return the task status.
53
+ * Instead, it is possible to check the status of the task using the {@link getSamUpdateTaskStatus} method.
54
+ * @param apiToken a token from a cloud installation of the kraken.
55
+ */
56
+ triggerSamUpdateTask(apiToken) {
57
+ const _url = this.host + `/be_samv2/patch?apiToken=${encodeURIComponent(apiToken)}`;
58
+ let headers = this.headers;
59
+ return XHR_1.XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
60
+ .then((doc) => JSON.stringify(doc.body))
61
+ .catch((err) => this.handleError(err));
62
+ }
63
+ /**
64
+ * Warning: this function will work only with a single node installation of CouchDB
65
+ * Returns the log of a SAM update operation that is running on the backend or the last the completed.
66
+ * Starting a new task will erase the log of the previous task.
67
+ * The item in the array are sorted from most recent to last recent.
68
+ * This method will fail if the backend was not configured to run the update task.
69
+ */
70
+ getSamUpdateTaskStatus() {
71
+ const _url = this.host + `/be_samv2/patch`;
72
+ let headers = this.headers;
73
+ return XHR_1.XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
74
+ .then((doc) => doc.body.map((it) => new SamV2UpdateTaskLogItem_1.SamV2UpdateTaskLogItem(it)))
75
+ .catch((err) => this.handleError(err));
76
+ }
77
+ /**
78
+ * Warning: this function will work only with a single node installation of CouchDB
79
+ * Returns all the SamV2 updates successfully applied to the drugs and ChapIV databases.
80
+ * This method will fail if the backend was not configured to run the update task.
81
+ */
82
+ getSamUpdateTaskHistory() {
83
+ const _url = this.host + `/be_samv2/patch/history`;
84
+ let headers = this.headers;
85
+ return XHR_1.XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
86
+ .then((doc) => doc.body.map((it) => new SamV2Update_1.SamV2Update(it)))
87
+ .catch((err) => this.handleError(err));
88
+ }
89
+ /**
90
+ * Warning: this function will work only with a single node installation of CouchDB
91
+ * Stops the current sam update task on the backend.
92
+ * This method will fail if there is no method currently running on the backend or if the backend was not configured to run the update task.
93
+ */
94
+ stopCurrentSamUpdateTask() {
95
+ const _url = this.host + `/be_samv2/patch`;
96
+ let headers = this.headers;
97
+ return XHR_1.XHR.sendCommand('DELETE', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
98
+ .then((doc) => JSON.stringify(doc.body))
99
+ .catch((err) => this.handleError(err));
100
+ }
44
101
  /**
45
102
  * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported
46
103
  * @summary Finding AMPs by dmpp code
@@ -1 +1 @@
1
- {"version":3,"file":"IccBesamv2Api.js","sourceRoot":"","sources":["../../../icc-api/api/IccBesamv2Api.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { Amp } from '../model/Amp'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { Nmp } from '../model/Nmp'\nimport { PaginatedListAmp } from '../model/PaginatedListAmp'\nimport { PaginatedListNmp } from '../model/PaginatedListNmp'\nimport { PaginatedListVmp } from '../model/PaginatedListVmp'\nimport { PaginatedListVmpGroup } from '../model/PaginatedListVmpGroup'\nimport { Paragraph } from '../model/Paragraph'\nimport { PharmaceuticalForm } from '../model/PharmaceuticalForm'\nimport { SamVersion } from '../model/SamVersion'\nimport { Substance } from '../model/Substance'\nimport { Verse } from '../model/Verse'\nimport { Vmp } from '../model/Vmp'\nimport { VmpGroup } from '../model/VmpGroup'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\n\nexport class IccBesamv2Api {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by dmpp code\n * @param dmppCode dmppCode\n */\n findAmpsByDmppCode(dmppCode: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/amp/byDmppCode/${encodeURIComponent(String(dmppCode))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, pagination is not supported\n * @summary Finding AMPs by amp code\n * @param ampCode ampCode\n */\n findAmpsByAmpCode(ampCode: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/amp/byAmpCode/${encodeURIComponent(String(ampCode))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by atc code with pagination.\n * @param atcCode atcCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByAtc(atcCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byAtc/${encodeURIComponent(String(atcCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by atc code with pagination.\n * @param atcCode atcCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByAtc1(atcCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byAtc/${encodeURIComponent(String(atcCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByGroupCode(vmpgCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group with pagination.\n * @param vmpgId vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByGroupId(vmpgId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byGroupId/${encodeURIComponent(String(vmpgId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId An amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp code with pagination.\n * @param vmpCode vmpCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByVmpCode(vmpCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byVmpCode/${encodeURIComponent(String(vmpCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp id with pagination.\n * @param vmpId vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByVmpId(vmpId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byVmpId/${encodeURIComponent(String(vmpId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a paginated list of NMPs by matching label. Matches occur per word\n * @summary Finding NMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedNmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListNmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/nmp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListNmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMP groups by language label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmpgroup document ID\n * @param limit Number of rows\n */\n findPaginatedVmpGroupsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmpGroup> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmpgroup` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmpGroup(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMP groups by cmpgCode with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmpgroup document ID\n * @param limit Number of rows\n */\n findPaginatedVmpGroupsByVmpGroupCode(\n vmpgCode: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmpGroup> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmpgroup/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmpGroup(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByGroupCode(vmpgCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpgId vmpgId\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByGroupId(vmpgId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byGroupId/${encodeURIComponent(String(vmpgId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a paginated list of VMPs by matching label. Matches occur per word\n * @summary Finding VMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpCode vmpCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByVmpCode(vmpCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byVmpCode/${encodeURIComponent(String(vmpCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param searchString\n * @param language\n */\n findParagraphs(searchString: string, language: string): Promise<Array<Paragraph>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/search/${encodeURIComponent(String(searchString))}/${encodeURIComponent(String(language))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Paragraph(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param cnk\n * @param language\n */\n findParagraphsWithCnk(cnk: number, language: string): Promise<Array<Paragraph>> {\n let _body = null\n\n const _url =\n this.host + `/be_samv2/chap/bycnk/${encodeURIComponent(String(cnk))}/${encodeURIComponent(String(language))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Paragraph(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n * @param verseSeq\n * @param docSeq\n * @param language\n * @param response\n */\n getAddedDocument(chapterName: string, paragraphName: string, verseSeq: number, docSeq: number, language: string): Promise<ArrayBuffer> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}/${encodeURIComponent(\n String(verseSeq)\n )}/addeddoc/${encodeURIComponent(String(docSeq))}/${encodeURIComponent(String(language))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n */\n getAmpsForParagraph(chapterName: string, paragraphName: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/amps/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Get Samv2 version.\n */\n getSamVersion(): Promise<SamVersion> {\n let _body = null\n\n const _url = this.host + `/be_samv2/v` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new SamVersion(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n */\n getVersesHierarchy(chapterName: string, paragraphName: string): Promise<Verse> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/verse/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Verse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n * @param language\n */\n getVtmNamesForParagraph(chapterName: string, paragraphName: string, language: string): Promise<Array<string>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/vtms/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}/${encodeURIComponent(\n String(language)\n )}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by dmpp code\n * @param body\n */\n listAmpsByDmppCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byDmppCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listAmpsByGroupCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byGroupCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listAmpsByGroupIds(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byGroupIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp code.\n * @param body\n */\n listAmpsByVmpCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byVmpCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp id.\n * @param body\n */\n listAmpsByVmpIds(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byVmpIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding NMPs by cnk id.\n * @param body\n */\n listNmpsByCnks(body?: ListOfIds): Promise<Array<Nmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/nmp/byCnks` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Nmp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List all pharmaceutical forms.\n */\n listPharmaceuticalForms(): Promise<Array<PharmaceuticalForm>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/pharmaform` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new PharmaceuticalForm(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List all substances.\n */\n listSubstances(): Promise<Array<Substance>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/substance` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Substance(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of group codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listVmpGroupsByVmpGroupCodes(body?: ListOfIds): Promise<Array<VmpGroup>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmpgroup/byGroupCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new VmpGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group.\n * @param body\n */\n listVmpsByGroupIds(body?: ListOfIds): Promise<Array<Vmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmp/byGroupIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Vmp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group.\n * @param body\n */\n listVmpsByVmpCodes(body?: ListOfIds): Promise<Array<Vmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmp/byVmpCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Vmp(it)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
1
+ {"version":3,"file":"IccBesamv2Api.js","sourceRoot":"","sources":["../../../icc-api/api/IccBesamv2Api.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { Amp } from '../model/Amp'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { Nmp } from '../model/Nmp'\nimport { PaginatedListAmp } from '../model/PaginatedListAmp'\nimport { PaginatedListNmp } from '../model/PaginatedListNmp'\nimport { PaginatedListVmp } from '../model/PaginatedListVmp'\nimport { PaginatedListVmpGroup } from '../model/PaginatedListVmpGroup'\nimport { Paragraph } from '../model/Paragraph'\nimport { PharmaceuticalForm } from '../model/PharmaceuticalForm'\nimport { SamVersion } from '../model/SamVersion'\nimport { Substance } from '../model/Substance'\nimport { Verse } from '../model/Verse'\nimport { Vmp } from '../model/Vmp'\nimport { VmpGroup } from '../model/VmpGroup'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { SamV2UpdateTaskLogItem } from '../model/SamV2UpdateTaskLogItem'\nimport { SamV2Update } from '../model/SamV2Update'\n\nexport class IccBesamv2Api {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Warning: this function will work only with a single node installation of CouchDB\n *\n * Starts a new task on the backend that will retrieve all the missing updates on the drugs and ChapIV databases, and\n * it will apply them.\n * This method will fail if an update task is currently running or if the backend was not configured to run the update task.\n * As the operation may last several minutes, this process will not return the task status.\n * Instead, it is possible to check the status of the task using the {@link getSamUpdateTaskStatus} method.\n * @param apiToken a token from a cloud installation of the kraken.\n */\n triggerSamUpdateTask(apiToken: string): Promise<string> {\n const _url = this.host + `/be_samv2/patch?apiToken=${encodeURIComponent(apiToken)}`\n let headers = this.headers\n return XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.stringify(doc.body))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Warning: this function will work only with a single node installation of CouchDB\n * Returns the log of a SAM update operation that is running on the backend or the last the completed.\n * Starting a new task will erase the log of the previous task.\n * The item in the array are sorted from most recent to last recent.\n * This method will fail if the backend was not configured to run the update task.\n */\n getSamUpdateTaskStatus(): Promise<SamV2UpdateTaskLogItem[]> {\n const _url = this.host + `/be_samv2/patch`\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new SamV2UpdateTaskLogItem(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Warning: this function will work only with a single node installation of CouchDB\n * Returns all the SamV2 updates successfully applied to the drugs and ChapIV databases.\n * This method will fail if the backend was not configured to run the update task.\n */\n getSamUpdateTaskHistory(): Promise<SamV2Update[]> {\n const _url = this.host + `/be_samv2/patch/history`\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new SamV2Update(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Warning: this function will work only with a single node installation of CouchDB\n * Stops the current sam update task on the backend.\n * This method will fail if there is no method currently running on the backend or if the backend was not configured to run the update task.\n */\n stopCurrentSamUpdateTask(): Promise<string> {\n const _url = this.host + `/be_samv2/patch`\n let headers = this.headers\n return XHR.sendCommand('DELETE', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => JSON.stringify(doc.body))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by dmpp code\n * @param dmppCode dmppCode\n */\n findAmpsByDmppCode(dmppCode: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/amp/byDmppCode/${encodeURIComponent(String(dmppCode))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, pagination is not supported\n * @summary Finding AMPs by amp code\n * @param ampCode ampCode\n */\n findAmpsByAmpCode(ampCode: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/amp/byAmpCode/${encodeURIComponent(String(ampCode))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by atc code with pagination.\n * @param atcCode atcCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByAtc(atcCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byAtc/${encodeURIComponent(String(atcCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by atc code with pagination.\n * @param atcCode atcCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByAtc1(atcCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byAtc/${encodeURIComponent(String(atcCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByGroupCode(vmpgCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group with pagination.\n * @param vmpgId vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByGroupId(vmpgId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byGroupId/${encodeURIComponent(String(vmpgId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId An amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp code with pagination.\n * @param vmpCode vmpCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByVmpCode(vmpCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byVmpCode/${encodeURIComponent(String(vmpCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp id with pagination.\n * @param vmpId vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A amp document ID\n * @param limit Number of rows\n */\n findPaginatedAmpsByVmpId(vmpId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListAmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/amp/byVmpId/${encodeURIComponent(String(vmpId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListAmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a paginated list of NMPs by matching label. Matches occur per word\n * @summary Finding NMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedNmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListNmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/nmp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListNmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMP groups by language label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmpgroup document ID\n * @param limit Number of rows\n */\n findPaginatedVmpGroupsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmpGroup> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmpgroup` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmpGroup(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMP groups by cmpgCode with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmpgroup document ID\n * @param limit Number of rows\n */\n findPaginatedVmpGroupsByVmpGroupCode(\n vmpgCode: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmpGroup> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmpgroup/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmpGroup(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpgCode vmpgCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByGroupCode(vmpgCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byGroupCode/${encodeURIComponent(String(vmpgCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpgId vmpgId\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByGroupId(vmpgId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byGroupId/${encodeURIComponent(String(vmpgId))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a paginated list of VMPs by matching label. Matches occur per word\n * @summary Finding VMPs by label with pagination.\n * @param language language\n * @param label label\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByLabel(\n language?: string,\n label?: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp` +\n '?ts=' +\n new Date().getTime() +\n (language ? '&language=' + encodeURIComponent(String(language)) : '') +\n (label ? '&label=' + encodeURIComponent(String(label)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group with pagination.\n * @param vmpCode vmpCode\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A vmp document ID\n * @param limit Number of rows\n */\n findPaginatedVmpsByVmpCode(vmpCode: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListVmp> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/vmp/byVmpCode/${encodeURIComponent(String(vmpCode))}` +\n '?ts=' +\n new Date().getTime() +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListVmp(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param searchString\n * @param language\n */\n findParagraphs(searchString: string, language: string): Promise<Array<Paragraph>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/search/${encodeURIComponent(String(searchString))}/${encodeURIComponent(String(language))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Paragraph(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param cnk\n * @param language\n */\n findParagraphsWithCnk(cnk: number, language: string): Promise<Array<Paragraph>> {\n let _body = null\n\n const _url =\n this.host + `/be_samv2/chap/bycnk/${encodeURIComponent(String(cnk))}/${encodeURIComponent(String(language))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Paragraph(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n * @param verseSeq\n * @param docSeq\n * @param language\n * @param response\n */\n getAddedDocument(chapterName: string, paragraphName: string, verseSeq: number, docSeq: number, language: string): Promise<ArrayBuffer> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}/${encodeURIComponent(\n String(verseSeq)\n )}/addeddoc/${encodeURIComponent(String(docSeq))}/${encodeURIComponent(String(language))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n */\n getAmpsForParagraph(chapterName: string, paragraphName: string): Promise<Array<Amp>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/amps/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Get Samv2 version.\n */\n getSamVersion(): Promise<SamVersion> {\n let _body = null\n\n const _url = this.host + `/be_samv2/v` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new SamVersion(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n */\n getVersesHierarchy(chapterName: string, paragraphName: string): Promise<Verse> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/verse/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Verse(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @param chapterName\n * @param paragraphName\n * @param language\n */\n getVtmNamesForParagraph(chapterName: string, paragraphName: string, language: string): Promise<Array<string>> {\n let _body = null\n\n const _url =\n this.host +\n `/be_samv2/chap/vtms/${encodeURIComponent(String(chapterName))}/${encodeURIComponent(String(paragraphName))}/${encodeURIComponent(\n String(language)\n )}` +\n '?ts=' +\n new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of amps matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by dmpp code\n * @param body\n */\n listAmpsByDmppCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byDmppCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listAmpsByGroupCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byGroupCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listAmpsByGroupIds(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byGroupIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp code.\n * @param body\n */\n listAmpsByVmpCodes(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byVmpCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by vmp id.\n * @param body\n */\n listAmpsByVmpIds(body?: ListOfIds): Promise<Array<Amp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/amp/byVmpIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Amp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding NMPs by cnk id.\n * @param body\n */\n listNmpsByCnks(body?: ListOfIds): Promise<Array<Nmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/nmp/byCnks` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Nmp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List all pharmaceutical forms.\n */\n listPharmaceuticalForms(): Promise<Array<PharmaceuticalForm>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/pharmaform` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new PharmaceuticalForm(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List all substances.\n */\n listSubstances(): Promise<Array<Substance>> {\n let _body = null\n\n const _url = this.host + `/be_samv2/substance` + '?ts=' + new Date().getTime()\n let headers = this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Substance(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of group codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding AMPs by group.\n * @param body\n */\n listVmpGroupsByVmpGroupCodes(body?: ListOfIds): Promise<Array<VmpGroup>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmpgroup/byGroupCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new VmpGroup(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group.\n * @param body\n */\n listVmpsByGroupIds(body?: ListOfIds): Promise<Array<Vmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmp/byGroupIds` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Vmp(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of codes matched with given input. If several types are provided, paginantion is not supported\n * @summary Finding VMPs by group.\n * @param body\n */\n listVmpsByVmpCodes(body?: ListOfIds): Promise<Array<Vmp>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/be_samv2/vmp/byVmpCodes` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Vmp(it)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -106,6 +106,14 @@ export declare class IccInvoiceApi {
106
106
  * @return a promise that will resolve in an Array of Invoice ids.
107
107
  */
108
108
  findInvoiceIdsByDataOwnerPatientInvoiceDate(dataOwnerId: string, secretFKeys: string[], startDate?: number, endDate?: number, descending?: boolean): Promise<string[]>;
109
+ /**
110
+ * @summary List Invoice ids by data owner and a decision reference
111
+ *
112
+ * @param dataOwnerId the data owner id.
113
+ * @param decisionReference the decision reference to search.
114
+ * @return a promise that will resolve in an Array of Invoice ids.
115
+ */
116
+ findInvoiceIdsByDataOwnerDecisionReference(dataOwnerId: string, decisionReference: string): Promise<string[]>;
109
117
  /**
110
118
  * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.
111
119
  * @summary List helement stubs found By Healthcare Party and secret foreign keys.
@@ -238,6 +238,25 @@ class IccInvoiceApi {
238
238
  .catch((err) => this.handleError(err));
239
239
  });
240
240
  }
241
+ /**
242
+ * @summary List Invoice ids by data owner and a decision reference
243
+ *
244
+ * @param dataOwnerId the data owner id.
245
+ * @param decisionReference the decision reference to search.
246
+ * @return a promise that will resolve in an Array of Invoice ids.
247
+ */
248
+ findInvoiceIdsByDataOwnerDecisionReference(dataOwnerId, decisionReference) {
249
+ return __awaiter(this, void 0, void 0, function* () {
250
+ const _url = this.host +
251
+ `/invoice/byDecisionReference?ts=${new Date().getTime()}` +
252
+ `&dataOwnerId=${encodeURIComponent(dataOwnerId)}` +
253
+ `&decisionReference=${encodeURIComponent(decisionReference)}`;
254
+ const headers = yield this.headers;
255
+ return XHR_1.XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
256
+ .then((doc) => doc.body.map((it) => JSON.parse(JSON.stringify(it))))
257
+ .catch((err) => this.handleError(err));
258
+ });
259
+ }
241
260
  /**
242
261
  * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.
243
262
  * @summary List helement stubs found By Healthcare Party and secret foreign keys.
@@ -1 +1 @@
1
- {"version":3,"file":"IccInvoiceApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccInvoiceApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { Delegation } from '../model/Delegation'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainInvoice } from '../model/FilterChainInvoice'\nimport { IcureStub } from '../model/IcureStub'\nimport { Invoice } from '../model/Invoice'\nimport { InvoicingCode } from '../model/InvoicingCode'\nimport { LabelledOccurence } from '../model/LabelledOccurence'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { PaginatedListInvoice } from '../model/PaginatedListInvoice'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { EntityShareOrMetadataUpdateRequest } from '../model/requests/EntityShareOrMetadataUpdateRequest'\nimport { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult'\nimport { MinimalEntityBulkShareResult } from '../model/requests/MinimalEntityBulkShareResult'\nimport { BulkShareOrUpdateMetadataParams } from '../model/requests/BulkShareOrUpdateMetadataParams'\n\nexport class IccInvoiceApi {\n host: string\n _headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n get headers(): Promise<Array<XHR.Header>> {\n return Promise.resolve(this._headers)\n }\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this._headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this._headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n *\n * @summary Append codes to new or existing invoice\n * @param body\n * @param userId\n * @param type\n * @param sentMediumType\n * @param secretFKeys\n * @param insuranceId\n * @param invoiceId\n * @param gracePeriod\n */\n async appendCodes(\n userId: string,\n type: string,\n sentMediumType: string,\n secretFKeys: string,\n insuranceId?: string,\n invoiceId?: string,\n gracePeriod?: number,\n body?: Array<InvoicingCode>\n ): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(userId))}/append/${encodeURIComponent(String(type))}/${encodeURIComponent(\n String(sentMediumType)\n )}` +\n '?ts=' +\n new Date().getTime() +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '') +\n (insuranceId ? '&insuranceId=' + encodeURIComponent(String(insuranceId)) : '') +\n (invoiceId ? '&invoiceId=' + encodeURIComponent(String(invoiceId)) : '') +\n (gracePeriod ? '&gracePeriod=' + encodeURIComponent(String(gracePeriod)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Creates an invoice\n * @param body\n */\n async createInvoice(body?: Invoice): Promise<Invoice> {\n const _url = this.host + `/invoice` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the created invoices.\n * @summary Create a batch of invoices\n * @param body\n */\n async createInvoices(body?: Array<Invoice>): Promise<Array<Invoice>> {\n const _url = this.host + `/invoice/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Deletes an invoice\n * @param invoiceId\n */\n async deleteInvoice(invoiceId: string): Promise<DocIdentifier> {\n let _body = null\n\n const _url = this.host + `/invoice/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new DocIdentifier(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * 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.\n * @summary Filter invoices for the current user (HcParty)\n * @param body\n */\n async filterInvoicesBy(body?: FilterChainInvoice): Promise<Array<Invoice>> {\n const _url = this.host + `/invoice/filter` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n * @param fromDate\n * @param toDate\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A patient document ID\n * @param limit Number of rows\n */\n async findByAuthor(\n hcPartyId: string,\n fromDate?: number,\n toDate?: number,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListInvoice> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(hcPartyId))}` +\n '?ts=' +\n new Date().getTime() +\n (fromDate ? '&fromDate=' + encodeURIComponent(String(fromDate)) : '') +\n (toDate ? '&toDate=' + encodeURIComponent(String(toDate)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListInvoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead.\n * @summary List invoices found By Healthcare Party and secret foreign patient keys.\n * @param body\n * @param hcPartyId\n */\n async findInvoicesByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by commas.\n * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead.\n * @summary List invoices found By Healthcare Party and secret foreign patient keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findInvoicesByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @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\n * order according to the specified parameter value.\n *\n * @param dataOwnerId the data owner id.\n * @param secretFKeys an array of secret foreign keys.\n * @param startDate a timestamp in epoch milliseconds. If undefined, all the invoice ids since the beginning of time will be returned.\n * @param endDate a timestamp in epoch milliseconds. If undefined, all the invoice ids until the end of time will be returned.\n * @param descending whether to return the ids ordered in ascending or descending order by Invoice invoiceDate.\n * @return a promise that will resolve in an Array of Invoice ids.\n */\n async findInvoiceIdsByDataOwnerPatientInvoiceDate(\n dataOwnerId: string,\n secretFKeys: string[],\n startDate?: number,\n endDate?: number,\n descending?: boolean\n ): Promise<string[]> {\n const _url =\n this.host +\n `/invoice/byDataOwnerPatientInvoiceDate?ts=${new Date().getTime()}` +\n '&dataOwnerId=' +\n encodeURIComponent(dataOwnerId) +\n (!!startDate ? `&startDate=${encodeURIComponent(startDate)}` : '') +\n (!!endDate ? `&endDate=${encodeURIComponent(endDate)}` : '') +\n (!!descending ? `&descending=${descending}` : '')\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n const body = new ListOfIds({ ids: secretFKeys })\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.\n * @summary List helement stubs found By Healthcare Party and secret foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findInvoicesDelegationsStubsByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<IcureStub>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by commas.\n * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.\n * @summary List helement stubs found By Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findInvoicesDelegationsStubsByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<IcureStub>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n async findInvoicesDelegationsStubsByIds(invoiceIds: string[]): Promise<Array<IcureStub>> {\n const _url = this.host + `/invoice/delegations`\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, { ids: invoiceIds }, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets an invoice\n * @param invoiceId\n */\n async getInvoice(invoiceId: string): Promise<Invoice> {\n let _body = null\n\n const _url = this.host + `/invoice/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets an invoice\n * @param body\n */\n async getInvoices(body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/byIds` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of all used tarifications frequencies in invoices\n * @param minOccurrences\n */\n async getTarificationsCodesOccurences(minOccurrences: number): Promise<Array<LabelledOccurence>> {\n let _body = null\n\n const _url = this.host + `/invoice/codes/${encodeURIComponent(String(minOccurrences))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new LabelledOccurence(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices per status\n * @param body\n * @param status\n * @param from\n * @param to\n */\n async listAllHcpsByStatus(status: string, from?: number, to?: number, body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/allHcpsByStatus/${encodeURIComponent(String(status))}` +\n '?ts=' +\n new Date().getTime() +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param body\n */\n async listByContactIds(body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/byContacts` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by coma\n * @summary List invoices by groupId\n * @param hcPartyId\n * @param groupId\n */\n async listByHcPartyGroupId(hcPartyId: string, groupId: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartyGroupId/${encodeURIComponent(String(hcPartyId))}/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by coma\n * @summary List invoices by type, sent or unsent\n * @param hcPartyId\n * @param sentMediumType\n * @param invoiceType\n * @param sent\n * @param from\n * @param to\n */\n async listByHcPartySentMediumTypeInvoiceTypeSentDate(\n hcPartyId: string,\n sentMediumType: string,\n invoiceType: string,\n sent: boolean,\n from?: number,\n to?: number\n ): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcParty/${encodeURIComponent(String(hcPartyId))}/mediumType/${encodeURIComponent(\n String(sentMediumType)\n )}/invoiceType/${encodeURIComponent(String(invoiceType))}/sent/${encodeURIComponent(String(sent))}` +\n '?ts=' +\n new Date().getTime() +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get all invoices by author, by sending mode, by status and by date\n * @param hcPartyId\n * @param sendingMode\n * @param status\n * @param from\n * @param to\n */\n async listByHcpartySendingModeStatusDate(\n hcPartyId: string,\n sendingMode?: string,\n status?: string,\n from?: number,\n to?: number\n ): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcpartySendingModeStatusDate/${encodeURIComponent(String(hcPartyId))}` +\n '?ts=' +\n new Date().getTime() +\n (sendingMode ? '&sendingMode=' + encodeURIComponent(String(sendingMode)) : '') +\n (status ? '&status=' + encodeURIComponent(String(status)) : '') +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param invoiceIds\n */\n async listByIds(invoiceIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/byIds/${encodeURIComponent(String(invoiceIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param recipientIds\n */\n async listByRecipientsIds(recipientIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/to/${encodeURIComponent(String(recipientIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param serviceIds\n */\n async listByServiceIds(serviceIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/byServiceIds/${encodeURIComponent(String(serviceIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param userIds\n */\n async listToInsurances(userIds?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toInsurances` + '?ts=' + new Date().getTime() + (userIds ? '&userIds=' + encodeURIComponent(String(userIds)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param userIds\n */\n async listToInsurancesUnsent(userIds?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toInsurances/unsent` + '?ts=' + new Date().getTime() + (userIds ? '&userIds=' + encodeURIComponent(String(userIds)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n */\n async listToPatients(hcPartyId?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toPatients` + '?ts=' + new Date().getTime() + (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n */\n async listToPatientsUnsent(hcPartyId?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/toPatients/unsent` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param body\n * @param invoiceId\n */\n async mergeTo(invoiceId: string, body?: ListOfIds): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/mergeTo/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Modifies an invoice\n * @param body\n */\n async modifyInvoice(body?: Invoice): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified invoices.\n * @summary Modify a batch of invoices\n * @param body\n */\n async modifyInvoices(body?: Array<Invoice>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Modifies an invoice\n * @param body\n */\n async reassignInvoice(body?: Invoice): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/reassign` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary removeCodes for linked serviceId\n * @param body\n * @param userId\n * @param serviceId\n * @param secretFKeys\n */\n async removeCodes(userId: string, serviceId: string, secretFKeys: string, body?: Array<string>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(userId))}/service/${encodeURIComponent(String(serviceId))}` +\n '?ts=' +\n new Date().getTime() +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param invoiceId\n * @param scheme\n * @param forcedValue\n */\n async validate(invoiceId: string, scheme: string, forcedValue: string): Promise<Invoice> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/validate/${encodeURIComponent(String(invoiceId))}` +\n '?ts=' +\n new Date().getTime() +\n (scheme ? '&scheme=' + encodeURIComponent(String(scheme)) : '') +\n (forcedValue ? '&forcedValue=' + encodeURIComponent(String(forcedValue)) : '')\n let headers = await this.headers\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareInvoices(request: BulkShareOrUpdateMetadataParams): Promise<EntityBulkShareResult<Invoice>[]> {\n const _url = this.host + '/invoice/bulkSharedMetadataUpdate' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new EntityBulkShareResult<Invoice>(x, Invoice)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareInvoicesMinimal(request: BulkShareOrUpdateMetadataParams): Promise<MinimalEntityBulkShareResult[]> {\n const _url = this.host + '/invoice/bulkSharedMetadataUpdateMinimal' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new MinimalEntityBulkShareResult(x)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
1
+ {"version":3,"file":"IccInvoiceApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccInvoiceApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { Delegation } from '../model/Delegation'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainInvoice } from '../model/FilterChainInvoice'\nimport { IcureStub } from '../model/IcureStub'\nimport { Invoice } from '../model/Invoice'\nimport { InvoicingCode } from '../model/InvoicingCode'\nimport { LabelledOccurence } from '../model/LabelledOccurence'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { PaginatedListInvoice } from '../model/PaginatedListInvoice'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { EntityShareOrMetadataUpdateRequest } from '../model/requests/EntityShareOrMetadataUpdateRequest'\nimport { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult'\nimport { MinimalEntityBulkShareResult } from '../model/requests/MinimalEntityBulkShareResult'\nimport { BulkShareOrUpdateMetadataParams } from '../model/requests/BulkShareOrUpdateMetadataParams'\n\nexport class IccInvoiceApi {\n host: string\n _headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n get headers(): Promise<Array<XHR.Header>> {\n return Promise.resolve(this._headers)\n }\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this._headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this._headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n *\n * @summary Append codes to new or existing invoice\n * @param body\n * @param userId\n * @param type\n * @param sentMediumType\n * @param secretFKeys\n * @param insuranceId\n * @param invoiceId\n * @param gracePeriod\n */\n async appendCodes(\n userId: string,\n type: string,\n sentMediumType: string,\n secretFKeys: string,\n insuranceId?: string,\n invoiceId?: string,\n gracePeriod?: number,\n body?: Array<InvoicingCode>\n ): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(userId))}/append/${encodeURIComponent(String(type))}/${encodeURIComponent(\n String(sentMediumType)\n )}` +\n '?ts=' +\n new Date().getTime() +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '') +\n (insuranceId ? '&insuranceId=' + encodeURIComponent(String(insuranceId)) : '') +\n (invoiceId ? '&invoiceId=' + encodeURIComponent(String(invoiceId)) : '') +\n (gracePeriod ? '&gracePeriod=' + encodeURIComponent(String(gracePeriod)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Creates an invoice\n * @param body\n */\n async createInvoice(body?: Invoice): Promise<Invoice> {\n const _url = this.host + `/invoice` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the created invoices.\n * @summary Create a batch of invoices\n * @param body\n */\n async createInvoices(body?: Array<Invoice>): Promise<Array<Invoice>> {\n const _url = this.host + `/invoice/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Deletes an invoice\n * @param invoiceId\n */\n async deleteInvoice(invoiceId: string): Promise<DocIdentifier> {\n let _body = null\n\n const _url = this.host + `/invoice/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('DELETE', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new DocIdentifier(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * 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.\n * @summary Filter invoices for the current user (HcParty)\n * @param body\n */\n async filterInvoicesBy(body?: FilterChainInvoice): Promise<Array<Invoice>> {\n const _url = this.host + `/invoice/filter` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n * @param fromDate\n * @param toDate\n * @param startKey The start key for pagination: a JSON representation of an array containing all the necessary components to form the Complex Key&#x27;s startKey\n * @param startDocumentId A patient document ID\n * @param limit Number of rows\n */\n async findByAuthor(\n hcPartyId: string,\n fromDate?: number,\n toDate?: number,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListInvoice> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(hcPartyId))}` +\n '?ts=' +\n new Date().getTime() +\n (fromDate ? '&fromDate=' + encodeURIComponent(String(fromDate)) : '') +\n (toDate ? '&toDate=' + encodeURIComponent(String(toDate)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListInvoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead.\n * @summary List invoices found By Healthcare Party and secret foreign patient keys.\n * @param body\n * @param hcPartyId\n */\n async findInvoicesByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by commas.\n * @deprecated use {@link findInvoiceIdsByDataOwnerPatientInvoiceDate} instead.\n * @summary List invoices found By Healthcare Party and secret foreign patient keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findInvoicesByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @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\n * order according to the specified parameter value.\n *\n * @param dataOwnerId the data owner id.\n * @param secretFKeys an array of secret foreign keys.\n * @param startDate a timestamp in epoch milliseconds. If undefined, all the invoice ids since the beginning of time will be returned.\n * @param endDate a timestamp in epoch milliseconds. If undefined, all the invoice ids until the end of time will be returned.\n * @param descending whether to return the ids ordered in ascending or descending order by Invoice invoiceDate.\n * @return a promise that will resolve in an Array of Invoice ids.\n */\n async findInvoiceIdsByDataOwnerPatientInvoiceDate(\n dataOwnerId: string,\n secretFKeys: string[],\n startDate?: number,\n endDate?: number,\n descending?: boolean\n ): Promise<string[]> {\n const _url =\n this.host +\n `/invoice/byDataOwnerPatientInvoiceDate?ts=${new Date().getTime()}` +\n '&dataOwnerId=' +\n encodeURIComponent(dataOwnerId) +\n (!!startDate ? `&startDate=${encodeURIComponent(startDate)}` : '') +\n (!!endDate ? `&endDate=${encodeURIComponent(endDate)}` : '') +\n (!!descending ? `&descending=${descending}` : '')\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n const body = new ListOfIds({ ids: secretFKeys })\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary List Invoice ids by data owner and a decision reference\n *\n * @param dataOwnerId the data owner id.\n * @param decisionReference the decision reference to search.\n * @return a promise that will resolve in an Array of Invoice ids.\n */\n async findInvoiceIdsByDataOwnerDecisionReference(dataOwnerId: string, decisionReference: string): Promise<string[]> {\n const _url =\n this.host +\n `/invoice/byDecisionReference?ts=${new Date().getTime()}` +\n `&dataOwnerId=${encodeURIComponent(dataOwnerId)}` +\n `&decisionReference=${encodeURIComponent(decisionReference)}`\n const headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.\n * @summary List helement stubs found By Healthcare Party and secret foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findInvoicesDelegationsStubsByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<IcureStub>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by commas.\n * @deprecated use {@link findInvoicesDelegationsStubsByIds} instead.\n * @summary List helement stubs found By Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findInvoicesDelegationsStubsByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<IcureStub>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n async findInvoicesDelegationsStubsByIds(invoiceIds: string[]): Promise<Array<IcureStub>> {\n const _url = this.host + `/invoice/delegations`\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, { ids: invoiceIds }, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets an invoice\n * @param invoiceId\n */\n async getInvoice(invoiceId: string): Promise<Invoice> {\n let _body = null\n\n const _url = this.host + `/invoice/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets an invoice\n * @param body\n */\n async getInvoices(body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/byIds` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of all used tarifications frequencies in invoices\n * @param minOccurrences\n */\n async getTarificationsCodesOccurences(minOccurrences: number): Promise<Array<LabelledOccurence>> {\n let _body = null\n\n const _url = this.host + `/invoice/codes/${encodeURIComponent(String(minOccurrences))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new LabelledOccurence(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices per status\n * @param body\n * @param status\n * @param from\n * @param to\n */\n async listAllHcpsByStatus(status: string, from?: number, to?: number, body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/allHcpsByStatus/${encodeURIComponent(String(status))}` +\n '?ts=' +\n new Date().getTime() +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param body\n */\n async listByContactIds(body?: ListOfIds): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/byContacts` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by coma\n * @summary List invoices by groupId\n * @param hcPartyId\n * @param groupId\n */\n async listByHcPartyGroupId(hcPartyId: string, groupId: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcPartyGroupId/${encodeURIComponent(String(hcPartyId))}/${encodeURIComponent(String(groupId))}` +\n '?ts=' +\n new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys have to delimited by coma\n * @summary List invoices by type, sent or unsent\n * @param hcPartyId\n * @param sentMediumType\n * @param invoiceType\n * @param sent\n * @param from\n * @param to\n */\n async listByHcPartySentMediumTypeInvoiceTypeSentDate(\n hcPartyId: string,\n sentMediumType: string,\n invoiceType: string,\n sent: boolean,\n from?: number,\n to?: number\n ): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcParty/${encodeURIComponent(String(hcPartyId))}/mediumType/${encodeURIComponent(\n String(sentMediumType)\n )}/invoiceType/${encodeURIComponent(String(invoiceType))}/sent/${encodeURIComponent(String(sent))}` +\n '?ts=' +\n new Date().getTime() +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get all invoices by author, by sending mode, by status and by date\n * @param hcPartyId\n * @param sendingMode\n * @param status\n * @param from\n * @param to\n */\n async listByHcpartySendingModeStatusDate(\n hcPartyId: string,\n sendingMode?: string,\n status?: string,\n from?: number,\n to?: number\n ): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/byHcpartySendingModeStatusDate/${encodeURIComponent(String(hcPartyId))}` +\n '?ts=' +\n new Date().getTime() +\n (sendingMode ? '&sendingMode=' + encodeURIComponent(String(sendingMode)) : '') +\n (status ? '&status=' + encodeURIComponent(String(status)) : '') +\n (from ? '&from=' + encodeURIComponent(String(from)) : '') +\n (to ? '&to=' + encodeURIComponent(String(to)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param invoiceIds\n */\n async listByIds(invoiceIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/byIds/${encodeURIComponent(String(invoiceIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param recipientIds\n */\n async listByRecipientsIds(recipientIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/to/${encodeURIComponent(String(recipientIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param serviceIds\n */\n async listByServiceIds(serviceIds: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url = this.host + `/invoice/byServiceIds/${encodeURIComponent(String(serviceIds))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param userIds\n */\n async listToInsurances(userIds?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toInsurances` + '?ts=' + new Date().getTime() + (userIds ? '&userIds=' + encodeURIComponent(String(userIds)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param userIds\n */\n async listToInsurancesUnsent(userIds?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toInsurances/unsent` + '?ts=' + new Date().getTime() + (userIds ? '&userIds=' + encodeURIComponent(String(userIds)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n */\n async listToPatients(hcPartyId?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host + `/invoice/toPatients` + '?ts=' + new Date().getTime() + (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param hcPartyId\n */\n async listToPatientsUnsent(hcPartyId?: string): Promise<Array<Invoice>> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/toPatients/unsent` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param body\n * @param invoiceId\n */\n async mergeTo(invoiceId: string, body?: ListOfIds): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/mergeTo/${encodeURIComponent(String(invoiceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Modifies an invoice\n * @param body\n */\n async modifyInvoice(body?: Invoice): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified invoices.\n * @summary Modify a batch of invoices\n * @param body\n */\n async modifyInvoices(body?: Array<Invoice>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Modifies an invoice\n * @param body\n */\n async reassignInvoice(body?: Invoice): Promise<Invoice> {\n let _body = null\n _body = body\n\n const _url = this.host + `/invoice/reassign` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary removeCodes for linked serviceId\n * @param body\n * @param userId\n * @param serviceId\n * @param secretFKeys\n */\n async removeCodes(userId: string, serviceId: string, secretFKeys: string, body?: Array<string>): Promise<Array<Invoice>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/invoice/byauthor/${encodeURIComponent(String(userId))}/service/${encodeURIComponent(String(serviceId))}` +\n '?ts=' +\n new Date().getTime() +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Invoice(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Gets all invoices for author at date\n * @param invoiceId\n * @param scheme\n * @param forcedValue\n */\n async validate(invoiceId: string, scheme: string, forcedValue: string): Promise<Invoice> {\n let _body = null\n\n const _url =\n this.host +\n `/invoice/validate/${encodeURIComponent(String(invoiceId))}` +\n '?ts=' +\n new Date().getTime() +\n (scheme ? '&scheme=' + encodeURIComponent(String(scheme)) : '') +\n (forcedValue ? '&forcedValue=' + encodeURIComponent(String(forcedValue)) : '')\n let headers = await this.headers\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Invoice(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareInvoices(request: BulkShareOrUpdateMetadataParams): Promise<EntityBulkShareResult<Invoice>[]> {\n const _url = this.host + '/invoice/bulkSharedMetadataUpdate' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new EntityBulkShareResult<Invoice>(x, Invoice)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareInvoicesMinimal(request: BulkShareOrUpdateMetadataParams): Promise<MinimalEntityBulkShareResult[]> {\n const _url = this.host + '/invoice/bulkSharedMetadataUpdateMinimal' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new MinimalEntityBulkShareResult(x)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -89,6 +89,7 @@ export declare class Invoice {
89
89
  */
90
90
  recipientId?: string;
91
91
  invoiceReference?: string;
92
+ decisionReference?: string;
92
93
  thirdPartyReference?: string;
93
94
  thirdPartyPaymentJustification?: string;
94
95
  thirdPartyPaymentReason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Invoice.js","sourceRoot":"","sources":["../../../icc-api/model/Invoice.ts"],"names":[],"mappings":";;;AAmBA;;GAEG;AACH,MAAa,OAAO;IAClB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAe,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;CAkJF;AArJD,0BAqJC;AACD,WAAiB,OAAO;IAET,uBAAe,GAAG;QAC7B,OAAO,EAAE,SAA4B;QACrC,UAAU,EAAE,YAA+B;QAC3C,YAAY,EAAE,cAAiC;QAC/C,SAAS,EAAE,WAA8B;QACzC,KAAK,EAAE,OAA0B;QACjC,KAAK,EAAE,OAA0B;KAClC,CAAA;IAEY,0BAAkB,GAAG;QAChC,KAAK,EAAE,OAA6B;QACpC,OAAO,EAAE,SAA+B;QACxC,KAAK,EAAE,OAA6B;QACpC,KAAK,EAAE,OAA6B;QACpC,SAAS,EAAE,WAAiC;QAC5C,KAAK,EAAE,OAA6B;QACpC,IAAI,EAAE,MAA4B;KACnC,CAAA;IAEY,4BAAoB,GAAG;QAClC,KAAK,EAAE,OAA+B;QACtC,QAAQ,EAAE,UAAkC;KAC7C,CAAA;IAEY,uBAAe,GAAG;QAC7B,IAAI,EAAE,MAAyB;QAC/B,KAAK,EAAE,OAA0B;QACjC,SAAS,EAAE,WAA8B;QACzC,UAAU,EAAE,YAA+B;QAC3C,SAAS,EAAE,WAA8B;QACzC,MAAM,EAAE,QAA2B;QACnC,OAAO,EAAE,SAA4B;QACrC,KAAK,EAAE,OAA0B;KAClC,CAAA;AACH,CAAC,EApCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAoCvB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { Delegation } from './Delegation'\nimport { IdentityDocumentReader } from './IdentityDocumentReader'\nimport { InvoicingCode } from './InvoicingCode'\nimport { Payment } from './Payment'\nimport { SecurityMetadata } from './SecurityMetadata'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api/utils/EntityWithDelegationTypeName'\n\n/**\n * This entity is a root level object. It represents an Invoice. It is serialized in JSON and saved in the underlying iCure CouchDB database.\n */\nexport class Invoice {\n constructor(json: JSON | any) {\n Object.assign(this as Invoice, json)\n }\n\n /**\n * The Id of the Invoice. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the invoice in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n created?: number\n /**\n * The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n modified?: number\n /**\n * The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n author?: string\n /**\n * The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n responsible?: string\n /**\n * The id of the medical location where this entity was created.\n */\n medicalLocationId?: string\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes\n */\n codes?: Array<CodeStub>\n /**\n * Soft delete (unix epoch in ms) timestamp of the object.\n */\n endOfLife?: number\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice was drafted, will be filled automatically if missing. Not enforced by the application server.\n */\n invoiceDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice was sent, will be filled automatically if missing. Not enforced by the application server.\n */\n sentDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice is printed, will be filled automatically if missing. Not enforced by the application server.\n */\n printedDate?: number\n invoicingCodes?: Array<InvoicingCode>\n receipts?: { [key: string]: string }\n /**\n * The type of user that receives the invoice, a patient or a healthcare party\n */\n recipientType?: string\n /**\n * Id of the recipient of the invoice. For healthcare party and insurance, patient link happens through secretForeignKeys\n */\n recipientId?: string\n invoiceReference?: string\n thirdPartyReference?: string\n thirdPartyPaymentJustification?: string\n thirdPartyPaymentReason?: string\n reason?: string\n /**\n * The format the invoice should follow based on the recipient which could be a patient, mutual fund or paying agency such as the CPAS\n */\n invoiceType?: Invoice.InvoiceTypeEnum\n /**\n * Medium of the invoice: CD ROM, Email, paper, etc.\n */\n sentMediumType?: Invoice.SentMediumTypeEnum\n interventionType?: Invoice.InterventionTypeEnum\n groupId?: string\n /**\n * Type of payment, ex: cash, wired, insurance, debit card, etc.\n */\n paymentType?: Invoice.PaymentTypeEnum\n paid?: number\n payments?: Array<Payment>\n gnotionNihii?: string\n gnotionSsin?: string\n gnotionLastName?: string\n gnotionFirstName?: string\n gnotionCdHcParty?: string\n invoicePeriod?: number\n careProviderType?: string\n internshipNihii?: string\n internshipSsin?: string\n internshipLastName?: string\n internshipFirstName?: string\n internshipCdHcParty?: string\n internshipCbe?: string\n supervisorNihii?: string\n supervisorSsin?: string\n supervisorLastName?: string\n supervisorFirstName?: string\n supervisorCdHcParty?: string\n supervisorCbe?: string\n error?: string\n encounterLocationName?: string\n encounterLocationNihii?: string\n encounterLocationNorm?: number\n longDelayJustification?: number\n correctiveInvoiceId?: string\n correctedInvoiceId?: string\n creditNote?: boolean\n creditNoteRelatedInvoiceId?: string\n idDocument?: IdentityDocumentReader\n admissionDate?: number\n locationNihii?: string\n locationService?: number\n cancelReason?: string\n cancelDate?: number\n options?: { [key: string]: string }\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find all contacts for a specific patient. These keys are in clear. You can have several to partition the medical document space.\n */\n secretForeignKeys?: Array<string>\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find the patient for a specific contact. These keys are the encrypted id (using the hcParty key for the delegate) that can be found in clear inside the patient. ids encrypted using the hcParty keys.\n */\n cryptedForeignKeys?: { [key: string]: Array<Delegation> }\n /**\n * When a document is created, the responsible generates a cryptographically random master key (never to be used for something else than referencing from other entities). He/she encrypts it using his own AES exchange key and stores it as a delegation. The responsible is thus always in the delegations as well\n */\n delegations?: { [key: string]: Array<Delegation> }\n /**\n * When a document needs to be encrypted, the responsible generates a cryptographically random master key (different from the delegation key, never to appear in clear anywhere in the db. He/she encrypts it using his own AES exchange key and stores it as a delegation\n */\n encryptionKeys?: { [key: string]: Array<Delegation> }\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n securityMetadata?: SecurityMetadata\n \n}\nexport namespace Invoice {\n export type InvoiceTypeEnum = 'patient' | 'mutualfund' | 'payingagency' | 'insurance' | 'efact' | 'other'\n export const InvoiceTypeEnum = {\n Patient: 'patient' as InvoiceTypeEnum,\n Mutualfund: 'mutualfund' as InvoiceTypeEnum,\n Payingagency: 'payingagency' as InvoiceTypeEnum,\n Insurance: 'insurance' as InvoiceTypeEnum,\n Efact: 'efact' as InvoiceTypeEnum,\n Other: 'other' as InvoiceTypeEnum,\n }\n export type SentMediumTypeEnum = 'cdrom' | 'eattest' | 'efact' | 'email' | 'mediprima' | 'paper' | 'stat'\n export const SentMediumTypeEnum = {\n Cdrom: 'cdrom' as SentMediumTypeEnum,\n Eattest: 'eattest' as SentMediumTypeEnum,\n Efact: 'efact' as SentMediumTypeEnum,\n Email: 'email' as SentMediumTypeEnum,\n Mediprima: 'mediprima' as SentMediumTypeEnum,\n Paper: 'paper' as SentMediumTypeEnum,\n Stat: 'stat' as SentMediumTypeEnum,\n }\n export type InterventionTypeEnum = 'total' | 'userfees'\n export const InterventionTypeEnum = {\n Total: 'total' as InterventionTypeEnum,\n Userfees: 'userfees' as InterventionTypeEnum,\n }\n export type PaymentTypeEnum = 'cash' | 'wired' | 'insurance' | 'creditcard' | 'debitcard' | 'paypal' | 'bitcoin' | 'other'\n export const PaymentTypeEnum = {\n Cash: 'cash' as PaymentTypeEnum,\n Wired: 'wired' as PaymentTypeEnum,\n Insurance: 'insurance' as PaymentTypeEnum,\n Creditcard: 'creditcard' as PaymentTypeEnum,\n Debitcard: 'debitcard' as PaymentTypeEnum,\n Paypal: 'paypal' as PaymentTypeEnum,\n Bitcoin: 'bitcoin' as PaymentTypeEnum,\n Other: 'other' as PaymentTypeEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"Invoice.js","sourceRoot":"","sources":["../../../icc-api/model/Invoice.ts"],"names":[],"mappings":";;;AAmBA;;GAEG;AACH,MAAa,OAAO;IAClB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAe,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;CAkJF;AArJD,0BAqJC;AACD,WAAiB,OAAO;IAET,uBAAe,GAAG;QAC7B,OAAO,EAAE,SAA4B;QACrC,UAAU,EAAE,YAA+B;QAC3C,YAAY,EAAE,cAAiC;QAC/C,SAAS,EAAE,WAA8B;QACzC,KAAK,EAAE,OAA0B;QACjC,KAAK,EAAE,OAA0B;KAClC,CAAA;IAEY,0BAAkB,GAAG;QAChC,KAAK,EAAE,OAA6B;QACpC,OAAO,EAAE,SAA+B;QACxC,KAAK,EAAE,OAA6B;QACpC,KAAK,EAAE,OAA6B;QACpC,SAAS,EAAE,WAAiC;QAC5C,KAAK,EAAE,OAA6B;QACpC,IAAI,EAAE,MAA4B;KACnC,CAAA;IAEY,4BAAoB,GAAG;QAClC,KAAK,EAAE,OAA+B;QACtC,QAAQ,EAAE,UAAkC;KAC7C,CAAA;IAEY,uBAAe,GAAG;QAC7B,IAAI,EAAE,MAAyB;QAC/B,KAAK,EAAE,OAA0B;QACjC,SAAS,EAAE,WAA8B;QACzC,UAAU,EAAE,YAA+B;QAC3C,SAAS,EAAE,WAA8B;QACzC,MAAM,EAAE,QAA2B;QACnC,OAAO,EAAE,SAA4B;QACrC,KAAK,EAAE,OAA0B;KAClC,CAAA;AACH,CAAC,EApCgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAoCvB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { Delegation } from './Delegation'\nimport { IdentityDocumentReader } from './IdentityDocumentReader'\nimport { InvoicingCode } from './InvoicingCode'\nimport { Payment } from './Payment'\nimport { SecurityMetadata } from './SecurityMetadata'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api/utils/EntityWithDelegationTypeName'\n\n/**\n * This entity is a root level object. It represents an Invoice. It is serialized in JSON and saved in the underlying iCure CouchDB database.\n */\nexport class Invoice {\n constructor(json: JSON | any) {\n Object.assign(this as Invoice, json)\n }\n\n /**\n * The Id of the Invoice. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the invoice in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n created?: number\n /**\n * The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n modified?: number\n /**\n * The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n author?: string\n /**\n * The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n responsible?: string\n /**\n * The id of the medical location where this entity was created.\n */\n medicalLocationId?: string\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes\n */\n codes?: Array<CodeStub>\n /**\n * Soft delete (unix epoch in ms) timestamp of the object.\n */\n endOfLife?: number\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice was drafted, will be filled automatically if missing. Not enforced by the application server.\n */\n invoiceDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice was sent, will be filled automatically if missing. Not enforced by the application server.\n */\n sentDate?: number\n /**\n * The timestamp (unix epoch in ms) when the invoice is printed, will be filled automatically if missing. Not enforced by the application server.\n */\n printedDate?: number\n invoicingCodes?: Array<InvoicingCode>\n receipts?: { [key: string]: string }\n /**\n * The type of user that receives the invoice, a patient or a healthcare party\n */\n recipientType?: string\n /**\n * Id of the recipient of the invoice. For healthcare party and insurance, patient link happens through secretForeignKeys\n */\n recipientId?: string\n invoiceReference?: string\n decisionReference?: string\n thirdPartyReference?: string\n thirdPartyPaymentJustification?: string\n thirdPartyPaymentReason?: string\n reason?: string\n /**\n * The format the invoice should follow based on the recipient which could be a patient, mutual fund or paying agency such as the CPAS\n */\n invoiceType?: Invoice.InvoiceTypeEnum\n /**\n * Medium of the invoice: CD ROM, Email, paper, etc.\n */\n sentMediumType?: Invoice.SentMediumTypeEnum\n interventionType?: Invoice.InterventionTypeEnum\n groupId?: string\n /**\n * Type of payment, ex: cash, wired, insurance, debit card, etc.\n */\n paymentType?: Invoice.PaymentTypeEnum\n paid?: number\n payments?: Array<Payment>\n gnotionNihii?: string\n gnotionSsin?: string\n gnotionLastName?: string\n gnotionFirstName?: string\n gnotionCdHcParty?: string\n invoicePeriod?: number\n careProviderType?: string\n internshipNihii?: string\n internshipSsin?: string\n internshipLastName?: string\n internshipFirstName?: string\n internshipCdHcParty?: string\n internshipCbe?: string\n supervisorNihii?: string\n supervisorSsin?: string\n supervisorLastName?: string\n supervisorFirstName?: string\n supervisorCdHcParty?: string\n supervisorCbe?: string\n error?: string\n encounterLocationName?: string\n encounterLocationNihii?: string\n encounterLocationNorm?: number\n longDelayJustification?: number\n correctiveInvoiceId?: string\n correctedInvoiceId?: string\n creditNote?: boolean\n creditNoteRelatedInvoiceId?: string\n idDocument?: IdentityDocumentReader\n admissionDate?: number\n locationNihii?: string\n locationService?: number\n cancelReason?: string\n cancelDate?: number\n options?: { [key: string]: string }\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find all contacts for a specific patient. These keys are in clear. You can have several to partition the medical document space.\n */\n secretForeignKeys?: Array<string>\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find the patient for a specific contact. These keys are the encrypted id (using the hcParty key for the delegate) that can be found in clear inside the patient. ids encrypted using the hcParty keys.\n */\n cryptedForeignKeys?: { [key: string]: Array<Delegation> }\n /**\n * When a document is created, the responsible generates a cryptographically random master key (never to be used for something else than referencing from other entities). He/she encrypts it using his own AES exchange key and stores it as a delegation. The responsible is thus always in the delegations as well\n */\n delegations?: { [key: string]: Array<Delegation> }\n /**\n * When a document needs to be encrypted, the responsible generates a cryptographically random master key (different from the delegation key, never to appear in clear anywhere in the db. He/she encrypts it using his own AES exchange key and stores it as a delegation\n */\n encryptionKeys?: { [key: string]: Array<Delegation> }\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n securityMetadata?: SecurityMetadata\n}\nexport namespace Invoice {\n export type InvoiceTypeEnum = 'patient' | 'mutualfund' | 'payingagency' | 'insurance' | 'efact' | 'other'\n export const InvoiceTypeEnum = {\n Patient: 'patient' as InvoiceTypeEnum,\n Mutualfund: 'mutualfund' as InvoiceTypeEnum,\n Payingagency: 'payingagency' as InvoiceTypeEnum,\n Insurance: 'insurance' as InvoiceTypeEnum,\n Efact: 'efact' as InvoiceTypeEnum,\n Other: 'other' as InvoiceTypeEnum,\n }\n export type SentMediumTypeEnum = 'cdrom' | 'eattest' | 'efact' | 'email' | 'mediprima' | 'paper' | 'stat'\n export const SentMediumTypeEnum = {\n Cdrom: 'cdrom' as SentMediumTypeEnum,\n Eattest: 'eattest' as SentMediumTypeEnum,\n Efact: 'efact' as SentMediumTypeEnum,\n Email: 'email' as SentMediumTypeEnum,\n Mediprima: 'mediprima' as SentMediumTypeEnum,\n Paper: 'paper' as SentMediumTypeEnum,\n Stat: 'stat' as SentMediumTypeEnum,\n }\n export type InterventionTypeEnum = 'total' | 'userfees'\n export const InterventionTypeEnum = {\n Total: 'total' as InterventionTypeEnum,\n Userfees: 'userfees' as InterventionTypeEnum,\n }\n export type PaymentTypeEnum = 'cash' | 'wired' | 'insurance' | 'creditcard' | 'debitcard' | 'paypal' | 'bitcoin' | 'other'\n export const PaymentTypeEnum = {\n Cash: 'cash' as PaymentTypeEnum,\n Wired: 'wired' as PaymentTypeEnum,\n Insurance: 'insurance' as PaymentTypeEnum,\n Creditcard: 'creditcard' as PaymentTypeEnum,\n Debitcard: 'debitcard' as PaymentTypeEnum,\n Paypal: 'paypal' as PaymentTypeEnum,\n Bitcoin: 'bitcoin' as PaymentTypeEnum,\n Other: 'other' as PaymentTypeEnum,\n }\n}\n"]}
@@ -27,6 +27,7 @@ export declare class InvoicingCode {
27
27
  patientIntervention?: number;
28
28
  doctorSupplement?: number;
29
29
  conventionAmount?: number;
30
+ productLabel?: string;
30
31
  vat?: number;
31
32
  error?: string;
32
33
  contract?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"InvoicingCode.js","sourceRoot":"","sources":["../../../icc-api/model/InvoicingCode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,MAAa,aAAa;IACxB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;CAyDF;AA5DD,sCA4DC;AACD,WAAiB,aAAa;IAEf,6BAAe,GAAG;QAC7B,IAAI,EAAE,MAAyB;QAC/B,KAAK,EAAE,OAA0B;QACjC,SAAS,EAAE,WAA8B;QACzC,UAAU,EAAE,YAA+B;QAC3C,SAAS,EAAE,WAA8B;QACzC,MAAM,EAAE,QAA2B;QACnC,OAAO,EAAE,SAA4B;QACrC,KAAK,EAAE,OAA0B;KAClC,CAAA;AACH,CAAC,EAZgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAY7B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\nexport class InvoicingCode {\n constructor(json: JSON | any) {\n Object.assign(this as InvoicingCode, json)\n }\n\n id?: string\n dateCode?: number\n logicalId?: string\n label?: string\n userId?: string\n contactId?: string\n serviceId?: string\n tarificationId?: string\n code?: string\n paymentType?: InvoicingCode.PaymentTypeEnum\n paid?: number\n totalAmount?: number\n reimbursement?: number\n patientIntervention?: number\n doctorSupplement?: number\n conventionAmount?: number\n vat?: number\n error?: string\n contract?: string\n contractDate?: number\n units?: number\n side?: number\n timeOfDay?: number\n eidReadingHour?: number\n eidReadingValue?: string\n override3rdPayerCode?: number\n override3rdPayerReason?: string\n transplantationCode?: number\n prescriberNorm?: number\n percentNorm?: number\n prescriberNihii?: string\n relatedCode?: string\n prescriptionDate?: number\n derogationMaxNumber?: number\n prescriberSsin?: string\n prescriberLastName?: string\n prescriberFirstName?: string\n prescriberCdHcParty?: string\n locationNihii?: string\n locationCdHcParty?: string\n locationService?: number\n admissionDate?: number\n canceled?: boolean\n accepted?: boolean\n pending?: boolean\n resent?: boolean\n archived?: boolean\n lost?: boolean\n insuranceJustification?: number\n cancelPatientInterventionReason?: number\n status?: number\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n}\nexport namespace InvoicingCode {\n export type PaymentTypeEnum = 'cash' | 'wired' | 'insurance' | 'creditcard' | 'debitcard' | 'paypal' | 'bitcoin' | 'other'\n export const PaymentTypeEnum = {\n Cash: 'cash' as PaymentTypeEnum,\n Wired: 'wired' as PaymentTypeEnum,\n Insurance: 'insurance' as PaymentTypeEnum,\n Creditcard: 'creditcard' as PaymentTypeEnum,\n Debitcard: 'debitcard' as PaymentTypeEnum,\n Paypal: 'paypal' as PaymentTypeEnum,\n Bitcoin: 'bitcoin' as PaymentTypeEnum,\n Other: 'other' as PaymentTypeEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"InvoicingCode.js","sourceRoot":"","sources":["../../../icc-api/model/InvoicingCode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,MAAa,aAAa;IACxB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;CA0DF;AA7DD,sCA6DC;AACD,WAAiB,aAAa;IAEf,6BAAe,GAAG;QAC7B,IAAI,EAAE,MAAyB;QAC/B,KAAK,EAAE,OAA0B;QACjC,SAAS,EAAE,WAA8B;QACzC,UAAU,EAAE,YAA+B;QAC3C,SAAS,EAAE,WAA8B;QACzC,MAAM,EAAE,QAA2B;QACnC,OAAO,EAAE,SAA4B;QACrC,KAAK,EAAE,OAA0B;KAClC,CAAA;AACH,CAAC,EAZgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAY7B","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\nexport class InvoicingCode {\n constructor(json: JSON | any) {\n Object.assign(this as InvoicingCode, json)\n }\n\n id?: string\n dateCode?: number\n logicalId?: string\n label?: string\n userId?: string\n contactId?: string\n serviceId?: string\n tarificationId?: string\n code?: string\n paymentType?: InvoicingCode.PaymentTypeEnum\n paid?: number\n totalAmount?: number\n reimbursement?: number\n patientIntervention?: number\n doctorSupplement?: number\n conventionAmount?: number\n productLabel?: string\n vat?: number\n error?: string\n contract?: string\n contractDate?: number\n units?: number\n side?: number\n timeOfDay?: number\n eidReadingHour?: number\n eidReadingValue?: string\n override3rdPayerCode?: number\n override3rdPayerReason?: string\n transplantationCode?: number\n prescriberNorm?: number\n percentNorm?: number\n prescriberNihii?: string\n relatedCode?: string\n prescriptionDate?: number\n derogationMaxNumber?: number\n prescriberSsin?: string\n prescriberLastName?: string\n prescriberFirstName?: string\n prescriberCdHcParty?: string\n locationNihii?: string\n locationCdHcParty?: string\n locationService?: number\n admissionDate?: number\n canceled?: boolean\n accepted?: boolean\n pending?: boolean\n resent?: boolean\n archived?: boolean\n lost?: boolean\n insuranceJustification?: number\n cancelPatientInterventionReason?: number\n status?: number\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n}\nexport namespace InvoicingCode {\n export type PaymentTypeEnum = 'cash' | 'wired' | 'insurance' | 'creditcard' | 'debitcard' | 'paypal' | 'bitcoin' | 'other'\n export const PaymentTypeEnum = {\n Cash: 'cash' as PaymentTypeEnum,\n Wired: 'wired' as PaymentTypeEnum,\n Insurance: 'insurance' as PaymentTypeEnum,\n Creditcard: 'creditcard' as PaymentTypeEnum,\n Debitcard: 'debitcard' as PaymentTypeEnum,\n Paypal: 'paypal' as PaymentTypeEnum,\n Bitcoin: 'bitcoin' as PaymentTypeEnum,\n Other: 'other' as PaymentTypeEnum,\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ export declare class SamV2Update {
2
+ constructor(json: JSON | any);
3
+ id?: string;
4
+ rev?: string;
5
+ samVersion?: string;
6
+ version?: string;
7
+ date?: number;
8
+ type?: string;
9
+ updates?: {
10
+ [key: string]: string;
11
+ };
12
+ deletions?: {
13
+ [key: string]: string;
14
+ };
15
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SamV2Update = void 0;
4
+ class SamV2Update {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.SamV2Update = SamV2Update;
10
+ //# sourceMappingURL=SamV2Update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SamV2Update.js","sourceRoot":"","sources":["../../../icc-api/model/SamV2Update.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAmB,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;CAUF;AAbD,kCAaC","sourcesContent":["export class SamV2Update {\n constructor(json: JSON | any) {\n Object.assign(this as SamV2Update, json)\n }\n\n id?: string\n rev?: string\n samVersion?: string\n version?: string\n date?: number\n type?: string\n updates?: { [key: string]: string }\n deletions?: { [key: string]: string }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare class SamV2UpdateTaskLogItem {
2
+ constructor(json: JSON | any);
3
+ status?: 'Started' | 'Running' | 'Error' | 'Completed' | 'Missing';
4
+ time?: number;
5
+ msg?: string;
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SamV2UpdateTaskLogItem = void 0;
4
+ class SamV2UpdateTaskLogItem {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.SamV2UpdateTaskLogItem = SamV2UpdateTaskLogItem;
10
+ //# sourceMappingURL=SamV2UpdateTaskLogItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SamV2UpdateTaskLogItem.js","sourceRoot":"","sources":["../../../icc-api/model/SamV2UpdateTaskLogItem.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;IACjC,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CAKF;AARD,wDAQC","sourcesContent":["export class SamV2UpdateTaskLogItem {\n constructor(json: JSON | any) {\n Object.assign(this as SamV2UpdateTaskLogItem, json)\n }\n\n status?: 'Started' | 'Running' | 'Error' | 'Completed' | 'Missing'\n time?: number\n msg?: string\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icure/api",
3
- "version": "8.1.1",
3
+ "version": "8.1.2",
4
4
  "description": "Typescript version of iCure standalone API client",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -138,7 +138,7 @@ describe('test confidential helement', () => {
138
138
  (0, chai_1.expect)(anyNonConfidentialHe.secretForeignKeys).to.have.length(1);
139
139
  (0, chai_1.expect)(nonConfidentialSecretIds).to.include(anyNonConfidentialHe.secretForeignKeys[0]);
140
140
  const allNonConfidentialHe = yield childApi.healthcareElementApi.newInstance(childUser, modifiedPatient, { descr: 'Confidential info' }, { sfkOption: UseAllSharedWithParent });
141
- (0, chai_1.expect)(allNonConfidentialHe.secretForeignKeys).to.have.members(confidentialSecretIds);
141
+ (0, chai_1.expect)(allNonConfidentialHe.secretForeignKeys).to.have.members(nonConfidentialSecretIds);
142
142
  }));
143
143
  it('Should allow creation of half-links by using no sfk', () => __awaiter(void 0, void 0, void 0, function* () {
144
144
  const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = yield (0, test_utils_1.createHcpHierarchyApis)(env);
@@ -149,5 +149,20 @@ describe('test confidential helement', () => {
149
149
  (0, chai_1.expect)(decryptedPatientId).to.have.length(1);
150
150
  (0, chai_1.expect)(decryptedPatientId[0]).to.equal(pat.id);
151
151
  }));
152
+ it('Should allow creation of links using the provided sfks', () => __awaiter(void 0, void 0, void 0, function* () {
153
+ const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = yield (0, test_utils_1.createHcpHierarchyApis)(env);
154
+ const pat = yield childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' });
155
+ const modifiedPatient = (yield childApi.patientApi.initConfidentialSecretId(pat, childUser));
156
+ const secretIds = yield childApi.patientApi.decryptSecretIdsOf(modifiedPatient);
157
+ (0, chai_1.expect)(secretIds).to.have.length(2);
158
+ const halfLinkedHe = yield childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: new SecretIdUseOption_1.SecretIdUseOption.Use([]), ignoreAutoDelegations: true });
159
+ (0, chai_1.expect)(halfLinkedHe.secretForeignKeys).to.have.length(0);
160
+ const linkedHeSfk0 = yield childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: new SecretIdUseOption_1.SecretIdUseOption.Use([secretIds[0]]), ignoreAutoDelegations: true });
161
+ (0, chai_1.expect)(linkedHeSfk0.secretForeignKeys).to.have.members([secretIds[0]]);
162
+ const linkedHeSfk1 = yield childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: new SecretIdUseOption_1.SecretIdUseOption.Use([secretIds[1]]), ignoreAutoDelegations: true });
163
+ (0, chai_1.expect)(linkedHeSfk1.secretForeignKeys).to.have.members([secretIds[1]]);
164
+ const linkedHeSfkBoth = yield childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: new SecretIdUseOption_1.SecretIdUseOption.Use(secretIds), ignoreAutoDelegations: true });
165
+ (0, chai_1.expect)(linkedHeSfkBoth.secretForeignKeys).to.have.members(secretIds);
166
+ }));
152
167
  });
153
168
  //# sourceMappingURL=confidential-entities-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidential-entities-test.js","sourceRoot":"","sources":["../../../test/icc-x-api/confidential-entities-test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHcpHierarchyApis, getEnvironmentInitializer, isLiteTest, setLocalStorage } from '../utils/test_utils'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { expect } from 'chai'\nimport 'isomorphic-fetch'\nimport { SecureDelegation } from '../../icc-api/model/SecureDelegation'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api'\nimport { SecretIdUseOption } from '../../icc-x-api/crypto/SecretIdUseOption'\nimport UseAnyConfidential = SecretIdUseOption.UseAnyConfidential\nimport UseAnySharedWithParent = SecretIdUseOption.UseAnySharedWithParent\nimport { randomUUID } from 'crypto'\nimport UseAllConfidential = SecretIdUseOption.UseAllConfidential\nimport UseAllSharedWithParent = SecretIdUseOption.UseAllSharedWithParent\nimport UseNone = SecretIdUseOption.UseNone\n\nsetLocalStorage(fetch)\n\nvar env: TestVars\n\ndescribe('test confidential helement', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('confidential entity should be accessible only to user, non confidential should be accessible also to parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(1)\n expect(patientSecretIdsForChild).to.have.length(2)\n expect(patientSecretIdsForChild).to.contain(patientSecretIdsForParent[0])\n expect(patientSecretIdsForChild[0]).to.not.eq(patientSecretIdsForChild[1])\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Non confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n const retrievedHesAsParent = await parentApi.healthcareElementApi.findBy(parentUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsParent.length).to.equal(1, 'Parent should not see confidential data, but only non-confidential data created by child')\n expect(retrievedHesAsParent[0]).to.deep.eq(nonConfidentialHe)\n let failedToRetrieve = false\n try {\n await parentApi.healthcareElementApi.getHealthElementWithUser(parentUser, confidentialHe.id!)\n } catch (e) {\n console.log(e)\n failedToRetrieve = true\n }\n if (!isLiteTest()) {\n expect(failedToRetrieve).to.equal(true, 'Parent should fail to retrieve confidential data')\n }\n // Even if in some way I could get the contact I should not be able to decrypt it\n expect(\n await parentApi.cryptoApi.xapi.encryptionKeysOf({ entity: confidentialHe!, type: EntityWithDelegationTypeName.HealthElement }, undefined)\n ).to.have.length(0)\n })\n\n it('creation of confidential data should fail if no confidential secret id is available for patient', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no confidential secret id is available for patient')\n })\n\n it('creation of non-confidential data should fail if no secret id is available for parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: UseAnySharedWithParent })\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no non-confidential secret id is available for patient')\n })\n\n it('confidential or non-confidential is irrelevant if api is initialised without parent key initialisation: data created by user is only accessible to him', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false, true)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Non confidential info' }, { sfkOption: UseAnySharedWithParent })\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, pat)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n await parentApi.patientApi.decryptSecretIdsOf(pat)\n })\n\n it('sfk confidential option should use one or all secret ids as requested', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n let modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n modifiedPatient = await childApi.patientApi.shareWith(childUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n modifiedPatient = await childApi.patientApi.shareWith(parentUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(2)\n expect(patientSecretIdsForChild).to.have.length(4)\n const confidentialSecretIds = patientSecretIdsForChild.filter((x) => !patientSecretIdsForParent.includes(x))\n const nonConfidentialSecretIds = patientSecretIdsForParent\n expect(confidentialSecretIds).to.have.length(2)\n expect(await childApi.patientApi.decryptConfidentialSecretIdsOf(modifiedPatient)).to.have.members(confidentialSecretIds)\n expect(await childApi.patientApi.decryptNonConfidentialSecretIdsOf(modifiedPatient)).to.have.members(nonConfidentialSecretIds)\n const anyConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n expect(anyConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(confidentialSecretIds).to.include(anyConfidentialHe.secretForeignKeys![0])\n const allConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllConfidential, ignoreAutoDelegations: true }\n )\n expect(allConfidentialHe.secretForeignKeys).to.have.members(confidentialSecretIds)\n const anyNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n expect(anyNonConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(nonConfidentialSecretIds).to.include(anyNonConfidentialHe.secretForeignKeys![0])\n const allNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllSharedWithParent }\n )\n expect(allNonConfidentialHe.secretForeignKeys).to.have.members(confidentialSecretIds)\n })\n\n it('Should allow creation of half-links by using no sfk', async () => {\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const halfLinkedHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseNone, ignoreAutoDelegations: true }\n )\n expect(halfLinkedHe.secretForeignKeys).to.have.length(0)\n const decryptedPatientId = await childApi.healthcareElementApi.decryptPatientIdOf(halfLinkedHe)\n expect(decryptedPatientId).to.have.length(1)\n expect(decryptedPatientId[0]).to.equal(pat.id)\n })\n})\n"]}
1
+ {"version":3,"file":"confidential-entities-test.js","sourceRoot":"","sources":["../../../test/icc-x-api/confidential-entities-test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHcpHierarchyApis, getEnvironmentInitializer, isLiteTest, setLocalStorage } from '../utils/test_utils'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { expect } from 'chai'\nimport 'isomorphic-fetch'\nimport { SecureDelegation } from '../../icc-api/model/SecureDelegation'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api'\nimport { SecretIdUseOption } from '../../icc-x-api/crypto/SecretIdUseOption'\nimport UseAnyConfidential = SecretIdUseOption.UseAnyConfidential\nimport UseAnySharedWithParent = SecretIdUseOption.UseAnySharedWithParent\nimport { randomUUID } from 'crypto'\nimport UseAllConfidential = SecretIdUseOption.UseAllConfidential\nimport UseAllSharedWithParent = SecretIdUseOption.UseAllSharedWithParent\nimport UseNone = SecretIdUseOption.UseNone\n\nsetLocalStorage(fetch)\n\nvar env: TestVars\n\ndescribe('test confidential helement', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('confidential entity should be accessible only to user, non confidential should be accessible also to parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(1)\n expect(patientSecretIdsForChild).to.have.length(2)\n expect(patientSecretIdsForChild).to.contain(patientSecretIdsForParent[0])\n expect(patientSecretIdsForChild[0]).to.not.eq(patientSecretIdsForChild[1])\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Non confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n const retrievedHesAsParent = await parentApi.healthcareElementApi.findBy(parentUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsParent.length).to.equal(1, 'Parent should not see confidential data, but only non-confidential data created by child')\n expect(retrievedHesAsParent[0]).to.deep.eq(nonConfidentialHe)\n let failedToRetrieve = false\n try {\n await parentApi.healthcareElementApi.getHealthElementWithUser(parentUser, confidentialHe.id!)\n } catch (e) {\n console.log(e)\n failedToRetrieve = true\n }\n if (!isLiteTest()) {\n expect(failedToRetrieve).to.equal(true, 'Parent should fail to retrieve confidential data')\n }\n // Even if in some way I could get the contact I should not be able to decrypt it\n expect(\n await parentApi.cryptoApi.xapi.encryptionKeysOf({ entity: confidentialHe!, type: EntityWithDelegationTypeName.HealthElement }, undefined)\n ).to.have.length(0)\n })\n\n it('creation of confidential data should fail if no confidential secret id is available for patient', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no confidential secret id is available for patient')\n })\n\n it('creation of non-confidential data should fail if no secret id is available for parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: UseAnySharedWithParent })\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no non-confidential secret id is available for patient')\n })\n\n it('confidential or non-confidential is irrelevant if api is initialised without parent key initialisation: data created by user is only accessible to him', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false, true)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Non confidential info' }, { sfkOption: UseAnySharedWithParent })\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, pat)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n await parentApi.patientApi.decryptSecretIdsOf(pat)\n })\n\n it('sfk confidential option should use one or all secret ids as requested', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n let modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n modifiedPatient = await childApi.patientApi.shareWith(childUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n modifiedPatient = await childApi.patientApi.shareWith(parentUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(2)\n expect(patientSecretIdsForChild).to.have.length(4)\n const confidentialSecretIds = patientSecretIdsForChild.filter((x) => !patientSecretIdsForParent.includes(x))\n const nonConfidentialSecretIds = patientSecretIdsForParent\n expect(confidentialSecretIds).to.have.length(2)\n expect(await childApi.patientApi.decryptConfidentialSecretIdsOf(modifiedPatient)).to.have.members(confidentialSecretIds)\n expect(await childApi.patientApi.decryptNonConfidentialSecretIdsOf(modifiedPatient)).to.have.members(nonConfidentialSecretIds)\n const anyConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n expect(anyConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(confidentialSecretIds).to.include(anyConfidentialHe.secretForeignKeys![0])\n const allConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllConfidential, ignoreAutoDelegations: true }\n )\n expect(allConfidentialHe.secretForeignKeys).to.have.members(confidentialSecretIds)\n const anyNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n expect(anyNonConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(nonConfidentialSecretIds).to.include(anyNonConfidentialHe.secretForeignKeys![0])\n const allNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllSharedWithParent }\n )\n expect(allNonConfidentialHe.secretForeignKeys).to.have.members(nonConfidentialSecretIds)\n })\n\n it('Should allow creation of half-links by using no sfk', async () => {\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const halfLinkedHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseNone, ignoreAutoDelegations: true }\n )\n expect(halfLinkedHe.secretForeignKeys).to.have.length(0)\n const decryptedPatientId = await childApi.healthcareElementApi.decryptPatientIdOf(halfLinkedHe)\n expect(decryptedPatientId).to.have.length(1)\n expect(decryptedPatientId[0]).to.equal(pat.id)\n })\n\n it('Should allow creation of links using the provided sfks', async () => {\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n const secretIds = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(secretIds).to.have.length(2)\n const halfLinkedHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([]), ignoreAutoDelegations: true }\n )\n expect(halfLinkedHe.secretForeignKeys).to.have.length(0)\n const linkedHeSfk0 = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([secretIds[0]]), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfk0.secretForeignKeys).to.have.members([secretIds[0]])\n const linkedHeSfk1 = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([secretIds[1]]), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfk1.secretForeignKeys).to.have.members([secretIds[1]])\n const linkedHeSfkBoth = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use(secretIds), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfkBoth.secretForeignKeys).to.have.members(secretIds)\n })\n})\n"]}