@centricare/contract 0.0.0-stage → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +119 -2
  2. package/dist/commons/address.d.ts +35 -0
  3. package/dist/commons/address.d.ts.map +1 -0
  4. package/dist/commons/address.js +11 -0
  5. package/dist/commons/address.js.map +1 -0
  6. package/dist/commons/api-response.d.ts +70 -0
  7. package/dist/commons/api-response.d.ts.map +1 -0
  8. package/dist/commons/api-response.js +49 -0
  9. package/dist/commons/api-response.js.map +1 -0
  10. package/dist/commons/coded-concept.d.ts +16 -0
  11. package/dist/commons/coded-concept.d.ts.map +1 -0
  12. package/dist/commons/coded-concept.js +20 -0
  13. package/dist/commons/coded-concept.js.map +1 -0
  14. package/dist/commons/demographic.d.ts +29 -0
  15. package/dist/commons/demographic.d.ts.map +1 -0
  16. package/dist/commons/demographic.js +11 -0
  17. package/dist/commons/demographic.js.map +1 -0
  18. package/dist/commons/index.d.ts +12 -0
  19. package/dist/commons/index.d.ts.map +1 -0
  20. package/dist/commons/index.js +12 -0
  21. package/dist/commons/index.js.map +1 -0
  22. package/dist/commons/object-id.d.ts +8 -0
  23. package/dist/commons/object-id.d.ts.map +1 -0
  24. package/dist/commons/object-id.js +11 -0
  25. package/dist/commons/object-id.js.map +1 -0
  26. package/dist/commons/setting-option.d.ts +45 -0
  27. package/dist/commons/setting-option.d.ts.map +1 -0
  28. package/dist/commons/setting-option.js +27 -0
  29. package/dist/commons/setting-option.js.map +1 -0
  30. package/dist/commons/timestamp.d.ts +7 -0
  31. package/dist/commons/timestamp.d.ts.map +1 -0
  32. package/dist/commons/timestamp.js +9 -0
  33. package/dist/commons/timestamp.js.map +1 -0
  34. package/dist/index.d.ts +7 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +7 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/models/assignment/assignment-minimal.schema.d.ts +18 -0
  39. package/dist/models/assignment/assignment-minimal.schema.d.ts.map +1 -0
  40. package/dist/models/assignment/assignment-minimal.schema.js +13 -0
  41. package/dist/models/assignment/assignment-minimal.schema.js.map +1 -0
  42. package/dist/models/assignment/assignment-partial.schema.d.ts +18 -0
  43. package/dist/models/assignment/assignment-partial.schema.d.ts.map +1 -0
  44. package/dist/models/assignment/assignment-partial.schema.js +6 -0
  45. package/dist/models/assignment/assignment-partial.schema.js.map +1 -0
  46. package/dist/models/assignment/assignment.schema.d.ts +84 -0
  47. package/dist/models/assignment/assignment.schema.d.ts.map +1 -0
  48. package/dist/models/assignment/assignment.schema.js +27 -0
  49. package/dist/models/assignment/assignment.schema.js.map +1 -0
  50. package/dist/models/assignment/index.d.ts +4 -0
  51. package/dist/models/assignment/index.d.ts.map +1 -0
  52. package/dist/models/assignment/index.js +4 -0
  53. package/dist/models/assignment/index.js.map +1 -0
  54. package/dist/models/department/department-minimal.schema.d.ts +17 -0
  55. package/dist/models/department/department-minimal.schema.d.ts.map +1 -0
  56. package/dist/models/department/department-minimal.schema.js +13 -0
  57. package/dist/models/department/department-minimal.schema.js.map +1 -0
  58. package/dist/models/department/department-partial.schema.d.ts +17 -0
  59. package/dist/models/department/department-partial.schema.d.ts.map +1 -0
  60. package/dist/models/department/department-partial.schema.js +6 -0
  61. package/dist/models/department/department-partial.schema.js.map +1 -0
  62. package/dist/models/department/department.schema.d.ts +83 -0
  63. package/dist/models/department/department.schema.d.ts.map +1 -0
  64. package/dist/models/department/department.schema.js +20 -0
  65. package/dist/models/department/department.schema.js.map +1 -0
  66. package/dist/models/department/index.d.ts +4 -0
  67. package/dist/models/department/index.d.ts.map +1 -0
  68. package/dist/models/department/index.js +4 -0
  69. package/dist/models/department/index.js.map +1 -0
  70. package/dist/models/facility/facility-minimal.schema.d.ts +19 -0
  71. package/dist/models/facility/facility-minimal.schema.d.ts.map +1 -0
  72. package/dist/models/facility/facility-minimal.schema.js +10 -0
  73. package/dist/models/facility/facility-minimal.schema.js.map +1 -0
  74. package/dist/models/facility/facility-partial.schema.d.ts +19 -0
  75. package/dist/models/facility/facility-partial.schema.d.ts.map +1 -0
  76. package/dist/models/facility/facility-partial.schema.js +6 -0
  77. package/dist/models/facility/facility-partial.schema.js.map +1 -0
  78. package/dist/models/facility/facility-settings.schema.d.ts +16 -0
  79. package/dist/models/facility/facility-settings.schema.d.ts.map +1 -0
  80. package/dist/models/facility/facility-settings.schema.js +12 -0
  81. package/dist/models/facility/facility-settings.schema.js.map +1 -0
  82. package/dist/models/facility/facility.schema.d.ts +82 -0
  83. package/dist/models/facility/facility.schema.d.ts.map +1 -0
  84. package/dist/models/facility/facility.schema.js +23 -0
  85. package/dist/models/facility/facility.schema.js.map +1 -0
  86. package/dist/models/facility/index.d.ts +5 -0
  87. package/dist/models/facility/index.d.ts.map +1 -0
  88. package/dist/models/facility/index.js +5 -0
  89. package/dist/models/facility/index.js.map +1 -0
  90. package/dist/models/index.d.ts +23 -0
  91. package/dist/models/index.d.ts.map +1 -0
  92. package/dist/models/index.js +23 -0
  93. package/dist/models/index.js.map +1 -0
  94. package/dist/models/ksm/index.d.ts +4 -0
  95. package/dist/models/ksm/index.d.ts.map +1 -0
  96. package/dist/models/ksm/index.js +4 -0
  97. package/dist/models/ksm/index.js.map +1 -0
  98. package/dist/models/ksm/ksm-minimal.schema.d.ts +12 -0
  99. package/dist/models/ksm/ksm-minimal.schema.d.ts.map +1 -0
  100. package/dist/models/ksm/ksm-minimal.schema.js +13 -0
  101. package/dist/models/ksm/ksm-minimal.schema.js.map +1 -0
  102. package/dist/models/ksm/ksm-partial.schema.d.ts +12 -0
  103. package/dist/models/ksm/ksm-partial.schema.d.ts.map +1 -0
  104. package/dist/models/ksm/ksm-partial.schema.js +6 -0
  105. package/dist/models/ksm/ksm-partial.schema.js.map +1 -0
  106. package/dist/models/ksm/ksm.schema.d.ts +78 -0
  107. package/dist/models/ksm/ksm.schema.d.ts.map +1 -0
  108. package/dist/models/ksm/ksm.schema.js +23 -0
  109. package/dist/models/ksm/ksm.schema.js.map +1 -0
  110. package/dist/models/location/index.d.ts +5 -0
  111. package/dist/models/location/index.d.ts.map +1 -0
  112. package/dist/models/location/index.js +5 -0
  113. package/dist/models/location/index.js.map +1 -0
  114. package/dist/models/location/location-minimal.schema.d.ts +33 -0
  115. package/dist/models/location/location-minimal.schema.d.ts.map +1 -0
  116. package/dist/models/location/location-minimal.schema.js +12 -0
  117. package/dist/models/location/location-minimal.schema.js.map +1 -0
  118. package/dist/models/location/location-partial.schema.d.ts +33 -0
  119. package/dist/models/location/location-partial.schema.d.ts.map +1 -0
  120. package/dist/models/location/location-partial.schema.js +6 -0
  121. package/dist/models/location/location-partial.schema.js.map +1 -0
  122. package/dist/models/location/location-settings.schema.d.ts +8 -0
  123. package/dist/models/location/location-settings.schema.d.ts.map +1 -0
  124. package/dist/models/location/location-settings.schema.js +7 -0
  125. package/dist/models/location/location-settings.schema.js.map +1 -0
  126. package/dist/models/location/location.schema.d.ts +98 -0
  127. package/dist/models/location/location.schema.d.ts.map +1 -0
  128. package/dist/models/location/location.schema.js +30 -0
  129. package/dist/models/location/location.schema.js.map +1 -0
  130. package/dist/models/member/index.d.ts +4 -0
  131. package/dist/models/member/index.d.ts.map +1 -0
  132. package/dist/models/member/index.js +4 -0
  133. package/dist/models/member/index.js.map +1 -0
  134. package/dist/models/member/member-minimal.schema.d.ts +11 -0
  135. package/dist/models/member/member-minimal.schema.d.ts.map +1 -0
  136. package/dist/models/member/member-minimal.schema.js +9 -0
  137. package/dist/models/member/member-minimal.schema.js.map +1 -0
  138. package/dist/models/member/member-partial.schema.d.ts +11 -0
  139. package/dist/models/member/member-partial.schema.d.ts.map +1 -0
  140. package/dist/models/member/member-partial.schema.js +6 -0
  141. package/dist/models/member/member-partial.schema.js.map +1 -0
  142. package/dist/models/member/member.schema.d.ts +73 -0
  143. package/dist/models/member/member.schema.d.ts.map +1 -0
  144. package/dist/models/member/member.schema.js +16 -0
  145. package/dist/models/member/member.schema.js.map +1 -0
  146. package/dist/models/organization/index.d.ts +5 -0
  147. package/dist/models/organization/index.d.ts.map +1 -0
  148. package/dist/models/organization/index.js +5 -0
  149. package/dist/models/organization/index.js.map +1 -0
  150. package/dist/models/organization/organization-minimal.schema.d.ts +22 -0
  151. package/dist/models/organization/organization-minimal.schema.d.ts.map +1 -0
  152. package/dist/models/organization/organization-minimal.schema.js +9 -0
  153. package/dist/models/organization/organization-minimal.schema.js.map +1 -0
  154. package/dist/models/organization/organization-partial.schema.d.ts +22 -0
  155. package/dist/models/organization/organization-partial.schema.d.ts.map +1 -0
  156. package/dist/models/organization/organization-partial.schema.js +6 -0
  157. package/dist/models/organization/organization-partial.schema.js.map +1 -0
  158. package/dist/models/organization/organization-settings.schema.d.ts +8 -0
  159. package/dist/models/organization/organization-settings.schema.d.ts.map +1 -0
  160. package/dist/models/organization/organization-settings.schema.js +7 -0
  161. package/dist/models/organization/organization-settings.schema.js.map +1 -0
  162. package/dist/models/organization/organization.schema.d.ts +84 -0
  163. package/dist/models/organization/organization.schema.d.ts.map +1 -0
  164. package/dist/models/organization/organization.schema.js +24 -0
  165. package/dist/models/organization/organization.schema.js.map +1 -0
  166. package/dist/models/patient/index.d.ts +4 -0
  167. package/dist/models/patient/index.d.ts.map +1 -0
  168. package/dist/models/patient/index.js +4 -0
  169. package/dist/models/patient/index.js.map +1 -0
  170. package/dist/models/patient/patient-minimal.schema.d.ts +95 -0
  171. package/dist/models/patient/patient-minimal.schema.d.ts.map +1 -0
  172. package/dist/models/patient/patient-minimal.schema.js +13 -0
  173. package/dist/models/patient/patient-minimal.schema.js.map +1 -0
  174. package/dist/models/patient/patient-partial.schema.d.ts +95 -0
  175. package/dist/models/patient/patient-partial.schema.d.ts.map +1 -0
  176. package/dist/models/patient/patient-partial.schema.js +6 -0
  177. package/dist/models/patient/patient-partial.schema.js.map +1 -0
  178. package/dist/models/patient/patient.schema.d.ts +161 -0
  179. package/dist/models/patient/patient.schema.d.ts.map +1 -0
  180. package/dist/models/patient/patient.schema.js +35 -0
  181. package/dist/models/patient/patient.schema.js.map +1 -0
  182. package/dist/models/patient-additional/index.d.ts +4 -0
  183. package/dist/models/patient-additional/index.d.ts.map +1 -0
  184. package/dist/models/patient-additional/index.js +4 -0
  185. package/dist/models/patient-additional/index.js.map +1 -0
  186. package/dist/models/patient-additional/patient-additional-minimal.schema.d.ts +17 -0
  187. package/dist/models/patient-additional/patient-additional-minimal.schema.d.ts.map +1 -0
  188. package/dist/models/patient-additional/patient-additional-minimal.schema.js +13 -0
  189. package/dist/models/patient-additional/patient-additional-minimal.schema.js.map +1 -0
  190. package/dist/models/patient-additional/patient-additional-partial.schema.d.ts +17 -0
  191. package/dist/models/patient-additional/patient-additional-partial.schema.d.ts.map +1 -0
  192. package/dist/models/patient-additional/patient-additional-partial.schema.js +6 -0
  193. package/dist/models/patient-additional/patient-additional-partial.schema.js.map +1 -0
  194. package/dist/models/patient-additional/patient-additional.schema.d.ts +83 -0
  195. package/dist/models/patient-additional/patient-additional.schema.d.ts.map +1 -0
  196. package/dist/models/patient-additional/patient-additional.schema.js +21 -0
  197. package/dist/models/patient-additional/patient-additional.schema.js.map +1 -0
  198. package/dist/models/payer/index.d.ts +5 -0
  199. package/dist/models/payer/index.d.ts.map +1 -0
  200. package/dist/models/payer/index.js +5 -0
  201. package/dist/models/payer/index.js.map +1 -0
  202. package/dist/models/payer/payer-minimal.schema.d.ts +67 -0
  203. package/dist/models/payer/payer-minimal.schema.d.ts.map +1 -0
  204. package/dist/models/payer/payer-minimal.schema.js +13 -0
  205. package/dist/models/payer/payer-minimal.schema.js.map +1 -0
  206. package/dist/models/payer/payer-partial.schema.d.ts +67 -0
  207. package/dist/models/payer/payer-partial.schema.d.ts.map +1 -0
  208. package/dist/models/payer/payer-partial.schema.js +6 -0
  209. package/dist/models/payer/payer-partial.schema.js.map +1 -0
  210. package/dist/models/payer/payer-settings.schema.d.ts +27 -0
  211. package/dist/models/payer/payer-settings.schema.d.ts.map +1 -0
  212. package/dist/models/payer/payer-settings.schema.js +20 -0
  213. package/dist/models/payer/payer-settings.schema.js.map +1 -0
  214. package/dist/models/payer/payer.schema.d.ts +133 -0
  215. package/dist/models/payer/payer.schema.d.ts.map +1 -0
  216. package/dist/models/payer/payer.schema.js +47 -0
  217. package/dist/models/payer/payer.schema.js.map +1 -0
  218. package/dist/models/practitioner-schedule/index.d.ts +4 -0
  219. package/dist/models/practitioner-schedule/index.d.ts.map +1 -0
  220. package/dist/models/practitioner-schedule/index.js +4 -0
  221. package/dist/models/practitioner-schedule/index.js.map +1 -0
  222. package/dist/models/practitioner-schedule/practitioner-schedule-minimal.schema.d.ts +20 -0
  223. package/dist/models/practitioner-schedule/practitioner-schedule-minimal.schema.d.ts.map +1 -0
  224. package/dist/models/practitioner-schedule/practitioner-schedule-minimal.schema.js +13 -0
  225. package/dist/models/practitioner-schedule/practitioner-schedule-minimal.schema.js.map +1 -0
  226. package/dist/models/practitioner-schedule/practitioner-schedule-partial.schema.d.ts +20 -0
  227. package/dist/models/practitioner-schedule/practitioner-schedule-partial.schema.d.ts.map +1 -0
  228. package/dist/models/practitioner-schedule/practitioner-schedule-partial.schema.js +6 -0
  229. package/dist/models/practitioner-schedule/practitioner-schedule-partial.schema.js.map +1 -0
  230. package/dist/models/practitioner-schedule/practitioner-schedule.schema.d.ts +86 -0
  231. package/dist/models/practitioner-schedule/practitioner-schedule.schema.d.ts.map +1 -0
  232. package/dist/models/practitioner-schedule/practitioner-schedule.schema.js +26 -0
  233. package/dist/models/practitioner-schedule/practitioner-schedule.schema.js.map +1 -0
  234. package/dist/models/practitioner-session/index.d.ts +4 -0
  235. package/dist/models/practitioner-session/index.d.ts.map +1 -0
  236. package/dist/models/practitioner-session/index.js +4 -0
  237. package/dist/models/practitioner-session/index.js.map +1 -0
  238. package/dist/models/practitioner-session/practitioner-session-minimal.schema.d.ts +14 -0
  239. package/dist/models/practitioner-session/practitioner-session-minimal.schema.d.ts.map +1 -0
  240. package/dist/models/practitioner-session/practitioner-session-minimal.schema.js +13 -0
  241. package/dist/models/practitioner-session/practitioner-session-minimal.schema.js.map +1 -0
  242. package/dist/models/practitioner-session/practitioner-session-partial.schema.d.ts +14 -0
  243. package/dist/models/practitioner-session/practitioner-session-partial.schema.d.ts.map +1 -0
  244. package/dist/models/practitioner-session/practitioner-session-partial.schema.js +6 -0
  245. package/dist/models/practitioner-session/practitioner-session-partial.schema.js.map +1 -0
  246. package/dist/models/practitioner-session/practitioner-session.schema.d.ts +80 -0
  247. package/dist/models/practitioner-session/practitioner-session.schema.d.ts.map +1 -0
  248. package/dist/models/practitioner-session/practitioner-session.schema.js +26 -0
  249. package/dist/models/practitioner-session/practitioner-session.schema.js.map +1 -0
  250. package/dist/models/queue/index.d.ts +5 -0
  251. package/dist/models/queue/index.d.ts.map +1 -0
  252. package/dist/models/queue/index.js +5 -0
  253. package/dist/models/queue/index.js.map +1 -0
  254. package/dist/models/queue/queue-minimal.schema.d.ts +31 -0
  255. package/dist/models/queue/queue-minimal.schema.d.ts.map +1 -0
  256. package/dist/models/queue/queue-minimal.schema.js +13 -0
  257. package/dist/models/queue/queue-minimal.schema.js.map +1 -0
  258. package/dist/models/queue/queue-partial.schema.d.ts +31 -0
  259. package/dist/models/queue/queue-partial.schema.d.ts.map +1 -0
  260. package/dist/models/queue/queue-partial.schema.js +6 -0
  261. package/dist/models/queue/queue-partial.schema.js.map +1 -0
  262. package/dist/models/queue/queue-settings.schema.d.ts +27 -0
  263. package/dist/models/queue/queue-settings.schema.d.ts.map +1 -0
  264. package/dist/models/queue/queue-settings.schema.js +22 -0
  265. package/dist/models/queue/queue-settings.schema.js.map +1 -0
  266. package/dist/models/queue/queue.schema.d.ts +97 -0
  267. package/dist/models/queue/queue.schema.d.ts.map +1 -0
  268. package/dist/models/queue/queue.schema.js +32 -0
  269. package/dist/models/queue/queue.schema.js.map +1 -0
  270. package/dist/models/queue-event-log/index.d.ts +4 -0
  271. package/dist/models/queue-event-log/index.d.ts.map +1 -0
  272. package/dist/models/queue-event-log/index.js +4 -0
  273. package/dist/models/queue-event-log/index.js.map +1 -0
  274. package/dist/models/queue-event-log/queue-event-log-minimal.schema.d.ts +18 -0
  275. package/dist/models/queue-event-log/queue-event-log-minimal.schema.d.ts.map +1 -0
  276. package/dist/models/queue-event-log/queue-event-log-minimal.schema.js +13 -0
  277. package/dist/models/queue-event-log/queue-event-log-minimal.schema.js.map +1 -0
  278. package/dist/models/queue-event-log/queue-event-log-partial.schema.d.ts +18 -0
  279. package/dist/models/queue-event-log/queue-event-log-partial.schema.d.ts.map +1 -0
  280. package/dist/models/queue-event-log/queue-event-log-partial.schema.js +6 -0
  281. package/dist/models/queue-event-log/queue-event-log-partial.schema.js.map +1 -0
  282. package/dist/models/queue-event-log/queue-event-log.schema.d.ts +84 -0
  283. package/dist/models/queue-event-log/queue-event-log.schema.d.ts.map +1 -0
  284. package/dist/models/queue-event-log/queue-event-log.schema.js +25 -0
  285. package/dist/models/queue-event-log/queue-event-log.schema.js.map +1 -0
  286. package/dist/models/queue-number/index.d.ts +5 -0
  287. package/dist/models/queue-number/index.d.ts.map +1 -0
  288. package/dist/models/queue-number/index.js +5 -0
  289. package/dist/models/queue-number/index.js.map +1 -0
  290. package/dist/models/queue-number/queue-number-minimal.schema.d.ts +21 -0
  291. package/dist/models/queue-number/queue-number-minimal.schema.d.ts.map +1 -0
  292. package/dist/models/queue-number/queue-number-minimal.schema.js +14 -0
  293. package/dist/models/queue-number/queue-number-minimal.schema.js.map +1 -0
  294. package/dist/models/queue-number/queue-number-partial.schema.d.ts +21 -0
  295. package/dist/models/queue-number/queue-number-partial.schema.d.ts.map +1 -0
  296. package/dist/models/queue-number/queue-number-partial.schema.js +6 -0
  297. package/dist/models/queue-number/queue-number-partial.schema.js.map +1 -0
  298. package/dist/models/queue-number/queue-number-settings.schema.d.ts +27 -0
  299. package/dist/models/queue-number/queue-number-settings.schema.d.ts.map +1 -0
  300. package/dist/models/queue-number/queue-number-settings.schema.js +22 -0
  301. package/dist/models/queue-number/queue-number-settings.schema.js.map +1 -0
  302. package/dist/models/queue-number/queue-number.schema.d.ts +88 -0
  303. package/dist/models/queue-number/queue-number.schema.d.ts.map +1 -0
  304. package/dist/models/queue-number/queue-number.schema.js +42 -0
  305. package/dist/models/queue-number/queue-number.schema.js.map +1 -0
  306. package/dist/models/settings/index.d.ts +4 -0
  307. package/dist/models/settings/index.d.ts.map +1 -0
  308. package/dist/models/settings/index.js +4 -0
  309. package/dist/models/settings/index.js.map +1 -0
  310. package/dist/models/settings/settings-minimal.schema.d.ts +26 -0
  311. package/dist/models/settings/settings-minimal.schema.d.ts.map +1 -0
  312. package/dist/models/settings/settings-minimal.schema.js +11 -0
  313. package/dist/models/settings/settings-minimal.schema.js.map +1 -0
  314. package/dist/models/settings/settings-partial.schema.d.ts +26 -0
  315. package/dist/models/settings/settings-partial.schema.d.ts.map +1 -0
  316. package/dist/models/settings/settings-partial.schema.js +6 -0
  317. package/dist/models/settings/settings-partial.schema.js.map +1 -0
  318. package/dist/models/settings/settings.schema.d.ts +96 -0
  319. package/dist/models/settings/settings.schema.d.ts.map +1 -0
  320. package/dist/models/settings/settings.schema.js +25 -0
  321. package/dist/models/settings/settings.schema.js.map +1 -0
  322. package/dist/models/staff/index.d.ts +4 -0
  323. package/dist/models/staff/index.d.ts.map +1 -0
  324. package/dist/models/staff/index.js +4 -0
  325. package/dist/models/staff/index.js.map +1 -0
  326. package/dist/models/staff/staff-minimal.schema.d.ts +27 -0
  327. package/dist/models/staff/staff-minimal.schema.d.ts.map +1 -0
  328. package/dist/models/staff/staff-minimal.schema.js +13 -0
  329. package/dist/models/staff/staff-minimal.schema.js.map +1 -0
  330. package/dist/models/staff/staff-partial.schema.d.ts +27 -0
  331. package/dist/models/staff/staff-partial.schema.d.ts.map +1 -0
  332. package/dist/models/staff/staff-partial.schema.js +6 -0
  333. package/dist/models/staff/staff-partial.schema.js.map +1 -0
  334. package/dist/models/staff/staff.schema.d.ts +93 -0
  335. package/dist/models/staff/staff.schema.d.ts.map +1 -0
  336. package/dist/models/staff/staff.schema.js +25 -0
  337. package/dist/models/staff/staff.schema.js.map +1 -0
  338. package/dist/models/unit/index.d.ts +4 -0
  339. package/dist/models/unit/index.d.ts.map +1 -0
  340. package/dist/models/unit/index.js +4 -0
  341. package/dist/models/unit/index.js.map +1 -0
  342. package/dist/models/unit/unit-minimal.schema.d.ts +27 -0
  343. package/dist/models/unit/unit-minimal.schema.d.ts.map +1 -0
  344. package/dist/models/unit/unit-minimal.schema.js +13 -0
  345. package/dist/models/unit/unit-minimal.schema.js.map +1 -0
  346. package/dist/models/unit/unit-partial.schema.d.ts +27 -0
  347. package/dist/models/unit/unit-partial.schema.d.ts.map +1 -0
  348. package/dist/models/unit/unit-partial.schema.js +6 -0
  349. package/dist/models/unit/unit-partial.schema.js.map +1 -0
  350. package/dist/models/unit/unit.schema.d.ts +93 -0
  351. package/dist/models/unit/unit.schema.d.ts.map +1 -0
  352. package/dist/models/unit/unit.schema.js +27 -0
  353. package/dist/models/unit/unit.schema.js.map +1 -0
  354. package/dist/models/user/index.d.ts +5 -0
  355. package/dist/models/user/index.d.ts.map +1 -0
  356. package/dist/models/user/index.js +5 -0
  357. package/dist/models/user/index.js.map +1 -0
  358. package/dist/models/user/user-minimal.schema.d.ts +65 -0
  359. package/dist/models/user/user-minimal.schema.d.ts.map +1 -0
  360. package/dist/models/user/user-minimal.schema.js +10 -0
  361. package/dist/models/user/user-minimal.schema.js.map +1 -0
  362. package/dist/models/user/user-partial.schema.d.ts +65 -0
  363. package/dist/models/user/user-partial.schema.d.ts.map +1 -0
  364. package/dist/models/user/user-partial.schema.js +6 -0
  365. package/dist/models/user/user-partial.schema.js.map +1 -0
  366. package/dist/models/user/user-settings.schema.d.ts +8 -0
  367. package/dist/models/user/user-settings.schema.d.ts.map +1 -0
  368. package/dist/models/user/user-settings.schema.js +7 -0
  369. package/dist/models/user/user-settings.schema.js.map +1 -0
  370. package/dist/models/user/user.schema.d.ts +134 -0
  371. package/dist/models/user/user.schema.d.ts.map +1 -0
  372. package/dist/models/user/user.schema.js +39 -0
  373. package/dist/models/user/user.schema.js.map +1 -0
  374. package/package.json +59 -4
package/README.md CHANGED
@@ -1,3 +1,120 @@
1
- # Temporary Holding Version
1
+ # @centricare/contract
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Standardized Zod schemas used across CentriCare projects. This package provides shared validation schemas and inferred TypeScript types for data entities (e.g. User, Settings) and common primitives (e.g. CodedConcept, timestamp, API response envelope), ensuring consistent data shapes and validation rules across all CentriCare services.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @centricare/contract
9
+ # or
10
+ yarn add @centricare/contract
11
+ # or
12
+ pnpm add @centricare/contract
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ Import from the package root (all schemas):
18
+
19
+ ```ts
20
+ import { userSchema, User } from "@centricare/contract";
21
+
22
+ // Validate incoming data
23
+ const result = userSchema.safeParse(req.body);
24
+
25
+ if (!result.success) {
26
+ return res.status(400).json({ errors: result.error.flatten() });
27
+ }
28
+
29
+ const user: User = result.data;
30
+ ```
31
+
32
+ Import from a specific model subpath:
33
+
34
+ ```ts
35
+ import { departmentSchema, Department } from "@centricare/contract/department";
36
+ ```
37
+
38
+ ## Folder structure
39
+
40
+ ```
41
+ src/
42
+ ├── index.ts # Package root barrel export (@centricare/contract)
43
+ ├── commons/ # Shared/primitive schemas (one file per schema)
44
+ │ ├── index.ts
45
+ │ ├── timestamp.ts
46
+ │ ├── api-response.ts
47
+ │ ├── setting-option.ts
48
+ │ ├── coded-concept.ts
49
+ │ ├── address.ts
50
+ │ └── demographic.ts
51
+ └── models/ # Data entity schemas (one folder per model)
52
+ ├── index.ts
53
+ ├── user/
54
+ │ ├── index.ts
55
+ │ ├── user.schema.ts # Full schema + User type
56
+ │ ├── user-minimal.schema.ts # Omit server-generated fields + UserMinimal type
57
+ │ ├── user-partial.schema.ts # Based on minimal, all optional + UserPartial type
58
+ │ ├── user-settings.schema.ts # Settings schema (if model has settings)
59
+ │ └── ... (other schemas as needed)
60
+ ├── settings/
61
+ │ ├── index.ts
62
+ │ ├── settings.schema.ts
63
+ │ ├── settings-minimal.schema.ts
64
+ │ ├── settings-partial.schema.ts
65
+ │ └── ...
66
+ └── ... (one folder per model)
67
+ ```
68
+
69
+ Add new shared schemas under `src/commons/` (one file each) and new entity models under `src/models/<model>/`. Each model folder contains an `index.ts` barrel and the following schema files:
70
+ - `<model>.schema.ts` — Full schema definition
71
+ - `<model>-minimal.schema.ts` — Omits server-generated fields
72
+ - `<model>-partial.schema.ts` — Based on minimal, all fields optional
73
+ - `<model>-settings.schema.ts` — Settings schema (only if model has settings)
74
+
75
+ Re-export model folders from `src/models/index.ts`.
76
+
77
+ ## Development
78
+
79
+ ```bash
80
+ # Install dependencies
81
+ npm install
82
+
83
+ # Build to dist/
84
+ npm run build
85
+
86
+ # Watch for changes during development
87
+ npm run dev
88
+ ```
89
+
90
+ ## Contributing
91
+
92
+ ### Using an AI agent
93
+
94
+ If you are an AI agent contributing to this package, read [`AGENTS.md`](./AGENTS.md) first. It defines the project structure, code conventions, folder layout, Zod error message rules (`message` not `error`), schema/type pairing, create/update patterns, and import guidelines. Follow those conventions strictly so all schemas remain consistent.
95
+
96
+ ### Without an AI agent
97
+
98
+ 1. **Create a new model folder**
99
+ - Shared/primitive schema → `src/commons/<name>.ts` (one file per schema, kebab-case)
100
+ - Data entity model → `src/models/<model>/` with the following files:
101
+ - `<model>.schema.ts` — Full schema definition
102
+ - `<model>-minimal.schema.ts` — Omits server-generated fields
103
+ - `<model>-partial.schema.ts` — Based on minimal, all fields optional
104
+ - `<model>-settings.schema.ts` — Settings schema (if model has settings)
105
+ - `index.ts` — Barrel export
106
+
107
+ 2. **Follow the code conventions**
108
+ - Every Zod schema must export an inferred TypeScript type: `export type X = z.infer<typeof xSchema>;`
109
+ - Use `message` (not `error`) for custom Zod error messages
110
+ - Use `z.coerce.number()` for query-string parameters
111
+ - Omit auto-generated fields (`_id`, `id`, `created_at`, `updated_at`, `updated_by`, `schema_version`) from minimal schemas
112
+ - Use `.nullable()` for fields that can be `null` but must be present; use `.optional()` for fields that may be absent
113
+
114
+ 3. **Register the schema**
115
+ - Add `export * from "./<model>";` to `src/models/index.ts`
116
+ - The root `src/index.ts` re-exports `./commons` and `./models`, so no change is needed there
117
+
118
+ 4. **Build and verify**
119
+ - Run `npm run build` to compile TypeScript to `dist/`
120
+ - Add validation examples to `EXAMPLES.md` for new schemas
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ export declare const addressSchema: z.ZodObject<{
3
+ street: z.ZodString;
4
+ subdistrict: z.ZodObject<{
5
+ system: z.ZodString;
6
+ value: z.ZodString;
7
+ display: z.ZodOptional<z.ZodString>;
8
+ valid: z.ZodOptional<z.ZodString>;
9
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ }, z.core.$strip>;
11
+ district: z.ZodObject<{
12
+ system: z.ZodString;
13
+ value: z.ZodString;
14
+ display: z.ZodOptional<z.ZodString>;
15
+ valid: z.ZodOptional<z.ZodString>;
16
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ }, z.core.$strip>;
18
+ city: z.ZodObject<{
19
+ system: z.ZodString;
20
+ value: z.ZodString;
21
+ display: z.ZodOptional<z.ZodString>;
22
+ valid: z.ZodOptional<z.ZodString>;
23
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ province: z.ZodObject<{
26
+ system: z.ZodString;
27
+ value: z.ZodString;
28
+ display: z.ZodOptional<z.ZodString>;
29
+ valid: z.ZodOptional<z.ZodString>;
30
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ }, z.core.$strip>;
32
+ postal_code: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>;
34
+ export type Address = z.infer<typeof addressSchema>;
35
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/commons/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOxB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ import { codedConceptSchema } from "./coded-concept";
3
+ export const addressSchema = z.object({
4
+ street: z.string().min(1, { message: "street is required" }),
5
+ subdistrict: codedConceptSchema,
6
+ district: codedConceptSchema,
7
+ city: codedConceptSchema,
8
+ province: codedConceptSchema,
9
+ postal_code: z.string().optional(),
10
+ });
11
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/commons/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC5D,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Pagination metadata included in every standardized API response.
4
+ */
5
+ export declare const metadataSchema: z.ZodObject<{
6
+ total: z.ZodNumber;
7
+ offset: z.ZodNumber;
8
+ limit: z.ZodNumber;
9
+ next: z.ZodNullable<z.ZodString>;
10
+ previous: z.ZodNullable<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ export type Metadata = z.infer<typeof metadataSchema>;
13
+ /**
14
+ * Standardized API response envelope used by CentriCare services.
15
+ * Based on /Docs/API/1. Standardized Response.md
16
+ *
17
+ * {
18
+ * "success": true,
19
+ * "message": "Successfully do something",
20
+ * "status_code": "200",
21
+ * "data": [],
22
+ * "metadata": {
23
+ * "total": 1,
24
+ * "offset": 0,
25
+ * "limit": 1,
26
+ * "next": null,
27
+ * "previous": null
28
+ * }
29
+ * }
30
+ */
31
+ export declare const apiResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
32
+ success: z.ZodBoolean;
33
+ message: z.ZodString;
34
+ status_code: z.ZodString;
35
+ data: z.ZodArray<T>;
36
+ metadata: z.ZodObject<{
37
+ total: z.ZodNumber;
38
+ offset: z.ZodNumber;
39
+ limit: z.ZodNumber;
40
+ next: z.ZodNullable<z.ZodString>;
41
+ previous: z.ZodNullable<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ }, z.core.$strip>;
44
+ export type ApiResponse<T> = {
45
+ success: boolean;
46
+ message: string;
47
+ status_code: string;
48
+ data: T[];
49
+ metadata: Metadata;
50
+ };
51
+ /**
52
+ * Schema for a single-resource API response.
53
+ * For single-resource requests, metadata.total is always 1,
54
+ * offset and limit default to 0, and next/previous are null.
55
+ */
56
+ export declare const singleResourceResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
57
+ success: z.ZodBoolean;
58
+ message: z.ZodString;
59
+ status_code: z.ZodString;
60
+ data: z.ZodArray<T>;
61
+ metadata: z.ZodObject<{
62
+ total: z.ZodNumber;
63
+ offset: z.ZodNumber;
64
+ limit: z.ZodNumber;
65
+ next: z.ZodNullable<z.ZodString>;
66
+ previous: z.ZodNullable<z.ZodString>;
67
+ }, z.core.$strip>;
68
+ }, z.core.$strip>;
69
+ export type SingleResourceResponse<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof singleResourceResponseSchema<T>>>;
70
+ //# sourceMappingURL=api-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-response.d.ts","sourceRoot":"","sources":["../../src/commons/api-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;iBAMzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC;;;;;;;;;;;;iBAOnE,CAAC;AAEL,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EACjE,YAAY,CAAC;;;;;;;;;;;;iBAaZ,CAAC;AAEJ,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAClE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Pagination metadata included in every standardized API response.
4
+ */
5
+ export const metadataSchema = z.object({
6
+ total: z.number().int().nonnegative(),
7
+ offset: z.number().int().nonnegative(),
8
+ limit: z.number().int().nonnegative(),
9
+ next: z.string().nullable(),
10
+ previous: z.string().nullable(),
11
+ });
12
+ /**
13
+ * Standardized API response envelope used by CentriCare services.
14
+ * Based on /Docs/API/1. Standardized Response.md
15
+ *
16
+ * {
17
+ * "success": true,
18
+ * "message": "Successfully do something",
19
+ * "status_code": "200",
20
+ * "data": [],
21
+ * "metadata": {
22
+ * "total": 1,
23
+ * "offset": 0,
24
+ * "limit": 1,
25
+ * "next": null,
26
+ * "previous": null
27
+ * }
28
+ * }
29
+ */
30
+ export const apiResponseSchema = (dataSchema) => z.object({
31
+ success: z.boolean(),
32
+ message: z.string(),
33
+ status_code: z.string(),
34
+ data: z.array(dataSchema),
35
+ metadata: metadataSchema,
36
+ });
37
+ /**
38
+ * Schema for a single-resource API response.
39
+ * For single-resource requests, metadata.total is always 1,
40
+ * offset and limit default to 0, and next/previous are null.
41
+ */
42
+ export const singleResourceResponseSchema = (dataSchema) => apiResponseSchema(dataSchema).refine((data) => data.metadata.total === 1 &&
43
+ data.metadata.offset === 0 &&
44
+ data.metadata.limit === 0 &&
45
+ data.metadata.next === null &&
46
+ data.metadata.previous === null, {
47
+ message: "Single resource response metadata must have total=1, offset=0, limit=0, next=null, previous=null",
48
+ });
49
+ //# sourceMappingURL=api-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-response.js","sourceRoot":"","sources":["../../src/commons/api-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAyB,UAAa,EAAE,EAAE,CACzE,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAUL;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAa,EACb,EAAE,CACF,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;IAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,EACjC;IACE,OAAO,EACL,kGAAkG;CACrG,CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * CodedConcept - A data type for coded system values based on a defined code system.
4
+ * Used across CentriCare models for statuses, identifiers, contacts, demographic fields, etc.
5
+ *
6
+ * Accepts only codes and code systems registered in the CentriCare Registry.
7
+ */
8
+ export declare const codedConceptSchema: z.ZodObject<{
9
+ system: z.ZodString;
10
+ value: z.ZodString;
11
+ display: z.ZodOptional<z.ZodString>;
12
+ valid: z.ZodOptional<z.ZodString>;
13
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ }, z.core.$strip>;
15
+ export type CodedConcept = z.infer<typeof codedConceptSchema>;
16
+ //# sourceMappingURL=coded-concept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coded-concept.d.ts","sourceRoot":"","sources":["../../src/commons/coded-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ import { timestampSchema } from "./timestamp";
3
+ /**
4
+ * CodedConcept - A data type for coded system values based on a defined code system.
5
+ * Used across CentriCare models for statuses, identifiers, contacts, demographic fields, etc.
6
+ *
7
+ * Accepts only codes and code systems registered in the CentriCare Registry.
8
+ */
9
+ export const codedConceptSchema = z.object({
10
+ system: z.string().min(1, { message: "system is required" }),
11
+ value: z.string().min(1, { message: "value is required" }),
12
+ display: z.string().optional(),
13
+ valid: z
14
+ .string()
15
+ .datetime({ offset: true })
16
+ .optional()
17
+ .refine((val) => !val || timestampSchema.safeParse(val).success, { message: "valid must be a valid ISO 8601 datetime if provided" }),
18
+ tags: z.array(z.string()).optional(),
19
+ });
20
+ //# sourceMappingURL=coded-concept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coded-concept.js","sourceRoot":"","sources":["../../src/commons/coded-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1B,QAAQ,EAAE;SACV,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EACvD,EAAE,OAAO,EAAE,qDAAqD,EAAE,CACnE;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import z from "zod";
2
+ export declare const demographicSchema: z.ZodObject<{
3
+ sex: z.ZodObject<{
4
+ system: z.ZodString;
5
+ value: z.ZodString;
6
+ display: z.ZodOptional<z.ZodString>;
7
+ valid: z.ZodOptional<z.ZodString>;
8
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
+ }, z.core.$strip>;
10
+ religion: z.ZodObject<{
11
+ system: z.ZodString;
12
+ value: z.ZodString;
13
+ display: z.ZodOptional<z.ZodString>;
14
+ valid: z.ZodOptional<z.ZodString>;
15
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ }, z.core.$strip>;
17
+ ethnicity: z.ZodOptional<z.ZodString>;
18
+ marital_status: z.ZodObject<{
19
+ system: z.ZodString;
20
+ value: z.ZodString;
21
+ display: z.ZodOptional<z.ZodString>;
22
+ valid: z.ZodOptional<z.ZodString>;
23
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ date_of_birth: z.ZodString;
26
+ place_of_birth: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ export type Demographic = z.infer<typeof demographicSchema>;
29
+ //# sourceMappingURL=demographic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demographic.d.ts","sourceRoot":"","sources":["../../src/commons/demographic.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import z from "zod";
2
+ import { codedConceptSchema } from "./coded-concept";
3
+ export const demographicSchema = z.object({
4
+ sex: codedConceptSchema,
5
+ religion: codedConceptSchema,
6
+ ethnicity: z.string().optional(),
7
+ marital_status: codedConceptSchema,
8
+ date_of_birth: z.string(),
9
+ place_of_birth: z.string().optional(),
10
+ });
11
+ //# sourceMappingURL=demographic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demographic.js","sourceRoot":"","sources":["../../src/commons/demographic.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,kBAAkB;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared/primitive schemas used across CentriCare projects.
3
+ * Each schema lives in its own file.
4
+ */
5
+ export * from "./timestamp";
6
+ export * from "./api-response";
7
+ export * from "./setting-option";
8
+ export * from "./coded-concept";
9
+ export * from "./demographic";
10
+ export * from "./address";
11
+ export * from "./object-id";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commons/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared/primitive schemas used across CentriCare projects.
3
+ * Each schema lives in its own file.
4
+ */
5
+ export * from "./timestamp";
6
+ export * from "./api-response";
7
+ export * from "./setting-option";
8
+ export * from "./coded-concept";
9
+ export * from "./demographic";
10
+ export * from "./address";
11
+ export * from "./object-id";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commons/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * ObjectId schema for MongoDB document IDs.
4
+ * Validates a 24-character hexadecimal string (MongoDB ObjectId format).
5
+ */
6
+ export declare const objectIdSchema: z.ZodString;
7
+ export type ObjectId = string;
8
+ //# sourceMappingURL=object-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-id.d.ts","sourceRoot":"","sources":["../../src/commons/object-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,cAAc,aAIzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * ObjectId schema for MongoDB document IDs.
4
+ * Validates a 24-character hexadecimal string (MongoDB ObjectId format).
5
+ */
6
+ export const objectIdSchema = z.string().length(24, {
7
+ message: "ObjectId must be a 24-character hexadecimal string",
8
+ }).regex(/^[0-9a-fA-F]{24}$/, {
9
+ message: "ObjectId must be a valid MongoDB ObjectId (24-character hex string)",
10
+ });
11
+ //# sourceMappingURL=object-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-id.js","sourceRoot":"","sources":["../../src/commons/object-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;IAClD,OAAO,EAAE,oDAAoD;CAC9D,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE;IAC5B,OAAO,EAAE,qEAAqE;CAC/E,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The type of a setting option value.
4
+ *
5
+ * Accepts "string", "number", "boolean", "date", or an array of those
6
+ * for options with multiple choices. Also accepts any valid registry system
7
+ * path (e.g. "crn:status:system") for options whose input type is determined
8
+ * by a registry code system.
9
+ */
10
+ export declare const settingOptionTypeSchema: z.ZodUnion<readonly [z.ZodEnum<{
11
+ string: "string";
12
+ number: "number";
13
+ boolean: "boolean";
14
+ date: "date";
15
+ }>, z.ZodArray<z.ZodEnum<{
16
+ string: "string";
17
+ number: "number";
18
+ boolean: "boolean";
19
+ date: "date";
20
+ }>>, z.ZodString]>;
21
+ export type SettingOptionType = z.infer<typeof settingOptionTypeSchema>;
22
+ /**
23
+ * A single setting option item.
24
+ *
25
+ * - `default` and `value` can be null but cannot be undefined or missing.
26
+ */
27
+ export declare const settingOptionSchema: z.ZodObject<{
28
+ field: z.ZodString;
29
+ label: z.ZodOptional<z.ZodString>;
30
+ type: z.ZodUnion<readonly [z.ZodEnum<{
31
+ string: "string";
32
+ number: "number";
33
+ boolean: "boolean";
34
+ date: "date";
35
+ }>, z.ZodArray<z.ZodEnum<{
36
+ string: "string";
37
+ number: "number";
38
+ boolean: "boolean";
39
+ date: "date";
40
+ }>>, z.ZodString]>;
41
+ default: z.ZodNullable<z.ZodString>;
42
+ value: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
43
+ }, z.core.$strip>;
44
+ export type SettingOption = z.infer<typeof settingOptionSchema>;
45
+ //# sourceMappingURL=setting-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setting-option.d.ts","sourceRoot":"","sources":["../../src/commons/setting-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;kBAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The type of a setting option value.
4
+ *
5
+ * Accepts "string", "number", "boolean", "date", or an array of those
6
+ * for options with multiple choices. Also accepts any valid registry system
7
+ * path (e.g. "crn:status:system") for options whose input type is determined
8
+ * by a registry code system.
9
+ */
10
+ export const settingOptionTypeSchema = z.union([
11
+ z.enum(["string", "number", "boolean", "date"]),
12
+ z.array(z.enum(["string", "number", "boolean", "date"])),
13
+ z.string(),
14
+ ]);
15
+ /**
16
+ * A single setting option item.
17
+ *
18
+ * - `default` and `value` can be null but cannot be undefined or missing.
19
+ */
20
+ export const settingOptionSchema = z.object({
21
+ field: z.string().min(1, { message: "field is required" }),
22
+ label: z.string().optional(),
23
+ type: settingOptionTypeSchema,
24
+ default: z.string().nullable(),
25
+ value: z.union([z.string(), z.boolean(), z.number()]).nullable(),
26
+ });
27
+ //# sourceMappingURL=setting-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setting-option.js","sourceRoot":"","sources":["../../src/commons/setting-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,MAAM,EAAE;CACX,CAAC,CAAC;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjE,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * ISO 8601 timestamp string.
4
+ */
5
+ export declare const timestampSchema: z.ZodString;
6
+ export type Timestamp = z.infer<typeof timestampSchema>;
7
+ //# sourceMappingURL=timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/commons/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe,aAG1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * ISO 8601 timestamp string.
4
+ */
5
+ export const timestampSchema = z.string().datetime({
6
+ offset: true,
7
+ message: 'Invalid timestamp: must be an ISO 8601 datetime',
8
+ });
9
+ //# sourceMappingURL=timestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/commons/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;IACjD,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,iDAAiD;CAC3D,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @centricare/contract
3
+ * Standardized Zod schemas used across CentriCare projects.
4
+ */
5
+ export * from "./commons";
6
+ export * from "./models";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @centricare/contract
3
+ * Standardized Zod schemas used across CentriCare projects.
4
+ */
5
+ export * from "./commons";
6
+ export * from "./models";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Minimal assignment schema (omits server-generated fields).
4
+ */
5
+ export declare const assignmentMinimalSchema: z.ZodObject<{
6
+ type: z.ZodObject<{
7
+ system: z.ZodString;
8
+ value: z.ZodString;
9
+ display: z.ZodOptional<z.ZodString>;
10
+ valid: z.ZodOptional<z.ZodString>;
11
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
+ }, z.core.$strip>;
13
+ facility_id: z.ZodString;
14
+ for: z.ZodString;
15
+ assigned_to: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>;
16
+ }, z.core.$strip>;
17
+ export type AssignmentMinimal = z.infer<typeof assignmentMinimalSchema>;
18
+ //# sourceMappingURL=assignment-minimal.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment-minimal.schema.d.ts","sourceRoot":"","sources":["../../../src/models/assignment/assignment-minimal.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAOlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { assignmentSchema } from "./assignment.schema";
2
+ /**
3
+ * Minimal assignment schema (omits server-generated fields).
4
+ */
5
+ export const assignmentMinimalSchema = assignmentSchema.omit({
6
+ _id: true,
7
+ created_at: true,
8
+ created_by: true,
9
+ updated_at: true,
10
+ updated_by: true,
11
+ schema_version: true,
12
+ });
13
+ //# sourceMappingURL=assignment-minimal.schema.js.map