@metriport/shared 0.33.0 → 0.33.1

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.
Files changed (507) hide show
  1. package/dist/__tests__/env-setup.js +17 -7
  2. package/dist/__tests__/env-setup.js.map +1 -1
  3. package/dist/common/__tests__/demographics.test.js +59 -3
  4. package/dist/common/__tests__/demographics.test.js.map +1 -1
  5. package/dist/common/__tests__/npi.js +1 -2
  6. package/dist/common/__tests__/npi.js.map +1 -1
  7. package/dist/common/__tests__/oid.js +1 -2
  8. package/dist/common/__tests__/oid.js.map +1 -1
  9. package/dist/common/__tests__/retry.test.js.map +1 -1
  10. package/dist/common/__tests__/string.test.js +24 -0
  11. package/dist/common/__tests__/string.test.js.map +1 -1
  12. package/dist/common/__tests__/validate-npi.test.js.map +1 -1
  13. package/dist/common/array.js +1 -2
  14. package/dist/common/array.js.map +1 -1
  15. package/dist/common/boolean.js +2 -3
  16. package/dist/common/boolean.js.map +1 -1
  17. package/dist/common/date.js +18 -18
  18. package/dist/common/date.js.map +1 -1
  19. package/dist/common/demographics.d.ts +3 -3
  20. package/dist/common/demographics.d.ts.map +1 -1
  21. package/dist/common/demographics.js +26 -19
  22. package/dist/common/demographics.js.map +1 -1
  23. package/dist/common/duration.js +1 -2
  24. package/dist/common/duration.js.map +1 -1
  25. package/dist/common/email.js +1 -2
  26. package/dist/common/email.js.map +1 -1
  27. package/dist/common/env-var.js +7 -7
  28. package/dist/common/env-var.js.map +1 -1
  29. package/dist/common/filter-map.js +1 -2
  30. package/dist/common/filter-map.js.map +1 -1
  31. package/dist/common/general.d.ts +4 -0
  32. package/dist/common/general.d.ts.map +1 -1
  33. package/dist/common/general.js +8 -2
  34. package/dist/common/general.js.map +1 -1
  35. package/dist/common/html.js +1 -2
  36. package/dist/common/html.js.map +1 -1
  37. package/dist/common/merge-settings.js +1 -2
  38. package/dist/common/merge-settings.js.map +1 -1
  39. package/dist/common/net.js +1 -2
  40. package/dist/common/net.js.map +1 -1
  41. package/dist/common/normalize-oid.js +2 -3
  42. package/dist/common/normalize-oid.js.map +1 -1
  43. package/dist/common/numbers.js +6 -7
  44. package/dist/common/numbers.js.map +1 -1
  45. package/dist/common/purpose-of-use.d.ts +13 -0
  46. package/dist/common/purpose-of-use.d.ts.map +1 -1
  47. package/dist/common/purpose-of-use.js +18 -2
  48. package/dist/common/purpose-of-use.js.map +1 -1
  49. package/dist/common/response.js +2 -3
  50. package/dist/common/response.js.map +1 -1
  51. package/dist/common/retry.js +4 -4
  52. package/dist/common/retry.js.map +1 -1
  53. package/dist/common/sleep.js +2 -3
  54. package/dist/common/sleep.js.map +1 -1
  55. package/dist/common/string.d.ts +6 -0
  56. package/dist/common/string.d.ts.map +1 -1
  57. package/dist/common/string.js +14 -6
  58. package/dist/common/string.js.map +1 -1
  59. package/dist/common/timer.d.ts.map +1 -1
  60. package/dist/common/timer.js +1 -2
  61. package/dist/common/timer.js.map +1 -1
  62. package/dist/common/title-case.js +2 -3
  63. package/dist/common/title-case.js.map +1 -1
  64. package/dist/common/types.js +2 -3
  65. package/dist/common/types.js.map +1 -1
  66. package/dist/common/uuid.js +1 -2
  67. package/dist/common/uuid.js.map +1 -1
  68. package/dist/common/validate-npi.js +1 -2
  69. package/dist/common/validate-npi.js.map +1 -1
  70. package/dist/common/xml-parser.js +1 -2
  71. package/dist/common/xml-parser.js.map +1 -1
  72. package/dist/common/zod.js.map +1 -1
  73. package/dist/domain/__tests__/dob.test.js.map +1 -1
  74. package/dist/domain/__tests__/gender.test.js.map +1 -1
  75. package/dist/domain/address/__tests__/country.test.js.map +1 -1
  76. package/dist/domain/address/__tests__/state.test.js.map +1 -1
  77. package/dist/domain/address/__tests__/territory.test.js.map +1 -1
  78. package/dist/domain/address/__tests__/zip.test.js +5 -5
  79. package/dist/domain/address/__tests__/zip.test.js.map +1 -1
  80. package/dist/domain/address/city.js +1 -2
  81. package/dist/domain/address/city.js.map +1 -1
  82. package/dist/domain/address/country.js +3 -3
  83. package/dist/domain/address/country.js.map +1 -1
  84. package/dist/domain/address/index.js +2 -3
  85. package/dist/domain/address/index.js.map +1 -1
  86. package/dist/domain/address/state.js +6 -6
  87. package/dist/domain/address/state.js.map +1 -1
  88. package/dist/domain/address/territory.js +4 -4
  89. package/dist/domain/address/territory.js.map +1 -1
  90. package/dist/domain/address/zip.js +7 -7
  91. package/dist/domain/address/zip.js.map +1 -1
  92. package/dist/domain/baseDto.js +1 -2
  93. package/dist/domain/baseDto.js.map +1 -1
  94. package/dist/domain/cohort.d.ts +14 -11
  95. package/dist/domain/cohort.d.ts.map +1 -1
  96. package/dist/domain/cohort.js +14 -11
  97. package/dist/domain/cohort.js.map +1 -1
  98. package/dist/domain/consolidated/ai-brief-cache-mode.d.ts +11 -0
  99. package/dist/domain/consolidated/ai-brief-cache-mode.d.ts.map +1 -0
  100. package/dist/domain/consolidated/ai-brief-cache-mode.js +17 -0
  101. package/dist/domain/consolidated/ai-brief-cache-mode.js.map +1 -0
  102. package/dist/domain/consolidated/filename.d.ts +4 -0
  103. package/dist/domain/consolidated/filename.d.ts.map +1 -0
  104. package/dist/domain/consolidated/filename.js +7 -0
  105. package/dist/domain/consolidated/filename.js.map +1 -0
  106. package/dist/domain/consolidated/index.d.ts +4 -0
  107. package/dist/domain/consolidated/index.d.ts.map +1 -0
  108. package/dist/domain/consolidated/index.js +20 -0
  109. package/dist/domain/consolidated/index.js.map +1 -0
  110. package/dist/domain/consolidated/recreate/event-type.d.ts +7 -0
  111. package/dist/domain/consolidated/recreate/event-type.d.ts.map +1 -0
  112. package/dist/domain/consolidated/recreate/event-type.js +11 -0
  113. package/dist/domain/consolidated/recreate/event-type.js.map +1 -0
  114. package/dist/domain/consolidated/recreate/index.d.ts +3 -0
  115. package/dist/domain/consolidated/recreate/index.d.ts.map +1 -0
  116. package/dist/domain/consolidated/recreate/index.js +19 -0
  117. package/dist/domain/consolidated/recreate/index.js.map +1 -0
  118. package/dist/domain/consolidated/recreate/supported-event-types.d.ts +8 -0
  119. package/dist/domain/consolidated/recreate/supported-event-types.d.ts.map +1 -0
  120. package/dist/domain/consolidated/recreate/supported-event-types.js +26 -0
  121. package/dist/domain/consolidated/recreate/supported-event-types.js.map +1 -0
  122. package/dist/domain/contact/__tests__/phone.test.js.map +1 -1
  123. package/dist/domain/contact/email.js +9 -9
  124. package/dist/domain/contact/email.js.map +1 -1
  125. package/dist/domain/contact/phone.js +7 -7
  126. package/dist/domain/contact/phone.js.map +1 -1
  127. package/dist/domain/cql-engine/transform.d.ts +2 -2
  128. package/dist/domain/cql-engine/transform.js.map +1 -1
  129. package/dist/domain/cursor-utils.js +3 -4
  130. package/dist/domain/cursor-utils.js.map +1 -1
  131. package/dist/domain/customer.d.ts +30 -24
  132. package/dist/domain/customer.d.ts.map +1 -1
  133. package/dist/domain/customer.js +6 -1
  134. package/dist/domain/customer.js.map +1 -1
  135. package/dist/domain/db.d.ts +10 -5
  136. package/dist/domain/db.d.ts.map +1 -1
  137. package/dist/domain/db.js +20 -1
  138. package/dist/domain/db.js.map +1 -1
  139. package/dist/domain/dob.js +2 -3
  140. package/dist/domain/dob.js.map +1 -1
  141. package/dist/domain/externalId.js +1 -2
  142. package/dist/domain/externalId.js.map +1 -1
  143. package/dist/domain/gender.js +3 -3
  144. package/dist/domain/gender.js.map +1 -1
  145. package/dist/domain/job/job-status.d.ts.map +1 -1
  146. package/dist/domain/job/job-status.js +4 -4
  147. package/dist/domain/job/job-status.js.map +1 -1
  148. package/dist/domain/job/patient-job.d.ts.map +1 -1
  149. package/dist/domain/job/types.d.ts.map +1 -1
  150. package/dist/domain/job/types.js +2 -2
  151. package/dist/domain/job/types.js.map +1 -1
  152. package/dist/domain/metriport.d.ts.map +1 -1
  153. package/dist/domain/network-query/__tests__/source.test.js +13 -13
  154. package/dist/domain/network-query/__tests__/source.test.js.map +1 -1
  155. package/dist/domain/network-query/index.d.ts +1 -0
  156. package/dist/domain/network-query/index.d.ts.map +1 -1
  157. package/dist/domain/network-query/index.js +1 -0
  158. package/dist/domain/network-query/index.js.map +1 -1
  159. package/dist/domain/network-query/query.d.ts +308 -8
  160. package/dist/domain/network-query/query.d.ts.map +1 -1
  161. package/dist/domain/network-query/query.js +6 -2
  162. package/dist/domain/network-query/query.js.map +1 -1
  163. package/dist/domain/network-query/source.d.ts +439 -30
  164. package/dist/domain/network-query/source.d.ts.map +1 -1
  165. package/dist/domain/network-query/source.js +132 -18
  166. package/dist/domain/network-query/source.js.map +1 -1
  167. package/dist/domain/network-query/supported-event-types.d.ts +18 -0
  168. package/dist/domain/network-query/supported-event-types.d.ts.map +1 -0
  169. package/dist/domain/network-query/supported-event-types.js +60 -0
  170. package/dist/domain/network-query/supported-event-types.js.map +1 -0
  171. package/dist/domain/notification-webhooks/index.d.ts +2 -0
  172. package/dist/domain/notification-webhooks/index.d.ts.map +1 -0
  173. package/dist/domain/notification-webhooks/index.js +18 -0
  174. package/dist/domain/notification-webhooks/index.js.map +1 -0
  175. package/dist/domain/notification-webhooks/types.d.ts +29 -0
  176. package/dist/domain/notification-webhooks/types.d.ts.map +1 -0
  177. package/dist/domain/notification-webhooks/types.js +17 -0
  178. package/dist/domain/notification-webhooks/types.js.map +1 -0
  179. package/dist/domain/organization.d.ts +20 -20
  180. package/dist/domain/organization.js +2 -2
  181. package/dist/domain/organization.js.map +1 -1
  182. package/dist/domain/pagination-v2.d.ts +24 -24
  183. package/dist/domain/pagination-v2.d.ts.map +1 -1
  184. package/dist/domain/pagination-v2.js +2 -2
  185. package/dist/domain/pagination-v2.js.map +1 -1
  186. package/dist/domain/pagination.d.ts +2 -2
  187. package/dist/domain/pagination.js +2 -2
  188. package/dist/domain/pagination.js.map +1 -1
  189. package/dist/domain/patient/__tests__/ssn.test.js.map +1 -1
  190. package/dist/domain/patient/patient-import/__tests__/status.test.js.map +1 -1
  191. package/dist/domain/patient/patient-import/__tests__/types.js +2 -3
  192. package/dist/domain/patient/patient-import/__tests__/types.js.map +1 -1
  193. package/dist/domain/patient/patient-import/create.js +2 -2
  194. package/dist/domain/patient/patient-import/create.js.map +1 -1
  195. package/dist/domain/patient/patient-import/metadata.js +2 -3
  196. package/dist/domain/patient/patient-import/metadata.js.map +1 -1
  197. package/dist/domain/patient/patient-import/schemas.d.ts +5 -5
  198. package/dist/domain/patient/patient-import/status.d.ts.map +1 -1
  199. package/dist/domain/patient/patient-import/status.js +3 -3
  200. package/dist/domain/patient/patient-import/status.js.map +1 -1
  201. package/dist/domain/patient/patient-import/types.d.ts.map +1 -1
  202. package/dist/domain/patient/patient-import/types.js +3 -3
  203. package/dist/domain/patient/patient-import/types.js.map +1 -1
  204. package/dist/domain/patient/patient-monitoring/discharge-requery.d.ts +137 -4
  205. package/dist/domain/patient/patient-monitoring/discharge-requery.d.ts.map +1 -1
  206. package/dist/domain/patient/patient-monitoring/discharge-requery.js +13 -3
  207. package/dist/domain/patient/patient-monitoring/discharge-requery.js.map +1 -1
  208. package/dist/domain/patient/patient-monitoring/utils.d.ts +19 -2
  209. package/dist/domain/patient/patient-monitoring/utils.d.ts.map +1 -1
  210. package/dist/domain/patient/patient-monitoring/utils.js +26 -10
  211. package/dist/domain/patient/patient-monitoring/utils.js.map +1 -1
  212. package/dist/domain/patient/patient-settings.d.ts +4 -4
  213. package/dist/domain/patient/patient-settings.js.map +1 -1
  214. package/dist/domain/patient/ssn.js +2 -3
  215. package/dist/domain/patient/ssn.js.map +1 -1
  216. package/dist/domain/patient-or-all.js +2 -2
  217. package/dist/domain/patient-or-all.js.map +1 -1
  218. package/dist/domain/patient.d.ts +24 -24
  219. package/dist/domain/rate-limiting/index.d.ts +1 -1
  220. package/dist/domain/rate-limiting/index.d.ts.map +1 -1
  221. package/dist/domain/rate-limiting/index.js +12 -3
  222. package/dist/domain/rate-limiting/index.js.map +1 -1
  223. package/dist/domain/roster/patient-roster-added-by.d.ts +6 -0
  224. package/dist/domain/roster/patient-roster-added-by.d.ts.map +1 -0
  225. package/dist/domain/roster/patient-roster-added-by.js +19 -0
  226. package/dist/domain/roster/patient-roster-added-by.js.map +1 -0
  227. package/dist/domain/roster/patient-roster.d.ts +5 -1
  228. package/dist/domain/roster/patient-roster.d.ts.map +1 -1
  229. package/dist/domain/roster/roster-status.d.ts.map +1 -1
  230. package/dist/domain/roster/roster-status.js +5 -5
  231. package/dist/domain/roster/roster-status.js.map +1 -1
  232. package/dist/domain/tcm-encounter.d.ts +74 -74
  233. package/dist/domain/tcm-encounter.d.ts.map +1 -1
  234. package/dist/domain/tcm-encounter.js.map +1 -1
  235. package/dist/error/bad-request.d.ts.map +1 -1
  236. package/dist/error/bad-request.js.map +1 -1
  237. package/dist/error/metriport-error.d.ts.map +1 -1
  238. package/dist/error/metriport-error.js +2 -2
  239. package/dist/error/metriport-error.js.map +1 -1
  240. package/dist/error/not-found.d.ts.map +1 -1
  241. package/dist/error/not-found.js.map +1 -1
  242. package/dist/error/shared.js +5 -6
  243. package/dist/error/shared.js.map +1 -1
  244. package/dist/error/too-many-requests.d.ts.map +1 -1
  245. package/dist/error/too-many-requests.js.map +1 -1
  246. package/dist/external/ehr/practicefusion/shared.js +1 -2
  247. package/dist/external/ehr/practicefusion/shared.js.map +1 -1
  248. package/dist/external/hl7v2/constants.d.ts +8 -1
  249. package/dist/external/hl7v2/constants.d.ts.map +1 -1
  250. package/dist/external/hl7v2/constants.js +22 -2
  251. package/dist/external/hl7v2/constants.js.map +1 -1
  252. package/dist/external/ihe/constants.d.ts.map +1 -1
  253. package/dist/external/ihe/constants.js +50 -50
  254. package/dist/external/ihe/constants.js.map +1 -1
  255. package/dist/external/ihe/shared.js +4 -5
  256. package/dist/external/ihe/shared.js.map +1 -1
  257. package/dist/external/zod/__tests__/iso-date.test.js +32 -32
  258. package/dist/external/zod/__tests__/iso-date.test.js.map +1 -1
  259. package/dist/external/zod/date.js +2 -2
  260. package/dist/external/zod/date.js.map +1 -1
  261. package/dist/external/zod/string.d.ts +4 -4
  262. package/dist/external/zod/string.d.ts.map +1 -1
  263. package/dist/external/zod/string.js +4 -4
  264. package/dist/external/zod/string.js.map +1 -1
  265. package/dist/external/zod/us-state.js +1 -2
  266. package/dist/external/zod/us-state.js.map +1 -1
  267. package/dist/index.d.ts +15 -12
  268. package/dist/index.d.ts.map +1 -1
  269. package/dist/index.js +35 -20
  270. package/dist/index.js.map +1 -1
  271. package/dist/interface/external/ehr/athenahealth/allergy.d.ts +12 -12
  272. package/dist/interface/external/ehr/athenahealth/allergy.js.map +1 -1
  273. package/dist/interface/external/ehr/athenahealth/appointment.d.ts +12 -12
  274. package/dist/interface/external/ehr/athenahealth/appointment.js.map +1 -1
  275. package/dist/interface/external/ehr/athenahealth/cx-mapping.d.ts +51 -51
  276. package/dist/interface/external/ehr/athenahealth/department.js.map +1 -1
  277. package/dist/interface/external/ehr/athenahealth/encounter.d.ts +4 -4
  278. package/dist/interface/external/ehr/athenahealth/family-history.d.ts +52 -52
  279. package/dist/interface/external/ehr/athenahealth/jwt-token.d.ts +4 -4
  280. package/dist/interface/external/ehr/athenahealth/jwt-token.js.map +1 -1
  281. package/dist/interface/external/ehr/athenahealth/patient.js.map +1 -1
  282. package/dist/interface/external/ehr/canvas/allergen.d.ts +2 -2
  283. package/dist/interface/external/ehr/canvas/appointment.d.ts +32 -32
  284. package/dist/interface/external/ehr/canvas/appointment.js.map +1 -1
  285. package/dist/interface/external/ehr/canvas/cx-mapping.d.ts +49 -52
  286. package/dist/interface/external/ehr/canvas/cx-mapping.d.ts.map +1 -1
  287. package/dist/interface/external/ehr/canvas/cx-mapping.js +0 -1
  288. package/dist/interface/external/ehr/canvas/cx-mapping.js.map +1 -1
  289. package/dist/interface/external/ehr/canvas/external-event.d.ts +4 -4
  290. package/dist/interface/external/ehr/canvas/external-event.d.ts.map +1 -1
  291. package/dist/interface/external/ehr/canvas/external-event.js.map +1 -1
  292. package/dist/interface/external/ehr/canvas/jwt-token.d.ts +8 -8
  293. package/dist/interface/external/ehr/canvas/jwt-token.js.map +1 -1
  294. package/dist/interface/external/ehr/canvas/note.js.map +1 -1
  295. package/dist/interface/external/ehr/eclinicalworks/cx-mapping.d.ts +49 -49
  296. package/dist/interface/external/ehr/eclinicalworks/jwt-token.d.ts +2 -2
  297. package/dist/interface/external/ehr/eclinicalworks/jwt-token.js.map +1 -1
  298. package/dist/interface/external/ehr/elation/appointment.d.ts +8 -8
  299. package/dist/interface/external/ehr/elation/appointment.js.map +1 -1
  300. package/dist/interface/external/ehr/elation/cx-mapping.d.ts +55 -55
  301. package/dist/interface/external/ehr/elation/event.d.ts +25 -25
  302. package/dist/interface/external/ehr/elation/jwt-token.d.ts +4 -4
  303. package/dist/interface/external/ehr/elation/jwt-token.js.map +1 -1
  304. package/dist/interface/external/ehr/elation/patient.d.ts +18 -18
  305. package/dist/interface/external/ehr/elation/practice.d.ts +6 -6
  306. package/dist/interface/external/ehr/elation/practice.js.map +1 -1
  307. package/dist/interface/external/ehr/elation/subscription.d.ts +8 -8
  308. package/dist/interface/external/ehr/elation/subscription.d.ts.map +1 -1
  309. package/dist/interface/external/ehr/elation/subscription.js +2 -2
  310. package/dist/interface/external/ehr/elation/subscription.js.map +1 -1
  311. package/dist/interface/external/ehr/embed/jwt-token.d.ts +2 -2
  312. package/dist/interface/external/ehr/embed/jwt-token.js.map +1 -1
  313. package/dist/interface/external/ehr/fhir-resource.d.ts +38 -38
  314. package/dist/interface/external/ehr/fhir-resource.js +4 -4
  315. package/dist/interface/external/ehr/fhir-resource.js.map +1 -1
  316. package/dist/interface/external/ehr/healthie/allergy.d.ts +64 -64
  317. package/dist/interface/external/ehr/healthie/allergy.js.map +1 -1
  318. package/dist/interface/external/ehr/healthie/appointment.js.map +1 -1
  319. package/dist/interface/external/ehr/healthie/condition.d.ts +10 -10
  320. package/dist/interface/external/ehr/healthie/condition.js.map +1 -1
  321. package/dist/interface/external/ehr/healthie/cx-mapping.d.ts +485 -60
  322. package/dist/interface/external/ehr/healthie/cx-mapping.d.ts.map +1 -1
  323. package/dist/interface/external/ehr/healthie/cx-mapping.js +20 -4
  324. package/dist/interface/external/ehr/healthie/cx-mapping.js.map +1 -1
  325. package/dist/interface/external/ehr/healthie/event.d.ts +18 -4
  326. package/dist/interface/external/ehr/healthie/event.d.ts.map +1 -1
  327. package/dist/interface/external/ehr/healthie/event.js +6 -1
  328. package/dist/interface/external/ehr/healthie/event.js.map +1 -1
  329. package/dist/interface/external/ehr/healthie/form-answer-group.d.ts +605 -0
  330. package/dist/interface/external/ehr/healthie/form-answer-group.d.ts.map +1 -0
  331. package/dist/interface/external/ehr/healthie/form-answer-group.js +51 -0
  332. package/dist/interface/external/ehr/healthie/form-answer-group.js.map +1 -0
  333. package/dist/interface/external/ehr/healthie/immunization.js.map +1 -1
  334. package/dist/interface/external/ehr/healthie/index.d.ts +1 -0
  335. package/dist/interface/external/ehr/healthie/index.d.ts.map +1 -1
  336. package/dist/interface/external/ehr/healthie/index.js +1 -0
  337. package/dist/interface/external/ehr/healthie/index.js.map +1 -1
  338. package/dist/interface/external/ehr/healthie/jwt-token.d.ts +2 -2
  339. package/dist/interface/external/ehr/healthie/jwt-token.js.map +1 -1
  340. package/dist/interface/external/ehr/healthie/lab.d.ts +64 -64
  341. package/dist/interface/external/ehr/healthie/lab.js.map +1 -1
  342. package/dist/interface/external/ehr/healthie/medication.d.ts +52 -52
  343. package/dist/interface/external/ehr/healthie/medication.js.map +1 -1
  344. package/dist/interface/external/ehr/healthie/patient.d.ts +145 -106
  345. package/dist/interface/external/ehr/healthie/patient.d.ts.map +1 -1
  346. package/dist/interface/external/ehr/healthie/patient.js +9 -6
  347. package/dist/interface/external/ehr/healthie/patient.js.map +1 -1
  348. package/dist/interface/external/ehr/healthie/subscription.d.ts +30 -21
  349. package/dist/interface/external/ehr/healthie/subscription.d.ts.map +1 -1
  350. package/dist/interface/external/ehr/healthie/subscription.js +21 -4
  351. package/dist/interface/external/ehr/healthie/subscription.js.map +1 -1
  352. package/dist/interface/external/ehr/patient.d.ts +44 -44
  353. package/dist/interface/external/ehr/patient.js.map +1 -1
  354. package/dist/interface/external/ehr/practicefusion/appointment.d.ts +21 -21
  355. package/dist/interface/external/ehr/practicefusion/appointment.js.map +1 -1
  356. package/dist/interface/external/ehr/practicefusion/cx-mapping.d.ts +51 -51
  357. package/dist/interface/external/ehr/practicefusion/jwt-token.d.ts +4 -4
  358. package/dist/interface/external/ehr/practicefusion/jwt-token.js.map +1 -1
  359. package/dist/interface/external/ehr/practicefusion/refresh-token.d.ts +2 -2
  360. package/dist/interface/external/ehr/practitioner.d.ts +6 -6
  361. package/dist/interface/external/ehr/salesforce/cx-mapping.d.ts +49 -49
  362. package/dist/interface/external/ehr/salesforce/jwt-token.d.ts +3 -3
  363. package/dist/interface/external/ehr/salesforce/jwt-token.js.map +1 -1
  364. package/dist/interface/external/ehr/salesforce/patient.d.ts +4 -4
  365. package/dist/interface/external/ehr/salesforce/patient.js.map +1 -1
  366. package/dist/interface/external/ehr/shared.d.ts +1133 -80
  367. package/dist/interface/external/ehr/shared.d.ts.map +1 -1
  368. package/dist/interface/external/ehr/shared.js +64 -2
  369. package/dist/interface/external/ehr/shared.js.map +1 -1
  370. package/dist/interface/external/ehr/source.d.ts +1 -0
  371. package/dist/interface/external/ehr/source.d.ts.map +1 -1
  372. package/dist/interface/external/ehr/source.js +10 -9
  373. package/dist/interface/external/ehr/source.js.map +1 -1
  374. package/dist/interface/external/quest/roster.d.ts.map +1 -1
  375. package/dist/interface/external/quest/roster.js +6 -6
  376. package/dist/interface/external/quest/roster.js.map +1 -1
  377. package/dist/interface/external/quest/source.js.map +1 -1
  378. package/dist/interface/external/surescripts/added-by.d.ts +8 -0
  379. package/dist/interface/external/surescripts/added-by.d.ts.map +1 -0
  380. package/dist/interface/external/surescripts/added-by.js +23 -0
  381. package/dist/interface/external/surescripts/added-by.js.map +1 -0
  382. package/dist/interface/external/surescripts/code-list-qualifier.d.ts.map +1 -1
  383. package/dist/interface/external/surescripts/dea-schedule.d.ts.map +1 -1
  384. package/dist/interface/external/surescripts/dea-schedule.js +2 -2
  385. package/dist/interface/external/surescripts/dea-schedule.js.map +1 -1
  386. package/dist/interface/external/surescripts/index.d.ts +2 -0
  387. package/dist/interface/external/surescripts/index.d.ts.map +1 -1
  388. package/dist/interface/external/surescripts/index.js +2 -0
  389. package/dist/interface/external/surescripts/index.js.map +1 -1
  390. package/dist/interface/external/surescripts/ncpdp.d.ts.map +1 -1
  391. package/dist/interface/external/surescripts/ncpdp.js +2 -2
  392. package/dist/interface/external/surescripts/ncpdp.js.map +1 -1
  393. package/dist/interface/external/surescripts/payment-code.d.ts.map +1 -1
  394. package/dist/interface/external/surescripts/payment-code.js +11 -11
  395. package/dist/interface/external/surescripts/payment-code.js.map +1 -1
  396. package/dist/interface/external/surescripts/plan-code.d.ts.map +1 -1
  397. package/dist/interface/external/surescripts/plan-code.js +2 -2
  398. package/dist/interface/external/surescripts/plan-code.js.map +1 -1
  399. package/dist/interface/external/surescripts/realtime-pulls/file-name.d.ts +15 -0
  400. package/dist/interface/external/surescripts/realtime-pulls/file-name.d.ts.map +1 -0
  401. package/dist/interface/external/surescripts/realtime-pulls/file-name.js +19 -0
  402. package/dist/interface/external/surescripts/realtime-pulls/file-name.js.map +1 -0
  403. package/dist/interface/external/surescripts/realtime-pulls/index.d.ts +3 -0
  404. package/dist/interface/external/surescripts/realtime-pulls/index.d.ts.map +1 -0
  405. package/dist/interface/external/surescripts/realtime-pulls/index.js +19 -0
  406. package/dist/interface/external/surescripts/realtime-pulls/index.js.map +1 -0
  407. package/dist/interface/external/surescripts/realtime-pulls/status-codes.d.ts +91 -0
  408. package/dist/interface/external/surescripts/realtime-pulls/status-codes.d.ts.map +1 -0
  409. package/dist/interface/external/surescripts/realtime-pulls/status-codes.js +64 -0
  410. package/dist/interface/external/surescripts/realtime-pulls/status-codes.js.map +1 -0
  411. package/dist/interface/external/surescripts/roster.d.ts +2 -0
  412. package/dist/interface/external/surescripts/roster.d.ts.map +1 -1
  413. package/dist/interface/external/surescripts/roster.js +16 -5
  414. package/dist/interface/external/surescripts/roster.js.map +1 -1
  415. package/dist/interface/internal/cohort.d.ts +240 -240
  416. package/dist/interface/internal/cohort.d.ts.map +1 -1
  417. package/dist/interface/internal/cohort.js +10 -6
  418. package/dist/interface/internal/cohort.js.map +1 -1
  419. package/dist/interface/internal/consolidated.d.ts +359 -10
  420. package/dist/interface/internal/consolidated.d.ts.map +1 -1
  421. package/dist/interface/internal/consolidated.js +24 -3
  422. package/dist/interface/internal/consolidated.js.map +1 -1
  423. package/dist/interface/internal/customer.d.ts +14 -0
  424. package/dist/interface/internal/customer.d.ts.map +1 -0
  425. package/dist/interface/internal/customer.js +28 -0
  426. package/dist/interface/internal/customer.js.map +1 -0
  427. package/dist/interface/internal/document-query.d.ts +2 -2
  428. package/dist/interface/internal/index.d.ts +1 -0
  429. package/dist/interface/internal/index.d.ts.map +1 -1
  430. package/dist/interface/internal/index.js +1 -0
  431. package/dist/interface/internal/index.js.map +1 -1
  432. package/dist/interface/schema/feedback.d.ts +2 -2
  433. package/dist/medical/fhir/__tests__/procedure-category-from-cpt.test.d.ts +2 -0
  434. package/dist/medical/fhir/__tests__/procedure-category-from-cpt.test.d.ts.map +1 -0
  435. package/dist/medical/fhir/__tests__/procedure-category-from-cpt.test.js +79 -0
  436. package/dist/medical/fhir/__tests__/procedure-category-from-cpt.test.js.map +1 -0
  437. package/dist/medical/fhir/bundle.js +3 -4
  438. package/dist/medical/fhir/bundle.js.map +1 -1
  439. package/dist/medical/fhir/coding.js +4 -5
  440. package/dist/medical/fhir/coding.js.map +1 -1
  441. package/dist/medical/fhir/constants.js.map +1 -1
  442. package/dist/medical/fhir/conversion.d.ts.map +1 -1
  443. package/dist/medical/fhir/imaging-detection.d.ts +3 -16
  444. package/dist/medical/fhir/imaging-detection.d.ts.map +1 -1
  445. package/dist/medical/fhir/imaging-detection.js +35 -35
  446. package/dist/medical/fhir/imaging-detection.js.map +1 -1
  447. package/dist/medical/fhir/observations.js +4 -5
  448. package/dist/medical/fhir/observations.js.map +1 -1
  449. package/dist/medical/fhir/procedure-category-from-cpt.d.ts +4 -0
  450. package/dist/medical/fhir/procedure-category-from-cpt.d.ts.map +1 -0
  451. package/dist/medical/fhir/procedure-category-from-cpt.js +106 -0
  452. package/dist/medical/fhir/procedure-category-from-cpt.js.map +1 -0
  453. package/dist/medical/fhir/procedure-category.d.ts +12 -0
  454. package/dist/medical/fhir/procedure-category.d.ts.map +1 -0
  455. package/dist/medical/fhir/procedure-category.js +45 -0
  456. package/dist/medical/fhir/procedure-category.js.map +1 -0
  457. package/dist/medical/fhir/procedure-type.d.ts.map +1 -1
  458. package/dist/medical/fhir/procedure-type.js +3 -3
  459. package/dist/medical/fhir/procedure-type.js.map +1 -1
  460. package/dist/medical/fhir/resources.d.ts.map +1 -1
  461. package/dist/medical/fhir/resources.js.map +1 -1
  462. package/dist/medical/fhir/specialty-codes.d.ts.map +1 -1
  463. package/dist/medical/index.d.ts +2 -0
  464. package/dist/medical/index.d.ts.map +1 -1
  465. package/dist/medical/index.js +2 -0
  466. package/dist/medical/index.js.map +1 -1
  467. package/dist/medical/webhook/webhook-request.d.ts +1899 -833
  468. package/dist/medical/webhook/webhook-request.d.ts.map +1 -1
  469. package/dist/medical/webhook/webhook-request.js +95 -19
  470. package/dist/medical/webhook/webhook-request.js.map +1 -1
  471. package/dist/net/__tests__/axios.d.ts +6 -7
  472. package/dist/net/__tests__/axios.d.ts.map +1 -1
  473. package/dist/net/__tests__/axios.js +22 -12
  474. package/dist/net/__tests__/axios.js.map +1 -1
  475. package/dist/net/__tests__/retry.test.js +17 -7
  476. package/dist/net/__tests__/retry.test.js.map +1 -1
  477. package/dist/net/error.d.ts +1 -1
  478. package/dist/net/error.d.ts.map +1 -1
  479. package/dist/net/error.js +22 -12
  480. package/dist/net/error.js.map +1 -1
  481. package/dist/net/http.js +6 -7
  482. package/dist/net/http.js.map +1 -1
  483. package/dist/net/retry.d.ts +1 -0
  484. package/dist/net/retry.d.ts.map +1 -1
  485. package/dist/net/retry.js +10 -9
  486. package/dist/net/retry.js.map +1 -1
  487. package/dist/net/url.js +1 -2
  488. package/dist/net/url.js.map +1 -1
  489. package/dist/util/base64.d.ts +14 -2
  490. package/dist/util/base64.d.ts.map +1 -1
  491. package/dist/util/base64.js +30 -5
  492. package/dist/util/base64.js.map +1 -1
  493. package/dist/util/duration.js +2 -3
  494. package/dist/util/duration.js.map +1 -1
  495. package/dist/util/sqs-delay-from-uuid.js +2 -2
  496. package/dist/util/sqs-delay-from-uuid.js.map +1 -1
  497. package/dist/util/stack-trace.d.ts +17 -0
  498. package/dist/util/stack-trace.d.ts.map +1 -0
  499. package/dist/util/stack-trace.js +32 -0
  500. package/dist/util/stack-trace.js.map +1 -0
  501. package/dist/util/uuid-v7.d.ts +1 -1
  502. package/dist/util/uuid-v7.d.ts.map +1 -1
  503. package/dist/util/uuid-v7.js +23 -13
  504. package/dist/util/uuid-v7.js.map +1 -1
  505. package/dist/util/zod.js +2 -2
  506. package/dist/util/zod.js.map +1 -1
  507. package/package.json +41 -11
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const procedure_category_from_cpt_1 = require("../procedure-category-from-cpt");
4
+ const constants_1 = require("../constants");
5
+ describe("procedure-category-from-cpt", () => {
6
+ describe("resolveProcedureCategoryFromCptCode", () => {
7
+ it("maps chest x-ray CPT to Imaging", () => {
8
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("71020");
9
+ expect(category?.coding?.[0]?.code).toBe("363679005");
10
+ expect(category?.coding?.[0]?.display).toBe("Imaging");
11
+ });
12
+ it("maps lab CPT to Laboratory test", () => {
13
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("85025");
14
+ expect(category?.coding?.[0]?.code).toBe("15220000");
15
+ });
16
+ it("maps surgery CPT to Surgical procedure", () => {
17
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("27447");
18
+ expect(category?.coding?.[0]?.code).toBe("387713003");
19
+ });
20
+ it("maps ECG CPT to Measurement", () => {
21
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("93000");
22
+ expect(category?.coding?.[0]?.code).toBe("122869004");
23
+ });
24
+ it("omits physical therapy CPT", () => {
25
+ expect((0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("97110")).toBeUndefined();
26
+ });
27
+ it("omits chemotherapy administration CPT", () => {
28
+ expect((0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("96401")).toBeUndefined();
29
+ });
30
+ it("omits infusion CPT", () => {
31
+ expect((0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("96360")).toBeUndefined();
32
+ });
33
+ it("maps psychiatry CPT to Psychiatry procedure or service", () => {
34
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("90834");
35
+ expect(category?.coding?.[0]?.code).toBe("24642003");
36
+ });
37
+ it("maps counselling CPT to Counselling", () => {
38
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("99403");
39
+ expect(category?.coding?.[0]?.code).toBe("409063005");
40
+ });
41
+ it("maps patient education CPT to Education", () => {
42
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("98960");
43
+ expect(category?.coding?.[0]?.code).toBe("409073007");
44
+ expect(category?.coding?.[0]?.display).toBe("Education");
45
+ });
46
+ it("omits E&M CPT", () => {
47
+ expect((0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("99213")).toBeUndefined();
48
+ });
49
+ it("uses fallback CPT section range when procedure-type has no match", () => {
50
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromCptCode)("15000");
51
+ expect(category?.coding?.[0]?.code).toBe("387713003");
52
+ });
53
+ });
54
+ describe("resolveProcedureCategoryFromProcedure", () => {
55
+ it("resolves category from CPT code", () => {
56
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromProcedure)({
57
+ resourceType: "Procedure",
58
+ status: "completed",
59
+ subject: { reference: "Patient/1" },
60
+ code: {
61
+ coding: [{ system: constants_1.CPT_URL, code: "71020" }],
62
+ },
63
+ });
64
+ expect(category?.coding?.[0]?.code).toBe("363679005");
65
+ });
66
+ it("returns undefined for non-CPT code (SNOMED)", () => {
67
+ const category = (0, procedure_category_from_cpt_1.resolveProcedureCategoryFromProcedure)({
68
+ resourceType: "Procedure",
69
+ status: "completed",
70
+ subject: { reference: "Patient/1" },
71
+ code: {
72
+ coding: [{ system: "http://snomed.info/sct", code: "80146002" }],
73
+ },
74
+ });
75
+ expect(category).toBeUndefined();
76
+ });
77
+ });
78
+ });
79
+ //# sourceMappingURL=procedure-category-from-cpt.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure-category-from-cpt.test.js","sourceRoot":"","sources":["../../../../src/medical/fhir/__tests__/procedure-category-from-cpt.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSearchSet = exports.parseSearchsetFhirBundle = exports.parseFhirBundle = void 0;
3
+ exports.parseFhirBundle = parseFhirBundle;
4
+ exports.parseSearchsetFhirBundle = parseSearchsetFhirBundle;
5
+ exports.toSearchSet = toSearchSet;
4
6
  function parseFhirBundle(value) {
5
7
  const parsed = JSON.parse(value);
6
8
  if (parsed && typeof parsed === "object" && parsed.resourceType === "Bundle") {
@@ -8,7 +10,6 @@ function parseFhirBundle(value) {
8
10
  }
9
11
  return undefined;
10
12
  }
11
- exports.parseFhirBundle = parseFhirBundle;
12
13
  function parseSearchsetFhirBundle(value) {
13
14
  const parsed = parseFhirBundle(value);
14
15
  if (parsed && parsed.type === "searchset") {
@@ -16,9 +17,7 @@ function parseSearchsetFhirBundle(value) {
16
17
  }
17
18
  return undefined;
18
19
  }
19
- exports.parseSearchsetFhirBundle = parseSearchsetFhirBundle;
20
20
  function toSearchSet(bundle) {
21
21
  return { ...bundle, type: "searchset", ...(bundle.entry ? { entry: bundle.entry } : {}) };
22
22
  }
23
- exports.toSearchSet = toSearchSet;
24
23
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/medical/fhir/bundle.ts"],"names":[],"mappings":";;;AAUA,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE;QAC5E,OAAO,MAAM,CAAC;KACf;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,0CAMC;AAED,SAAgB,wBAAwB,CAAC,KAAa;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACzC,OAAO,MAAyB,CAAC;KAClC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,4DAMC;AAED,SAAgB,WAAW,CAAC,MAAc;IACxC,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/medical/fhir/bundle.ts"],"names":[],"mappings":";;;;;AAUA,yBAAgC,KAAa;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kCAAyC,KAAa;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,MAAyB,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qBAA4B,MAAc;IACxC,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC"}
@@ -3,7 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getLoincCodeClass = exports.isActCoding = exports.isLoincCoding = exports.isLoinc = void 0;
6
+ exports.isLoinc = isLoinc;
7
+ exports.isLoincCoding = isLoincCoding;
8
+ exports.isActCoding = isActCoding;
9
+ exports.getLoincCodeClass = getLoincCodeClass;
7
10
  const constants_1 = require("./constants");
8
11
  const loinc_code_class_lookup_json_1 = __importDefault(require("./loinc/loinc-code-class-lookup.json"));
9
12
  const loinc_class_display_lookup_json_1 = __importDefault(require("./loinc/loinc-class-display-lookup.json"));
@@ -19,18 +22,15 @@ function isLoinc(system) {
19
22
  }
20
23
  return false;
21
24
  }
22
- exports.isLoinc = isLoinc;
23
25
  function isLoincCoding(coding) {
24
26
  if (isLoinc(coding?.system)) {
25
27
  return true;
26
28
  }
27
29
  return false;
28
30
  }
29
- exports.isLoincCoding = isLoincCoding;
30
31
  function isActCoding(coding) {
31
32
  return coding?.system?.toLowerCase().trim().includes(constants_1.HL7_ACT_URL.toLowerCase()) ?? false;
32
33
  }
33
- exports.isActCoding = isActCoding;
34
34
  function getLoincCodeClass(loincCode) {
35
35
  const { codeClass, classDisplay } = getLoincLookups();
36
36
  const classLookup = codeClass[loincCode];
@@ -46,5 +46,4 @@ function getLoincCodeClass(loincCode) {
46
46
  display: classDisplayLookup.displayValue,
47
47
  };
48
48
  }
49
- exports.getLoincCodeClass = getLoincCodeClass;
50
49
  //# sourceMappingURL=coding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coding.js","sourceRoot":"","sources":["../../../src/medical/fhir/coding.ts"],"names":[],"mappings":";;;;;;AACA,2CAAiE;AACjE,wGAA4E;AAC5E,8GAAkF;AAQlF,MAAM,oBAAoB,GAAG,sCAAgD,CAAC;AAC9E,MAAM,uBAAuB,GAAG,yCAAsD,CAAC;AAEvF,SAAS,eAAe;IAItB,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC;AACpF,CAAC;AAID,SAAgB,OAAO,CAAC,MAA0B;IAChD,IACE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,sBAAU,CAAC;QACjD,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAS,CAAC,EAChD;QACA,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AARD,0BAQC;AAED,SAAgB,aAAa,CAAC,MAA0B;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,sCAKC;AAED,SAAgB,WAAW,CAAC,MAA0B;IACpD,OAAO,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,uBAAW,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;AAC3F,CAAC;AAFD,kCAEC;AAED,SAAgB,iBAAiB,CAC/B,SAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,KAAK;QAC/B,OAAO,EAAE,kBAAkB,CAAC,YAAY;KACzC,CAAC;AACJ,CAAC;AAjBD,8CAiBC"}
1
+ {"version":3,"file":"coding.js","sourceRoot":"","sources":["../../../src/medical/fhir/coding.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAAiE;AACjE,wGAA4E;AAC5E,8GAAkF;AAQlF,MAAM,oBAAoB,GAAG,sCAAgD,CAAC;AAC9E,MAAM,uBAAuB,GAAG,yCAAsD,CAAC;AAEvF,SAAS,eAAe;IAItB,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC;AACpF,CAAC;AAID,iBAAwB,MAA0B;IAChD,IACE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,sBAAU,CAAC;QACjD,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAS,CAAC,EAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uBAA8B,MAA0B;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qBAA4B,MAA0B;IACpD,OAAO,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,uBAAW,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;AAC3F,CAAC;AAED,2BACE,SAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,KAAK;QAC/B,OAAO,EAAE,kBAAkB,CAAC,YAAY;KACzC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/medical/fhir/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,wBAAwB,CAAC;AACtC,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,kBAAkB,CAAC;AAC/B,QAAA,SAAS,GAAG,uBAAuB,CAAC;AACpC,QAAA,6BAA6B,GAAG,SAAS,CAAC;AAE1C,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,mCAAmC,CAAC;AACjD,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,+DAA+D,CAAC;AAE5E,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,6CAA6C,CAAC;AAC3D,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,6BAA6B,CAAC;AACxC,QAAA,OAAO,GAAG,wBAAwB,CAAC;AAEnC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,6BAA6B,CAAC;AACxC,QAAA,OAAO,GAAG,0BAA0B,CAAC;AAErC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,gCAAgC,CAAC;AAC3C,QAAA,OAAO,GAAG,wBAAwB,CAAC;AAEnC,QAAA,mBAAmB,GAAG,2BAA2B,CAAC;AAElD,QAAA,QAAQ,GAAG,4CAA4C,CAAC;AAExD,QAAA,WAAW,GAAG,kDAAkD,CAAC;AAEjE,QAAA,6BAA6B,GACxC,0DAA0D,CAAC;AAEhD,QAAA,iCAAiC,GAC5C,4DAA4D,CAAC;AAElD,QAAA,6BAA6B,GACxC,0DAA0D,CAAC;AAEhD,QAAA,kCAAkC,GAC7C,6DAA6D,CAAC;AAEnD,QAAA,qBAAqB,GAAG,iCAAiC,CAAC;AAC1D,QAAA,oBAAoB,GAAG,gCAAgC,CAAC;AACxD,QAAA,qBAAqB,GAAG,yDAAyD,CAAC;AAElF,QAAA,mCAAmC,GAC9C,mDAAmD,CAAC;AAEzC,QAAA,wBAAwB,GACnC,4DAA4D,CAAC;AAE/D,mEAAmE;AACtD,QAAA,+BAA+B,GAAG,+CAA+C,CAAC;AAElF,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,iBAAiB,GAAG;IAC/B,gBAAQ;IACR,mBAAW;IACX,qCAA6B;IAC7B,yCAAiC;IACjC,qCAA6B;IAC7B,6BAAqB;IACrB,4BAAoB;IACpB,6BAAqB;IACrB,gCAAwB;IACxB,uCAA+B;CAChC,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,kBAAU;IACV,eAAO;IACP,eAAO;IACP,eAAO;IACP,kBAAU;IACV,iBAAS;IACT,iBAAS;IACT,kBAAU;IACV,mBAAW;IACX,GAAG,yBAAiB;CACrB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/medical/fhir/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,wBAAwB,CAAC;AACtC,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,kBAAkB,CAAC;AAC/B,QAAA,SAAS,GAAG,uBAAuB,CAAC;AACpC,QAAA,6BAA6B,GAAG,SAAS,CAAC;AAE1C,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,mCAAmC,CAAC;AACjD,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,SAAS,GAAG,+DAA+D,CAAC;AAE5E,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,UAAU,GAAG,6CAA6C,CAAC;AAC3D,QAAA,UAAU,GAAG,wBAAwB,CAAC;AAEtC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,6BAA6B,CAAC;AACxC,QAAA,OAAO,GAAG,wBAAwB,CAAC;AAEnC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,6BAA6B,CAAC;AACxC,QAAA,OAAO,GAAG,0BAA0B,CAAC;AAErC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,OAAO,GAAG,gCAAgC,CAAC;AAC3C,QAAA,OAAO,GAAG,wBAAwB,CAAC;AAEnC,QAAA,mBAAmB,GAAG,2BAA2B,CAAC;AAElD,QAAA,QAAQ,GAAG,4CAA4C,CAAC;AAExD,QAAA,WAAW,GAAG,kDAAkD,CAAC;AAEjE,QAAA,6BAA6B,GACxC,0DAA0D,CAAC;AAEhD,QAAA,iCAAiC,GAC5C,4DAA4D,CAAC;AAElD,QAAA,6BAA6B,GACxC,0DAA0D,CAAC;AAEhD,QAAA,kCAAkC,GAC7C,6DAA6D,CAAC;AAEnD,QAAA,qBAAqB,GAAG,iCAAiC,CAAC;AAC1D,QAAA,oBAAoB,GAAG,gCAAgC,CAAC;AACxD,QAAA,qBAAqB,GAAG,yDAAyD,CAAC;AAElF,QAAA,mCAAmC,GAC9C,mDAAmD,CAAC;AAEzC,QAAA,wBAAwB,GACnC,4DAA4D,CAAC;AAE/D,mEAAmE;AACtD,QAAA,+BAA+B,GAAG,+CAA+C,CAAC;AAElF,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,iBAAiB,GAAG;IAC/B,QAAA,QAAQ;IACR,QAAA,WAAW;IACX,QAAA,6BAA6B;IAC7B,QAAA,iCAAiC;IACjC,QAAA,6BAA6B;IAC7B,QAAA,qBAAqB;IACrB,QAAA,oBAAoB;IACpB,QAAA,qBAAqB;IACrB,QAAA,wBAAwB;IACxB,QAAA,+BAA+B;CAChC,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,QAAA,UAAU;IACV,QAAA,OAAO;IACP,QAAA,OAAO;IACP,QAAA,OAAO;IACP,QAAA,UAAU;IACV,QAAA,SAAS;IACT,QAAA,SAAS;IACT,QAAA,UAAU;IACV,QAAA,WAAW;IACX,GAAG,QAAA,iBAAiB;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/conversion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,kCAAmC,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/conversion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,YAAI,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -53,9 +53,7 @@ export declare const IMAGING_PROCEDURE_RANGES: (({
53
53
  } | {
54
54
  readonly start: 72125;
55
55
  readonly end: 72133;
56
- readonly type: "CT"; /**
57
- * Check if a Procedure is an imaging procedure based on CPT codes
58
- */
56
+ readonly type: "CT";
59
57
  readonly category: "Spine CT";
60
58
  readonly modality: "CT";
61
59
  } | {
@@ -298,9 +296,6 @@ export declare const IMAGING_PROCEDURE_RANGES: (({
298
296
  readonly type: "Surgery";
299
297
  readonly category: "Excision - Benign Lesions";
300
298
  } | {
301
- /**
302
- * Check if a report is an MRI (Magnetic Resonance Imaging) report
303
- */
304
299
  readonly start: 11600;
305
300
  readonly end: 11646;
306
301
  readonly type: "Surgery";
@@ -371,9 +366,7 @@ export declare const IMAGING_PROCEDURE_RANGES: (({
371
366
  readonly type: "Surgery";
372
367
  readonly category: "Foot Surgery";
373
368
  } | {
374
- readonly start: 30000; /**
375
- * Check if a report is an Ultrasound imaging report
376
- */
369
+ readonly start: 30000;
377
370
  readonly end: 30999;
378
371
  readonly type: "Surgery";
379
372
  readonly category: "Nose Surgery";
@@ -519,9 +512,6 @@ export declare const IMAGING_PROCEDURE_RANGES: (({
519
512
  readonly category: "Organ/Disease Panels";
520
513
  } | {
521
514
  readonly start: 80150;
522
- /**
523
- * Get practitioners from an Encounter
524
- */
525
515
  readonly end: 80299;
526
516
  readonly type: "Lab";
527
517
  readonly category: "Drug Testing";
@@ -629,10 +619,7 @@ export declare const IMAGING_PROCEDURE_RANGES: (({
629
619
  readonly start: 99217;
630
620
  readonly end: 99220;
631
621
  readonly type: "Hospital Care";
632
- readonly category: "Observation Care"; /**
633
- * Main function to determine if a DiagnosticReport is an imaging report
634
- * This is the primary logic used to split DiagnosticReports into Imaging vs Clinical Notes
635
- */
622
+ readonly category: "Observation Care";
636
623
  } | {
637
624
  readonly start: 99221;
638
625
  readonly end: 99239;
@@ -1 +1 @@
1
- {"version":3,"file":"imaging-detection.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/imaging-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EAIV,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAerC;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+IH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA8BH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAyDH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAxU4C,MAAM;IACpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMzD;AA8BD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAUtF;AAyJD;;;GAGG;AACH,wBAAgB,yCAAyC,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAS3F;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAwEF,KAAK,eAAe,GAAG;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACtC,CAAC;AAqBF;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,uBAAuB,EAChC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAqET;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,uBAAuB,GAC/B;IAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;IAAC,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAgB3E"}
1
+ {"version":3,"file":"imaging-detection.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/imaging-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EAIV,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACU,MAAM;IACpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMzD;AA8BD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAUtF;AAyJD;;;GAGG;AACH,wBAAgB,yCAAyC,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAS3F;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAwEF,KAAK,eAAe,GAAG;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACtC,CAAC;AAqBF;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,uBAAuB,EAChC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAqET;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,uBAAuB,GAC/B;IAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;IAAC,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAgB3E"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitDiagnosticReports = exports.isImagingReport = exports.isImagingReportBasedOnDisplayValueParsing = exports.getImagingReportIdsFromProcedures = exports.isImagingCptCode = exports.IMAGING_PROCEDURE_RANGES = void 0;
3
+ exports.IMAGING_PROCEDURE_RANGES = void 0;
4
+ exports.isImagingCptCode = isImagingCptCode;
5
+ exports.getImagingReportIdsFromProcedures = getImagingReportIdsFromProcedures;
6
+ exports.isImagingReportBasedOnDisplayValueParsing = isImagingReportBasedOnDisplayValueParsing;
7
+ exports.isImagingReport = isImagingReport;
8
+ exports.splitDiagnosticReports = splitDiagnosticReports;
4
9
  const constants_1 = require("./constants");
5
10
  const coding_1 = require("./coding");
6
11
  const procedure_type_1 = require("./procedure-type");
@@ -17,7 +22,6 @@ function isImagingCptCode(cptCode) {
17
22
  return false;
18
23
  return exports.IMAGING_PROCEDURE_RANGES.some(range => numericCode >= range.start && numericCode <= range.end);
19
24
  }
20
- exports.isImagingCptCode = isImagingCptCode;
21
25
  /**
22
26
  * Check if a Procedure is an imaging procedure based on CPT codes
23
27
  */
@@ -56,53 +60,52 @@ function getImagingReportIdsFromProcedures(procedures) {
56
60
  .map(getReferenceId)
57
61
  .filter(id => id.length > 0));
58
62
  }
59
- exports.getImagingReportIdsFromProcedures = getImagingReportIdsFromProcedures;
60
63
  // LOINC codes for specific imaging types
61
64
  const ECHO_LOINC_CODES = [
62
- "59282-4",
63
- "34552-0",
64
- "18010-9",
65
- "85475-2",
65
+ "59282-4", // Cardiac stress echo study
66
+ "34552-0", // Cardiac 2D echo panel
67
+ "18010-9", // Aorta Diameter by US
68
+ "85475-2", // US Heart Transesophageal
66
69
  "18106-5", // Cardiac echo study Procedure
67
70
  ];
68
71
  const PFT_LOINC_CODES = [
69
- "52485-0",
70
- "81459-0",
71
- "20080-8",
72
+ "52485-0", // Pulmonary Function Tests
73
+ "81459-0", // Spirometry panel
74
+ "20080-8", // Pulmonary function test method
72
75
  "81458-2", // Pulmonary function test panel
73
76
  ];
74
77
  const CT_LOINC_CODES = [
75
- "46305-9",
76
- "24725-4",
77
- "24627-2",
78
- "24727-0",
79
- "41806-1",
80
- "29252-4",
78
+ "46305-9", // CT Whole body
79
+ "24725-4", // CT Head
80
+ "24627-2", // CT Chest
81
+ "24727-0", // CT Head W contrast IV
82
+ "41806-1", // CT Abdomen
83
+ "29252-4", // CT Chest WO contrast
81
84
  "30799-1", // CT Head WO contrast
82
85
  ];
83
86
  const MRI_LOINC_CODES = [
84
- "30657-1",
85
- "30794-2",
86
- "36046-1",
87
- "24589-4",
88
- "24557-1",
89
- "24587-8",
87
+ "30657-1", // MR Brain WO contrast
88
+ "30794-2", // MR Breast
89
+ "36046-1", // MR Liver
90
+ "24589-4", // MR Brain W contrast IV
91
+ "24557-1", // MR Abdomen WO and W contrast IV
92
+ "24587-8", // MR Brain WO and W contrast IV
90
93
  "24556-3", // MR Abdomen
91
94
  ];
92
95
  const XR_LOINC_CODES = [
93
- "24722-1",
94
- "24799-9",
95
- "36643-5",
96
- "22030-1",
97
- "24664-5",
96
+ "24722-1", // XR Hand 3 Views
97
+ "24799-9", // XR Abdomen AP
98
+ "36643-5", // XR Chest 2 Views
99
+ "22030-1", // Xray/Scan.total Narrative
100
+ "24664-5", // XR Clavicle Views
98
101
  "37616-0", // XR Pelvis Single view
99
102
  ];
100
103
  const US_LOINC_CODES = [
101
- "55034-6",
102
- "24531-6",
103
- "34813-6",
104
- "59640-3",
105
- "46298-6",
104
+ "55034-6", // US Abdomen
105
+ "24531-6", // US Retroperitoneum
106
+ "34813-6", // US Kidney
107
+ "59640-3", // US Pelvis Transvaginal
108
+ "46298-6", // US Breast
106
109
  "24857-5", // US Thyroid
107
110
  ];
108
111
  /**
@@ -196,7 +199,6 @@ function isImagingReportBasedOnDisplayValueParsing(report) {
196
199
  isXRImagingReport(report) ||
197
200
  isUltrasoundImagingReport(report));
198
201
  }
199
- exports.isImagingReportBasedOnDisplayValueParsing = isImagingReportBasedOnDisplayValueParsing;
200
202
  /**
201
203
  * Get practitioners referenced by a DiagnosticReport
202
204
  */
@@ -338,7 +340,6 @@ function isImagingReport(report, imagingReportIds, context, maps) {
338
340
  }
339
341
  return false;
340
342
  }
341
- exports.isImagingReport = isImagingReport;
342
343
  /**
343
344
  * Split diagnostic reports into imaging reports and clinical notes
344
345
  */
@@ -357,5 +358,4 @@ function splitDiagnosticReports(diagnosticReports, procedures, context) {
357
358
  }
358
359
  return { imagingReports, clinicalNotes };
359
360
  }
360
- exports.splitDiagnosticReports = splitDiagnosticReports;
361
361
  //# sourceMappingURL=imaging-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imaging-detection.js","sourceRoot":"","sources":["../../../src/medical/fhir/imaging-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imaging-detection.js","sourceRoot":"","sources":["../../../src/medical/fhir/imaging-detection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getObservationUnits = exports.getObservationCode = exports.sortObservationsForDisplay = exports.compareObservationsForDisplay = void 0;
3
+ exports.compareObservationsForDisplay = compareObservationsForDisplay;
4
+ exports.sortObservationsForDisplay = sortObservationsForDisplay;
5
+ exports.getObservationCode = getObservationCode;
6
+ exports.getObservationUnits = getObservationUnits;
4
7
  const oxygenSaturationLoinc = {
5
8
  SpO2: "2708-6",
6
9
  Sp02ByPulseOximetry: "59408-5",
@@ -40,17 +43,13 @@ function compareObservationsForDisplay(a, b) {
40
43
  const orderB = getDisplayOrder(getObservationCode(b));
41
44
  return orderA - orderB;
42
45
  }
43
- exports.compareObservationsForDisplay = compareObservationsForDisplay;
44
46
  function sortObservationsForDisplay(observations) {
45
47
  return [...observations].sort(compareObservationsForDisplay);
46
48
  }
47
- exports.sortObservationsForDisplay = sortObservationsForDisplay;
48
49
  function getObservationCode(observation) {
49
50
  return observation.code?.coding?.find(coding => coding?.code)?.code;
50
51
  }
51
- exports.getObservationCode = getObservationCode;
52
52
  function getObservationUnits(observation) {
53
53
  return observation.valueQuantity?.unit?.replace(/[{()}]/g, "").toLowerCase();
54
54
  }
55
- exports.getObservationUnits = getObservationUnits;
56
55
  //# sourceMappingURL=observations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../../src/medical/fhir/observations.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,mBAAmB,EAAE,SAAS;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,mCAAmC,EAAE,SAAS;IAC9C,aAAa,EAAE,SAAS;CAChB,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,QAAQ;IACnB,qBAAqB,EAAE,QAAQ;IAC/B,sBAAsB,EAAE,QAAQ;IAChC,eAAe,EAAE,QAAQ;IACzB,qBAAqB,EAAE,QAAQ;IAC/B,WAAW,EAAE,QAAQ;IACrB,GAAG,qBAAqB;IACxB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,SAAS;CACN,CAAC;AAIX,MAAM,kBAAkB,GAAgC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CACvF,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,GAAG,GAAG;IACN,CAAC,IAAI,CAAC,EAAE,KAAK;CACd,CAAC,EACF,EAAiC,CAClC,CAAC;AAEF;;GAEG;AACH,SAAS,eAAe,CAAC,IAAwB;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAC1C,OAAO,kBAAkB,CAAC,IAAmB,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,CAAc,EAAE,CAAc;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,MAAM,GAAG,MAAM,CAAC;AACzB,CAAC;AAJD,sEAIC;AAED,SAAgB,0BAA0B,CAAC,YAA2B;IACpE,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AAFD,gEAEC;AAED,SAAgB,kBAAkB,CAAC,WAAwB;IACzD,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AACtE,CAAC;AAFD,gDAEC;AAED,SAAgB,mBAAmB,CAAC,WAAwB;IAC1D,OAAO,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/E,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../../src/medical/fhir/observations.ts"],"names":[],"mappings":";;;;;;AAEA,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,mBAAmB,EAAE,SAAS;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,mCAAmC,EAAE,SAAS;IAC9C,aAAa,EAAE,SAAS;CAChB,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,QAAQ;IACnB,qBAAqB,EAAE,QAAQ;IAC/B,sBAAsB,EAAE,QAAQ;IAChC,eAAe,EAAE,QAAQ;IACzB,qBAAqB,EAAE,QAAQ;IAC/B,WAAW,EAAE,QAAQ;IACrB,GAAG,qBAAqB;IACxB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,SAAS;CACN,CAAC;AAIX,MAAM,kBAAkB,GAAgC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CACvF,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,GAAG,GAAG;IACN,CAAC,IAAI,CAAC,EAAE,KAAK;CACd,CAAC,EACF,EAAiC,CAClC,CAAC;AAEF;;GAEG;AACH,SAAS,eAAe,CAAC,IAAwB;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAC1C,OAAO,kBAAkB,CAAC,IAAmB,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,uCAA8C,CAAc,EAAE,CAAc;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,MAAM,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,oCAA2C,YAA2B;IACpE,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AAED,4BAAmC,WAAwB;IACzD,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AACtE,CAAC;AAED,6BAAoC,WAAwB;IAC1D,OAAO,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { CodeableConcept, Procedure } from "@medplum/fhirtypes";
2
+ export declare function resolveProcedureCategoryFromProcedure(procedure: Procedure): CodeableConcept | undefined;
3
+ export declare function resolveProcedureCategoryFromCptCode(cptCode: string): CodeableConcept | undefined;
4
+ //# sourceMappingURL=procedure-category-from-cpt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure-category-from-cpt.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/procedure-category-from-cpt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkEhE,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,SAAS,GACnB,eAAe,GAAG,SAAS,CAO7B;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAYhG"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveProcedureCategoryFromProcedure = resolveProcedureCategoryFromProcedure;
4
+ exports.resolveProcedureCategoryFromCptCode = resolveProcedureCategoryFromCptCode;
5
+ const constants_1 = require("./constants");
6
+ const procedure_category_1 = require("./procedure-category");
7
+ const procedure_type_1 = require("./procedure-type");
8
+ const IMAGING_TYPES = new Set([
9
+ "X-Ray",
10
+ "CT",
11
+ "MRI",
12
+ "Ultrasound",
13
+ "Mammography",
14
+ "Bone Density",
15
+ "Nuclear Medicine",
16
+ "PET",
17
+ "Angiography",
18
+ "Vascular Injection",
19
+ "Cardiac Catheterization",
20
+ "Ophthalmic Imaging",
21
+ ]);
22
+ const MEASUREMENT_TYPES = new Set(["ECG", "Cardiac Monitor", "Cardiac EP Study"]);
23
+ const OMIT_TYPES = new Set([
24
+ "Anesthesia",
25
+ "Office Visit",
26
+ "Hospital Care",
27
+ "Consultation",
28
+ "Emergency",
29
+ "Nursing Facility",
30
+ "Home Visit",
31
+ "Preventive",
32
+ "Physical Therapy",
33
+ "Infusion",
34
+ "Chemotherapy",
35
+ "Injection",
36
+ ]);
37
+ const TYPE_TO_CATEGORY = {
38
+ Lab: "Laboratory test",
39
+ Endoscopy: "Surgical procedure",
40
+ Surgery: "Surgical procedure",
41
+ Chiropractic: "Chiropractic manipulation",
42
+ };
43
+ /*
44
+ * Generic fallback ranges for CPT codes if no specific range is found in the
45
+ * granular PROCEDURE_TYPE_RANGES array.
46
+ */
47
+ const FALLBACK_CPT_SECTION_RANGES = [
48
+ { start: 10004, end: 69990, category: "Surgical procedure" },
49
+ { start: 70010, end: 79999, category: "Imaging" },
50
+ { start: 80047, end: 89398, category: "Laboratory test" },
51
+ { start: 90801, end: 90899, category: "Psychiatry procedure or service" },
52
+ { start: 96101, end: 96125, category: "Measurement" },
53
+ { start: 96150, end: 96155, category: "Counselling" },
54
+ { start: 98940, end: 98943, category: "Chiropractic manipulation" },
55
+ { start: 98960, end: 98962, category: "Education" },
56
+ { start: 99401, end: 99412, category: "Counselling" },
57
+ ];
58
+ function resolveProcedureCategoryFromProcedure(procedure) {
59
+ for (const coding of procedure.code?.coding ?? []) {
60
+ if (coding.system !== constants_1.CPT_URL || !coding.code)
61
+ continue;
62
+ const resolved = resolveProcedureCategoryFromCptCode(coding.code);
63
+ if (resolved)
64
+ return resolved;
65
+ }
66
+ return undefined;
67
+ }
68
+ function resolveProcedureCategoryFromCptCode(cptCode) {
69
+ const trimmed = cptCode.trim();
70
+ if (!trimmed)
71
+ return undefined;
72
+ const numericCode = parseInt(trimmed, 10);
73
+ if (isNaN(numericCode))
74
+ return undefined;
75
+ const info = (0, procedure_type_1.getProcedureInfo)(numericCode);
76
+ if (info.type !== "-") {
77
+ if (OMIT_TYPES.has(info.type))
78
+ return undefined; // explicit omit, skip fallback
79
+ const category = resolveCategoryFromProcedureType(info.type);
80
+ if (category)
81
+ return category;
82
+ }
83
+ return resolveFromFallbackCptSectionRanges(numericCode);
84
+ }
85
+ function resolveCategoryFromProcedureType(type) {
86
+ if (OMIT_TYPES.has(type))
87
+ return undefined;
88
+ if (IMAGING_TYPES.has(type)) {
89
+ return (0, procedure_category_1.getProcedureCategory)("Imaging");
90
+ }
91
+ const mappedCategory = TYPE_TO_CATEGORY[type];
92
+ if (mappedCategory) {
93
+ return (0, procedure_category_1.getProcedureCategory)(mappedCategory);
94
+ }
95
+ if (MEASUREMENT_TYPES.has(type)) {
96
+ return (0, procedure_category_1.getProcedureCategory)("Measurement");
97
+ }
98
+ return undefined;
99
+ }
100
+ function resolveFromFallbackCptSectionRanges(numericCode) {
101
+ const match = FALLBACK_CPT_SECTION_RANGES.find(range => numericCode >= range.start && numericCode <= range.end);
102
+ if (!match)
103
+ return undefined;
104
+ return (0, procedure_category_1.getProcedureCategory)(match.category);
105
+ }
106
+ //# sourceMappingURL=procedure-category-from-cpt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure-category-from-cpt.js","sourceRoot":"","sources":["../../../src/medical/fhir/procedure-category-from-cpt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { CodeableConcept } from "@medplum/fhirtypes";
2
+ /**
3
+ * Using R6 version of the valueset {@link https://build.fhir.org/valueset-procedure-category.html}
4
+ * because it has better descriptive options than R4.
5
+ * Procedure.category FHIR binding strength is the weakest ('example') which allows to
6
+ * use any value from any valueset and still keep the resource valid.
7
+ */
8
+ export declare const PROCEDURE_CATEGORY_NAMES: readonly ["Psychiatry procedure or service", "Counselling", "Education", "Surgical procedure", "Imaging", "Laboratory test", "Measurement", "Chiropractic manipulation", "Social service procedure"];
9
+ export type ProcedureCategoryName = (typeof PROCEDURE_CATEGORY_NAMES)[number];
10
+ export declare const PROCEDURE_CATEGORY_SNOMED_CODE: Record<ProcedureCategoryName, string>;
11
+ export declare function getProcedureCategory(categoryName: ProcedureCategoryName): CodeableConcept;
12
+ //# sourceMappingURL=procedure-category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure-category.d.ts","sourceRoot":"","sources":["../../../src/medical/fhir/procedure-category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,YACnC,iCAAiC,EACjC,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,CAClB,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAUhF,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,GAAG,eAAe,CAUzF"}