{"version":3,"file":"lab.cjs","sources":["../../../../src/resources/classes/lab.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n  LabOrderableItemListParams,\n  LabOrderableItemListResponse,\n  LabOrderableItemQuestionnaireGetParams,\n  LabOrderableItemQuestionnaireGetResponse,\n  LabOrderSubmitParams,\n  LabRouteCreateParams,\n  LabRouteDeleteParams,\n  LabRouteListResponse,\n  OystehrClientRequest,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class Lab extends SDKResource {\n  constructor(config: OystehrConfig) {\n    super(config);\n  }\n  #baseUrlThunk(): string {\n    return this.config.services?.['labApiUrl'] ?? 'https://labs-api.zapehr.com/v1';\n  }\n  /**\n   * Gets a list of Routes associated with the project. Returns an empty list if no Routes are found.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:GetRoutes`\n   * Access Policy Resource: `Lab:Route`\n   */\n  routeList(request?: OystehrClientRequest): Promise<LabRouteListResponse> {\n    return this.request('/route', 'get', this.#baseUrlThunk.bind(this))(request);\n  }\n  /**\n   * Create a route. A Route represents that a lab and particular customer have a relationship, and a Route is necessary to submit an order to a lab. See [Route](https://docs.oystehr.com/oystehr/services/lab/onboarding-a-lab/#create-route) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:CreateRoute`\n   * Access Policy Resource: `Lab:Route`\n   */\n  routeCreate(params: LabRouteCreateParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/route', 'post', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Delete a route. Deleting a Route will permanently remove the `routeGuid`. Orders can no longer be submitted to this lab until a new Route is created. See [Route](https://docs.oystehr.com/oystehr/services/lab/onboarding-a-lab/#delete-route) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:DeleteRoute`\n   * Access Policy Resource: `Lab:Route`\n   */\n  routeDelete(params: LabRouteDeleteParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/route/{routeGuid}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Returns list of active orderable items for the latest compendium version. Page size is default 25 and max 100 items. See [orderable item Search](https://docs.oystehr.com/oystehr/services/lab/explore-the-compendium/#orderable-item-search) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:SearchOrderableItems`\n   * Access Policy Resource: `Lab:OrderableItem`\n   */\n  orderableItemList(\n    params: LabOrderableItemListParams,\n    request?: OystehrClientRequest\n  ): Promise<LabOrderableItemListResponse>;\n  /**\n   * Returns list of active orderable items for the latest compendium version. Page size is default 25 and max 100 items. See [orderable item Search](https://docs.oystehr.com/oystehr/services/lab/explore-the-compendium/#orderable-item-search) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:SearchOrderableItems`\n   * Access Policy Resource: `Lab:OrderableItem`\n   */\n  orderableItemList(request?: OystehrClientRequest): Promise<LabOrderableItemListResponse>;\n  /**\n   * Returns list of active orderable items for the latest compendium version. Page size is default 25 and max 100 items. See [orderable item Search](https://docs.oystehr.com/oystehr/services/lab/explore-the-compendium/#orderable-item-search) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:SearchOrderableItems`\n   * Access Policy Resource: `Lab:OrderableItem`\n   */\n  orderableItemList(\n    params?: LabOrderableItemListParams | OystehrClientRequest,\n    request?: OystehrClientRequest\n  ): Promise<LabOrderableItemListResponse> {\n    return this.request('/orderableItem', 'get', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Retrieve the AOE (Answer on Entry) Questionnaire for the given orderable item. The orderable item is defined by its labGuid, compendiumVersion, and itemCode. See [AOE](https://docs.oystehr.com/oystehr/services/lab/explore-the-compendium/#AOE) for more details.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:SearchOrderableItems`\n   * Access Policy Resource: `Lab:OrderableItem`\n   */\n  orderableItemQuestionnaireGet(\n    params: LabOrderableItemQuestionnaireGetParams,\n    request?: OystehrClientRequest\n  ): Promise<LabOrderableItemQuestionnaireGetResponse> {\n    return this.request(\n      '/canonical-questionnaire/lab/{labGuid}/compendium/{compendiumVersion}/item/{itemCode}/questionnaire',\n      'get',\n      this.#baseUrlThunk.bind(this)\n    )(params, request);\n  }\n  /**\n   * Submit a lab order. Oystehr's [Submit Lab](https://docs.oystehr.com/oystehr/services/lab/submit-an-order/) feature allows users to submit a well configured ServiceRequest to an external lab. In order to successfully submit an order, a [Route](https://docs.oystehr.com/oystehr/services/lab/onboarding-a-lab/#create-route) to and Organization representing that lab must exist.\n   *\n   * Access Policy Requirements:\n   * Action: `Lab:SubmitOrder`\n   * Access Policy Resource: `Lab:Order`\n   */\n  orderSubmit(params: LabOrderSubmitParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/submit', 'post', this.#baseUrlThunk.bind(this))(params, request);\n  }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAgBM,MAAO,GAAI,SAAQA,kBAAW,CAAA;AAClC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;KACf;IACD,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,gCAAgC,CAAC;KAChF;AACD;;;;;;AAMG;AACH,IAAA,SAAS,CAAC,OAA8B,EAAA;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC9E;AACD;;;;;;AAMG;IACH,WAAW,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvF;AACD;;;;;;AAMG;IACH,WAAW,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrG;AAoBD;;;;;;AAMG;IACH,iBAAiB,CACf,MAA0D,EAC1D,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9F;AACD;;;;;;AAMG;IACH,6BAA6B,CAC3B,MAA8C,EAC9C,OAA8B,EAAA;QAE9B,OAAO,IAAI,CAAC,OAAO,CACjB,qGAAqG,EACrG,KAAK,EACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpB;AACD;;;;;;AAMG;IACH,WAAW,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxF;AACF;;;;"}