/** * iHRIS FHIR requests parameters options. * This combines {@link https://fhir.openmrs.org/artifacts.html | FHIR search parameters}, {@link https://www.hl7.org/fhir/R4/search.html resource-specific parameters}, and pagination options. * @typedef {Object} FhirParameters * @public * @property {string} count - Number of results to return (_count in FHIR) * @property {string} sort - Sorting criteria for the results (_sort in FHIR) * @property {string} include - Resources to include in the response (_include in FHIR) * @property {string} revinclude - Reverse includes to include in the response (_revinclude in FHIR) * @property {string} summary - Summary mode for the response (_summary in FHIR) * @property {string} total - Whether to include a total count of matching resources (_total in FHIR) * @property {string} elements - List of elements to include in the response (_elements in FHIR) * @property {string} contained - Whether to include contained resources (_contained in FHIR) * @property {string} containedType - Type of contained resources (_containedType in FHIR) * @property {string} id - Logical ID of the resource to filter on (_id in FHIR) * @property {string} lastUpdated - Timestamp to filter resources last updated after this date (_lastUpdated in FHIR) * @property {string} tag - Tag to filter resources by (_tag in FHIR) * @property {string} profile - Profile URL to filter resources by (_profile in FHIR) * @property {string} security - Security labels to filter resources by (_security in FHIR) * @property {string} text - Text search on narrative content (_text in FHIR) * @property {string} content - Full-text search on resource content (_content in FHIR) * @property {string} list - Search resources included in a particular list (_list in FHIR) * @property {string} has - Perform search based on reference chains (_has in FHIR) * @property {string} getPagesOffset - Offset for pagination, used to skip a number of results (_getpagesoffset in iHRIS) * @property {string} getPages - Get specific pages of resources (_getpages in iHRIS) * @property {string} bundleType - Type of bundle to return (e.g., searchset, batch, history) (_bundleType in FHIR) */ /** * State object * @typedef {Object} FhirState * @property data - the parsed response body * @property response - the response from the FHIR server, including headers, statusCode, body, etc * @property references - an array of all previous data objects used in the Job * @private **/ /** * Make a get request to any FHIR endpoint in iHRIS * @example Get encounters based on lastUpdated field * fhir.get('Encounter', { count: 100, lastUpdated: 'ge2024-01-01T00:00:00Z' }) * @example Get all active practitioner roles for a location * fhir.get('PractitionerRole', { * count: 500, * active: true, * location: 1234, * include: 'PractitionerRole:practitioner', * }) * @function * @public * @param {string} path - Path to resource * @param {FhirParameters} query - Request parameters * @state {FhirState} * @returns {Operation} */ export function get(path: string, query: FhirParameters): Operation; /** * iHRIS FHIR requests parameters options. * This combines {@link https://fhir.openmrs.org/artifacts.html | FHIR search parameters}, {@link https://www.hl7.org/fhir/R4/search.html resource-specific parameters}, and pagination options. */ export type FhirParameters = any; /** * State object */ export type FhirState = { /** * - the parsed response body */ data: any; /** * - the response from the FHIR server, including headers, statusCode, body, etc */ response: any; /** * - an array of all previous data objects used in the Job */ references: any; };