import { BaseFilterOptions, BaseSortableFilterOptions, FilterOptions, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { Patient } from '../model/Patient.mjs'; import { Identifier } from '../model/base/Identifier.mjs'; import { LinkQualification } from '../model/base/LinkQualification.mjs'; import { Service } from '../model/embed/Service.mjs'; interface ServiceFiltersFactory { /** * * Create options for service filtering that will match all services shared directly (i.e. ignoring hierarchies) with a specific data owner. * @param dataOwnerId a data owner id * @return options for service filtering */ allServicesForDataOwner(dataOwnerId: string): BaseFilterOptions; /** * * In group version of [allServicesForDataOwner]. */ allServicesForDataOwnerInGroup(dataOwner: EntityReferenceInGroup): BaseFilterOptions; /** * * Create options for service filtering that will match all services shared directly (i.e. ignoring hierarchies) with the current data owner. * @return options for service filtering */ allServicesForSelf(): FilterOptions; /** * * Options for service filtering which match all the services shared directly (i.e. ignoring hierarchies) with a specific data owner that have at least * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided * [identifiers]. Other properties of the provided identifiers are ignored. * * @param identifiers a list of identifiers * @param dataOwnerId a data owner id * @return options for service filtering */ byIdentifiersForDataOwner(dataOwnerId: string, identifiers: Array): BaseFilterOptions; /** * * In group version of [byIdentifiersForDataOwner]. */ byIdentifiersForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, identifiers: Array): BaseFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that have a certain code. * If you specify only the [codeType] you will get all entities that have at least a code of that type. * * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate] * if the first is missing), but in that case you must specify the [codeCode]. * * @param codeType a code type * @param codeCode a code for the provided code type, or null if you want the filter to accept any entity * with a code of the provided type. * @param startOfServiceValueDate if provided the options will match only services with a value date * that is after this value (inclusive). * @param endOfServiceValueDate if provided the options will match only services with a value date * that is before this value (inclusive). * @param dataOwnerId a data owner id * @throws IllegalArgumentException if you provide a range for the value date but no [codeCode]. */ byCodeAndValueDateForDataOwner(dataOwnerId: string, codeType: string, options?: { codeCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; /** * * In group version of [byCodeAndValueDateForDataOwner]. */ byCodeAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, codeType: string, options?: { codeCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that have a certain tag. * If you specify only the [tagType] you will get all entities that have at least a tag of that type. * * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate] * if the first is missing), but in that case you must specify the [tagCode]. * * @param tagType a tag type * @param tagCode a code for the provided tag type, or null if you want the filter to accept any entity * with a tag of the provided type. * @param startOfServiceValueDate if provided the options will match only services with a value date * that is after this value (inclusive). * @param endOfServiceValueDate if provided the options will match only services with a value date * that is before this value (inclusive). * @param dataOwnerId a data owner id * @throws IllegalArgumentException if you provide a range for the value date but no [tagCode]. */ byTagAndValueDateForDataOwner(dataOwnerId: string, tagType: string, options?: { tagCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; /** * * In group version of [byTagAndValueDateForDataOwner]. */ byTagAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, tagType: string, options?: { tagCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that are linked with one * of the provided patients. * * When using these options the sdk will automatically extract the secret ids from the provided patients and use * those for filtering. * If you already have the secret ids of the patient you may instead use [byPatientsSecretIdsForDataOwner]. * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * Note that these may not be used in methods of apis from [CardinalBaseApis]. * * @param patients a list of patients. * @param dataOwnerId a data owner id */ byPatientsForDataOwner(dataOwnerId: string, patients: Array): FilterOptions; /** * * In group version of [byPatientsForDataOwner]. */ byPatientsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array): FilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner that are linked with a * patient through one of the provided secret ids. * * @param secretIds a list of patients secret ids * @param dataOwnerId a data owner id */ byPatientsSecretIdsForDataOwner(dataOwnerId: string, secretIds: Array): BaseFilterOptions; /** * * In group version of [byPatientsSecretIdsForDataOwner]. */ byPatientsSecretIdsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array): BaseFilterOptions; /** * * Options for service filtering which match all services from shared directly (i.e. ignoring hierarchies) with a specific data owner that exist in at * least a [SubContact] (from [Contact.subContacts]) where [SubContact.healthElementId] matches one of the provided * id. * * @param healthElementIds a list of health element ids * @param dataOwnerId a data owner id */ byHealthElementIdFromSubContactForDataOwner(dataOwnerId: string, healthElementIds: Array): BaseFilterOptions; /** * * In group version of [byHealthElementIdFromSubContactForDataOwner]. */ byHealthElementIdFromSubContactForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, healthElementIds: Array): BaseFilterOptions; /** * * Options for service filtering which match all the services shared directly (i.e. ignoring hierarchies) with the current data owner that have at least * an identifier that has the same exact [Identifier.system] and [Identifier.value] as one of the provided * [identifiers]. Other properties of the provided identifiers are ignored. * * @param identifiers a list of identifiers * @return options for service filtering */ byIdentifiersForSelf(identifiers: Array): FilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that have a certain code. * If you specify only the [codeType] you will get all entities that have at least a code of that type. * * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate] * if the first is missing), but in that case you must specify the [codeCode]. * * @param codeType a code type * @param codeCode a code for the provided code type, or null if you want the filter to accept any entity * with a code of the provided type. * @param startOfServiceValueDate if provided the options will match only services with a value date * that is after this value (inclusive). * @param endOfServiceValueDate if provided the options will match only services with a value date * that is before this value (inclusive). * @throws IllegalArgumentException if you provide a range for the value date but no [codeCode]. */ byCodeAndValueDateForSelf(codeType: string, options?: { codeCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that have a certain tag. * If you specify only the [tagType] you will get all entities that have at least a tag of that type. * * You can also limit the result to only services that are within a certain [Service.valueDate] timeframe (or [Service.openingDate] * if the first is missing), but in that case you must specify the [tagCode]. * * @param tagType a tag type * @param tagCode a code for the provided tag type, or null if you want the filter to accept any entity * with a tag of the provided type. * @param startOfServiceValueDate if provided the options will match only services with a value date * that is after this value (inclusive). * @param endOfServiceValueDate if provided the options will match only services with a value date * that is before this value (inclusive). * @throws IllegalArgumentException if you provide a range for the value date but no [tagCode]. */ byTagAndValueDateForSelf(tagType: string, options?: { tagCode?: string | undefined; startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that are linked with one * of the provided patients. * * When using these options the sdk will automatically extract the secret ids from the provided patients and use * those for filtering. * If you already have the secret ids of the patient you may instead use [byPatientsSecretIdsForSelf]. * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * Note that these may not be used in methods of apis from [CardinalBaseApis]. * * @param patients a list of patients. */ byPatientsForSelf(patients: Array): FilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner that are linked with a * patient through one of the provided secret ids. * * @param secretIds a list of patients secret ids */ byPatientsSecretIdsForSelf(secretIds: Array): FilterOptions; /** * * Options for service filtering which match all services from shared directly (i.e. ignoring hierarchies) with the current data owner that exist in at * least a [SubContact] (from [Contact.subContacts]) where [SubContact.healthElementId] matches one of the provided * id. * * @param healthElementIds a list of health element ids */ byHealthElementIdFromSubContactForSelf(healthElementIds: Array): FilterOptions; /** * * Filter options that match all services with one of the provided ids. * These options are sortable. When sorting using these options the services will have the same order as the input ids. * * @param ids a list of unique service ids. * @throws IllegalArgumentException if the provided [ids] list contains duplicate elements */ byIds(ids: Array): BaseSortableFilterOptions; /** * * Filter options that match all the services where in at least one of the maps in [Service.qualifiedLinks] values there is a key equal * to [associationId]. * * @param associationId the association id to search for. */ byAssociationId(associationId: string): BaseFilterOptions; /** * * Filter options that match all the services where in the values of the maps that are in the values of [Service.qualifiedLinks] there * is a value contained in [linkValues]. * If a [linkQualification] is provided, the search will be restricted to the map corresponding to the [linkQualification] key in * [Service.qualifiedLinks]. * * @param linkValues the values to search in the values of the maps that are values of [Service.qualifiedLinks]. * @param linkQualification a key of [Service.qualifiedLinks]. */ byQualifiedLink(linkValues: Array, options?: { linkQualification?: LinkQualification | undefined; }): BaseFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner * that are linked with one of the provided patients. * This Options also allows to restrict the services based on [Service.valueDate]: * - if the [from] fuzzy date is not null, only the services where [Service.valueDate] is greater than or equal to [from] will be returned. * - if the [to] fuzzy date is not null, only the services where [Service.valueDate] is less than or equal to [to] will be returned. * If the [Service.valueDate] is null for a specific service, [Service.openingDate] will be used instead. * * When using these options the sdk will automatically extract the secret ids from the provided patients and use * those for filtering. * If you already have the secret ids of the patient you may instead use [byPatientSecretIdsDateForDataOwner]. * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * Note that these may not be used in methods of apis from [CardinalBaseApis]. * * These options are sortable. When sorting using these options the services will be sorted by [Service.valueDate] in ascending or * descending order according to the value of the [descending] parameter. * * @param dataOwnerId a data owner id * @param patients a list of patients. * @param from the minimum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param to the maximum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param descending whether to sort the result in descending or ascending order by [Service.valueDate] (default: ascending). */ byPatientsDateForDataOwner(dataOwnerId: string, patients: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): SortableFilterOptions; /** * * In group version of [byPatientsDateForDataOwner]. */ byPatientsDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): SortableFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner * that are linked with one of the provided patients. * This Options also allows to restrict the services based on [Service.valueDate]: * - if the [from] fuzzy date is not null, only the services where [Service.valueDate] is greater than or equal to [from] will be returned. * - if the [to] fuzzy date is not null, only the services where [Service.valueDate] is less than or equal to [to] will be returned. * If the [Service.valueDate] is null for a specific service, [Service.openingDate] will be used instead. * * When using these options the sdk will automatically extract the secret ids from the provided patients and use * those for filtering. * If you already have the secret ids of the patient you may instead use [byPatientSecretIdsDateForSelf]. * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * Note that these may not be used in methods of apis from [CardinalBaseApis]. * * These options are sortable. When sorting using these options the services will be sorted by [Service.valueDate] in ascending or * descending order according to the value of the [descending] parameter. * * @param patients a list of patients. * @param from the minimum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param to the maximum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param descending whether to sort the result in descending or ascending order by [Service.valueDate] (default: ascending). */ byPatientsDateForSelf(patients: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): SortableFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with a specific data owner * that are linked with one of the provided patients through one of the provided secret ids. * This Options also allows to restrict the services based on [Service.valueDate]: * - if the [from] fuzzy date is not null, only the services where [Service.valueDate] is greater than or equal to [from] will be returned. * - if the [to] fuzzy date is not null, only the services where [Service.valueDate] is less than or equal to [to] will be returned. * If the [Service.valueDate] is null for a specific service, [Service.openingDate] will be used instead. * * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * * These options are sortable. When sorting using these options the services will be sorted by [Service.valueDate] in ascending or * descending order according to the value of the [descending] parameter. * * @param dataOwnerId the id of a data owner. * @param secretIds a list of patient secret ids. * @param from the minimum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param to the maximum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param descending whether to sort the result in descending or ascending order by [Service.valueDate] (default: ascending). */ byPatientSecretIdsDateForDataOwner(dataOwnerId: string, secretIds: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): BaseSortableFilterOptions; byPatientSecretIdsDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): BaseSortableFilterOptions; /** * * Options for service filtering which match all services shared directly (i.e. ignoring hierarchies) with the current data owner * that are linked with one of the provided patients through one of the provided secret ids. * This Options also allows to restrict the services based on [Service.valueDate]: * - if the [from] fuzzy date is not null, only the services where [Service.valueDate] is greater than or equal to [from] will be returned. * - if the [to] fuzzy date is not null, only the services where [Service.valueDate] is less than or equal to [to] will be returned. * If the [Service.valueDate] is null for a specific service, [Service.openingDate] will be used instead. * * If the current data owner does not have access to any secret id of one of the provide patients the patient will * simply be ignored. * Note that these may not be used in methods of apis from [CardinalBaseApis]. * * These options are sortable. When sorting using these options the services will be sorted by [Service.valueDate] in ascending or * descending order according to the value of the [descending] parameter. * * @param secretIds a list of patient secret ids. * @param from the minimum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param to the maximum fuzzy date for [Service.valueDate], in the YYYYMMDDHHMMSS format (default: no limit). * @param descending whether to sort the result in descending or ascending order by [Service.valueDate] (default: ascending). */ byPatientSecretIdsDateForSelf(secretIds: Array, options?: { from?: number | undefined; to?: number | undefined; descending?: boolean; }): SortableFilterOptions; byCodesAndValueDateForDataOwner(dataOwnerId: string, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byCodesAndValueDateForSelf(codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byCodePrefixAndValueDateForDataOwner(dataOwnerId: string, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byCodePrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byCodePrefixAndValueDateForSelf(codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byTagCodesAndValueDateForDataOwner(dataOwnerId: string, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byTagCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byTagCodesAndValueDateForSelf(tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byTagPrefixAndValueDateForDataOwner(dataOwnerId: string, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byTagPrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byTagPrefixAndValueDateForSelf(tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodesAndValueDateForDataOwner(dataOwnerId: string, patients: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodesAndValueDateForSelf(patients: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientSecretIdsCodesAndValueDateForDataOwner(dataOwnerId: string, secretIds: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsCodesAndValueDateForSelf(secretIds: Array, codeCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodePrefixAndValueDateForDataOwner(dataOwnerId: string, patients: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodePrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsCodePrefixAndValueDateForSelf(patients: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientSecretIdsCodePrefixAndValueDateForDataOwner(dataOwnerId: string, secretIds: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsCodePrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsCodePrefixAndValueDateForSelf(secretIds: Array, codeType: string, codeCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagCodesAndValueDateForDataOwner(dataOwnerId: string, patients: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagCodesAndValueDateForSelf(patients: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientSecretIdsTagCodesAndValueDateForDataOwner(dataOwnerId: string, secretIds: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsTagCodesAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsTagCodesAndValueDateForSelf(secretIds: Array, tagCodes: { [key: string]: Array; }, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagPrefixAndValueDateForDataOwner(dataOwnerId: string, patients: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagPrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, patients: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientsTagPrefixAndValueDateForSelf(patients: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; byPatientSecretIdsTagPrefixAndValueDateForDataOwner(dataOwnerId: string, secretIds: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsTagPrefixAndValueDateForDataOwnerInGroup(dataOwner: EntityReferenceInGroup, secretIds: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): BaseFilterOptions; byPatientSecretIdsTagPrefixAndValueDateForSelf(secretIds: Array, tagType: string, tagCodePrefix: string, options?: { startOfServiceValueDate?: number | undefined; endOfServiceValueDate?: number | undefined; }): FilterOptions; } export declare const ServiceFilters: ServiceFiltersFactory; export {};