fhir-data-utils-ts 0.2.4 → 0.3.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 (285) hide show
  1. package/.codex/skills/govern-fhir-data-utilities/SKILL.md +58 -0
  2. package/.codex/skills/govern-fhir-data-utilities/agents/openai.yaml +4 -0
  3. package/.codex/skills/govern-fhir-observation-components/SKILL.md +18 -0
  4. package/CHANGELOG.md +30 -0
  5. package/README.md +39 -0
  6. package/dist/builders/immunization-graph.d.ts +36 -0
  7. package/dist/builders/immunization-graph.js +115 -0
  8. package/dist/builders/immunization-reminders.d.ts +35 -0
  9. package/dist/builders/immunization-reminders.js +104 -0
  10. package/dist/builders/index.d.ts +2 -0
  11. package/dist/builders/index.js +2 -0
  12. package/dist/claim-helpers/claim-list-helpers.d.ts +21 -0
  13. package/dist/claim-helpers/claim-list-helpers.js +54 -0
  14. package/dist/claim-helpers/claims-helpers-allergy-intolerance.d.ts +18 -0
  15. package/dist/claim-helpers/claims-helpers-allergy-intolerance.js +65 -0
  16. package/dist/claim-helpers/claims-helpers-appointment-response.d.ts +8 -0
  17. package/dist/claim-helpers/claims-helpers-appointment-response.js +20 -0
  18. package/dist/claim-helpers/claims-helpers-appointment.d.ts +10 -0
  19. package/dist/claim-helpers/claims-helpers-appointment.js +26 -0
  20. package/dist/claim-helpers/claims-helpers-care-plan.d.ts +8 -0
  21. package/dist/claim-helpers/claims-helpers-care-plan.js +20 -0
  22. package/dist/claim-helpers/claims-helpers-clinical-impression.d.ts +10 -0
  23. package/dist/claim-helpers/claims-helpers-clinical-impression.js +26 -0
  24. package/dist/claim-helpers/claims-helpers-communication.d.ts +19 -0
  25. package/dist/claim-helpers/claims-helpers-communication.js +63 -0
  26. package/dist/claim-helpers/claims-helpers-composition.d.ts +12 -0
  27. package/dist/claim-helpers/claims-helpers-composition.js +32 -0
  28. package/dist/claim-helpers/claims-helpers-condition.d.ts +18 -0
  29. package/dist/claim-helpers/claims-helpers-condition.js +65 -0
  30. package/dist/claim-helpers/claims-helpers-coverage.d.ts +10 -0
  31. package/dist/claim-helpers/claims-helpers-coverage.js +26 -0
  32. package/dist/claim-helpers/claims-helpers-device-use-statement.d.ts +8 -0
  33. package/dist/claim-helpers/claims-helpers-device-use-statement.js +20 -0
  34. package/dist/claim-helpers/claims-helpers-device.d.ts +8 -0
  35. package/dist/claim-helpers/claims-helpers-device.js +20 -0
  36. package/dist/claim-helpers/claims-helpers-diagnostic-report.d.ts +16 -0
  37. package/dist/claim-helpers/claims-helpers-diagnostic-report.js +47 -0
  38. package/dist/claim-helpers/claims-helpers-document-reference.d.ts +8 -0
  39. package/dist/claim-helpers/claims-helpers-document-reference.js +20 -0
  40. package/dist/claim-helpers/claims-helpers-encounter.d.ts +10 -0
  41. package/dist/claim-helpers/claims-helpers-encounter.js +26 -0
  42. package/dist/claim-helpers/claims-helpers-flag.d.ts +8 -0
  43. package/dist/claim-helpers/claims-helpers-flag.js +20 -0
  44. package/dist/claim-helpers/claims-helpers-immunization.d.ts +8 -0
  45. package/dist/claim-helpers/claims-helpers-immunization.js +20 -0
  46. package/dist/claim-helpers/claims-helpers-location.d.ts +10 -0
  47. package/dist/claim-helpers/claims-helpers-location.js +26 -0
  48. package/dist/claim-helpers/claims-helpers-medication-statement.d.ts +96 -0
  49. package/dist/claim-helpers/claims-helpers-medication-statement.js +278 -0
  50. package/dist/claim-helpers/claims-helpers-observation.d.ts +8 -0
  51. package/dist/claim-helpers/claims-helpers-observation.js +20 -0
  52. package/dist/claim-helpers/claims-helpers-organization.d.ts +12 -0
  53. package/dist/claim-helpers/claims-helpers-organization.js +32 -0
  54. package/dist/claim-helpers/claims-helpers-procedure.d.ts +8 -0
  55. package/dist/claim-helpers/claims-helpers-procedure.js +20 -0
  56. package/dist/claim-helpers/claims-helpers-related-person.d.ts +22 -0
  57. package/dist/claim-helpers/claims-helpers-related-person.js +53 -0
  58. package/dist/claim-helpers/index.d.ts +23 -0
  59. package/dist/claim-helpers/index.js +23 -0
  60. package/dist/claims/allergy-intolerance-claims.d.ts +153 -0
  61. package/dist/claims/allergy-intolerance-claims.js +194 -0
  62. package/dist/claims/appointment-claims.d.ts +226 -0
  63. package/dist/claims/appointment-claims.js +218 -0
  64. package/dist/claims/appointment-response-claims.d.ts +63 -0
  65. package/dist/claims/appointment-response-claims.js +58 -0
  66. package/dist/claims/care-plan-claims.d.ts +37 -0
  67. package/dist/claims/care-plan-claims.js +59 -0
  68. package/dist/claims/claim-types.d.ts +9 -0
  69. package/dist/claims/claim-types.js +3 -0
  70. package/dist/claims/clinical-impression-claims.d.ts +17 -0
  71. package/dist/claims/clinical-impression-claims.js +30 -0
  72. package/dist/claims/communication-claims.d.ts +55 -0
  73. package/dist/claims/communication-claims.js +57 -0
  74. package/dist/claims/composition-claims.d.ts +27 -0
  75. package/dist/claims/composition-claims.js +27 -0
  76. package/dist/claims/condition-claims.d.ts +79 -0
  77. package/dist/claims/condition-claims.js +104 -0
  78. package/dist/claims/consent-claims.d.ts +195 -0
  79. package/dist/claims/consent-claims.js +74 -0
  80. package/dist/claims/coverage-claims.d.ts +16 -0
  81. package/dist/claims/coverage-claims.js +28 -0
  82. package/dist/claims/device-claims.d.ts +20 -0
  83. package/dist/claims/device-claims.js +36 -0
  84. package/dist/claims/device-use-statement-claims.d.ts +17 -0
  85. package/dist/claims/device-use-statement-claims.js +28 -0
  86. package/dist/claims/diagnostic-report-claims.d.ts +109 -0
  87. package/dist/claims/diagnostic-report-claims.js +120 -0
  88. package/dist/claims/document-reference-claims.d.ts +39 -0
  89. package/dist/claims/document-reference-claims.js +96 -0
  90. package/dist/claims/encounter-claims.d.ts +18 -0
  91. package/dist/claims/encounter-claims.js +32 -0
  92. package/dist/claims/flag-claims.d.ts +19 -0
  93. package/dist/claims/flag-claims.js +33 -0
  94. package/dist/claims/immunization-claims.d.ts +31 -0
  95. package/dist/claims/immunization-claims.js +54 -0
  96. package/dist/claims/immunization-recommendation-claims.d.ts +19 -0
  97. package/dist/claims/immunization-recommendation-claims.js +26 -0
  98. package/dist/claims/index.d.ts +29 -0
  99. package/dist/claims/index.js +29 -0
  100. package/dist/claims/invoice-claims.d.ts +277 -0
  101. package/dist/claims/invoice-claims.js +357 -0
  102. package/dist/claims/location-claims.d.ts +22 -0
  103. package/dist/claims/location-claims.js +34 -0
  104. package/dist/claims/medication-claims.d.ts +15 -0
  105. package/dist/claims/medication-claims.js +23 -0
  106. package/dist/claims/medication-statement-claims.d.ts +539 -0
  107. package/dist/claims/medication-statement-claims.js +469 -0
  108. package/dist/claims/organization-claims.d.ts +18 -0
  109. package/dist/claims/organization-claims.js +27 -0
  110. package/dist/claims/practitioner-role-claims.d.ts +18 -0
  111. package/dist/claims/practitioner-role-claims.js +33 -0
  112. package/dist/claims/procedure-claims.d.ts +24 -0
  113. package/dist/claims/procedure-claims.js +44 -0
  114. package/dist/claims/related-person-claims.d.ts +30 -0
  115. package/dist/claims/related-person-claims.js +44 -0
  116. package/dist/claims/research-subject-claims.d.ts +4 -0
  117. package/dist/claims/research-subject-claims.js +4 -0
  118. package/dist/claims/task-claims.d.ts +61 -0
  119. package/dist/claims/task-claims.js +64 -0
  120. package/dist/clinical-terminology.d.ts +73 -0
  121. package/dist/clinical-terminology.js +77 -0
  122. package/dist/constants/clinical-statuses.d.ts +102 -0
  123. package/dist/constants/clinical-statuses.js +93 -0
  124. package/dist/constants/fhir-code-systems.d.ts +15 -0
  125. package/dist/constants/fhir-code-systems.js +15 -0
  126. package/dist/constants/fhir-resource-types.d.ts +162 -0
  127. package/dist/constants/fhir-resource-types.js +70 -0
  128. package/dist/constants/fhir-versions.d.ts +10 -0
  129. package/dist/constants/fhir-versions.js +10 -0
  130. package/dist/constants/index.d.ts +4 -0
  131. package/dist/constants/index.js +4 -0
  132. package/dist/converters/convert-allergy-intolerance.d.ts +3 -0
  133. package/dist/converters/convert-allergy-intolerance.js +85 -0
  134. package/dist/converters/convert-appointment-response.d.ts +3 -0
  135. package/dist/converters/convert-appointment-response.js +32 -0
  136. package/dist/converters/convert-appointment.d.ts +3 -0
  137. package/dist/converters/convert-appointment.js +61 -0
  138. package/dist/converters/convert-care-plan.d.ts +3 -0
  139. package/dist/converters/convert-care-plan.js +93 -0
  140. package/dist/converters/convert-clinical-impression.d.ts +3 -0
  141. package/dist/converters/convert-clinical-impression.js +42 -0
  142. package/dist/converters/convert-composition.d.ts +3 -0
  143. package/dist/converters/convert-composition.js +70 -0
  144. package/dist/converters/convert-condition.d.ts +3 -0
  145. package/dist/converters/convert-condition.js +51 -0
  146. package/dist/converters/convert-consent.d.ts +9 -0
  147. package/dist/converters/convert-consent.js +174 -0
  148. package/dist/converters/convert-coverage.d.ts +3 -0
  149. package/dist/converters/convert-coverage.js +51 -0
  150. package/dist/converters/convert-device-use-statement.d.ts +3 -0
  151. package/dist/converters/convert-device-use-statement.js +36 -0
  152. package/dist/converters/convert-device.d.ts +3 -0
  153. package/dist/converters/convert-device.js +48 -0
  154. package/dist/converters/convert-diagnostic-report.d.ts +3 -0
  155. package/dist/converters/convert-diagnostic-report.js +63 -0
  156. package/dist/converters/convert-document-reference.d.ts +3 -0
  157. package/dist/converters/convert-document-reference.js +54 -0
  158. package/dist/converters/convert-encounter.d.ts +3 -0
  159. package/dist/converters/convert-encounter.js +68 -0
  160. package/dist/converters/convert-flag.d.ts +3 -0
  161. package/dist/converters/convert-flag.js +42 -0
  162. package/dist/converters/convert-immunization.d.ts +3 -0
  163. package/dist/converters/convert-immunization.js +80 -0
  164. package/dist/converters/convert-location.d.ts +3 -0
  165. package/dist/converters/convert-location.js +44 -0
  166. package/dist/converters/convert-medication-statement.d.ts +3 -0
  167. package/dist/converters/convert-medication-statement.js +130 -0
  168. package/dist/converters/convert-observation.d.ts +33 -0
  169. package/dist/converters/convert-observation.js +246 -0
  170. package/dist/converters/convert-organization.d.ts +3 -0
  171. package/dist/converters/convert-organization.js +39 -0
  172. package/dist/converters/convert-practitioner-role.d.ts +3 -0
  173. package/dist/converters/convert-practitioner-role.js +62 -0
  174. package/dist/converters/convert-procedure.d.ts +3 -0
  175. package/dist/converters/convert-procedure.js +64 -0
  176. package/dist/converters/convert-related-person.d.ts +3 -0
  177. package/dist/converters/convert-related-person.js +31 -0
  178. package/dist/converters/convert-shared.d.ts +33 -0
  179. package/dist/converters/convert-shared.js +181 -0
  180. package/dist/converters/index.d.ts +24 -0
  181. package/dist/converters/index.js +24 -0
  182. package/dist/fhir-bundle.d.ts +9 -0
  183. package/dist/fhir-bundle.js +43 -0
  184. package/dist/fhir-search-parameters.d.ts +18 -0
  185. package/dist/fhir-search-parameters.js +52 -0
  186. package/dist/fhir-tokens.d.ts +11 -0
  187. package/dist/fhir-tokens.js +26 -0
  188. package/dist/fhir-types.d.ts +77 -0
  189. package/dist/fhir-types.js +1 -0
  190. package/dist/fhir-values.d.ts +13 -0
  191. package/dist/fhir-values.js +53 -0
  192. package/dist/group-r5.d.ts +121 -0
  193. package/dist/group-r5.js +301 -0
  194. package/dist/imaging-types.d.ts +30 -0
  195. package/dist/imaging-types.js +1 -0
  196. package/dist/immunization-flat-claims.d.ts +2 -0
  197. package/dist/immunization-flat-claims.js +2 -0
  198. package/dist/immunization-reminder-plan.d.ts +2 -0
  199. package/dist/immunization-reminder-plan.js +2 -0
  200. package/dist/index.d.ts +19 -0
  201. package/dist/index.js +19 -0
  202. package/dist/observation-claims.d.ts +170 -0
  203. package/dist/observation-claims.js +184 -0
  204. package/dist/related-person.d.ts +16 -0
  205. package/dist/related-person.js +14 -0
  206. package/dist/research-study-r5.d.ts +163 -0
  207. package/dist/research-study-r5.js +490 -0
  208. package/dist/search-models/index.d.ts +7 -0
  209. package/dist/search-models/index.js +7 -0
  210. package/dist/search-models/params/AdverseEvent.params.model.d.ts +14 -0
  211. package/dist/search-models/params/AdverseEvent.params.model.js +16 -0
  212. package/dist/search-models/params/AllergyIntolerance.params.model.d.ts +24 -0
  213. package/dist/search-models/params/AllergyIntolerance.params.model.js +27 -0
  214. package/dist/search-models/params/Appointment.params.model.d.ts +12 -0
  215. package/dist/search-models/params/Appointment.params.model.js +14 -0
  216. package/dist/search-models/params/ClinicalImpression.params.model.d.ts +14 -0
  217. package/dist/search-models/params/ClinicalImpression.params.model.js +15 -0
  218. package/dist/search-models/params/Condition.params.model.d.ts +16 -0
  219. package/dist/search-models/params/Condition.params.model.js +17 -0
  220. package/dist/search-models/params/DetectedIssue.params.model.d.ts +9 -0
  221. package/dist/search-models/params/DetectedIssue.params.model.js +11 -0
  222. package/dist/search-models/params/DiagnosticReport.params.model.d.ts +13 -0
  223. package/dist/search-models/params/DiagnosticReport.params.model.js +14 -0
  224. package/dist/search-models/params/Encounter.params.model.d.ts +15 -0
  225. package/dist/search-models/params/Encounter.params.model.js +17 -0
  226. package/dist/search-models/params/Immunization.params.model.d.ts +14 -0
  227. package/dist/search-models/params/Immunization.params.model.js +16 -0
  228. package/dist/search-models/params/Medication.params.model.d.ts +35 -0
  229. package/dist/search-models/params/Medication.params.model.js +45 -0
  230. package/dist/search-models/params/Observation.params.model.d.ts +326 -0
  231. package/dist/search-models/params/Observation.params.model.js +244 -0
  232. package/dist/search-models/params/Procedure.params.model.d.ts +15 -0
  233. package/dist/search-models/params/Procedure.params.model.js +17 -0
  234. package/dist/search-models/params/Search.params.model.d.ts +75 -0
  235. package/dist/search-models/params/Search.params.model.js +69 -0
  236. package/dist/search-models/params/ServiceRequest.params.model.d.ts +14 -0
  237. package/dist/search-models/params/ServiceRequest.params.model.js +16 -0
  238. package/dist/search-models/params/Specimen.params.model.d.ts +10 -0
  239. package/dist/search-models/params/Specimen.params.model.js +12 -0
  240. package/dist/search-models/params/index.d.ts +15 -0
  241. package/dist/search-models/params/index.js +15 -0
  242. package/dist/search-models/templates/AdverseEvent.template.model.d.ts +16 -0
  243. package/dist/search-models/templates/AdverseEvent.template.model.js +2 -0
  244. package/dist/search-models/templates/AllergyIntolerance.template.model.d.ts +24 -0
  245. package/dist/search-models/templates/AllergyIntolerance.template.model.js +1 -0
  246. package/dist/search-models/templates/Appointment.template.model.d.ts +13 -0
  247. package/dist/search-models/templates/Appointment.template.model.js +1 -0
  248. package/dist/search-models/templates/ClinicalImpression.template.model.d.ts +16 -0
  249. package/dist/search-models/templates/ClinicalImpression.template.model.js +1 -0
  250. package/dist/search-models/templates/Condition.template.model.d.ts +18 -0
  251. package/dist/search-models/templates/Condition.template.model.js +1 -0
  252. package/dist/search-models/templates/DetectedIssue.template.model.d.ts +11 -0
  253. package/dist/search-models/templates/DetectedIssue.template.model.js +1 -0
  254. package/dist/search-models/templates/DiagnosticReport.template.model.d.ts +15 -0
  255. package/dist/search-models/templates/DiagnosticReport.template.model.js +1 -0
  256. package/dist/search-models/templates/Encounter.template.model.d.ts +17 -0
  257. package/dist/search-models/templates/Encounter.template.model.js +1 -0
  258. package/dist/search-models/templates/Immunization.template.model.d.ts +18 -0
  259. package/dist/search-models/templates/Immunization.template.model.js +2 -0
  260. package/dist/search-models/templates/Medication.template.model.d.ts +37 -0
  261. package/dist/search-models/templates/Medication.template.model.js +1 -0
  262. package/dist/search-models/templates/Observation.template.model.d.ts +18 -0
  263. package/dist/search-models/templates/Observation.template.model.js +1 -0
  264. package/dist/search-models/templates/Procedure.template.model.d.ts +17 -0
  265. package/dist/search-models/templates/Procedure.template.model.js +1 -0
  266. package/dist/search-models/templates/ServiceRequest.template.model.d.ts +16 -0
  267. package/dist/search-models/templates/ServiceRequest.template.model.js +1 -0
  268. package/dist/search-models/templates/Specimen.template.model.d.ts +12 -0
  269. package/dist/search-models/templates/Specimen.template.model.js +1 -0
  270. package/dist/search-models/templates/index.d.ts +14 -0
  271. package/dist/search-models/templates/index.js +14 -0
  272. package/dist/terminology-models/AtcModel.d.ts +15 -0
  273. package/dist/terminology-models/AtcModel.js +2 -0
  274. package/dist/terminology-models/CommonModels.d.ts +70 -0
  275. package/dist/terminology-models/CommonModels.js +55 -0
  276. package/dist/terminology-models/FhirModels.d.ts +60 -0
  277. package/dist/terminology-models/FhirModels.js +34 -0
  278. package/dist/terminology-models/LoincModels.d.ts +24 -0
  279. package/dist/terminology-models/LoincModels.js +2 -0
  280. package/dist/terminology-models/SnomedModels.d.ts +13 -0
  281. package/dist/terminology-models/SnomedModels.js +2 -0
  282. package/dist/terminology-models/index.d.ts +6 -0
  283. package/dist/terminology-models/index.js +6 -0
  284. package/docs/UHC_FHIR_UTILS_MIGRATION.md +51 -8
  285. package/package.json +83 -2
@@ -0,0 +1,469 @@
1
+ // src/models/fhir/MedicationStatement.claims.ts
2
+ // Always create JSDoc, do not use strings inline in keys nor values, use types instead, and reuse the data test examples.
3
+ /** Canonical FHIR R5 code system for `MedicationStatement.adherence.code`. */
4
+ export const MEDICATION_STATEMENT_ADHERENCE_CODE_SYSTEM = 'http://hl7.org/fhir/CodeSystem/medication-statement-adherence';
5
+ /**
6
+ * Codes published by the FHIR R5 Medication Statement Adherence value set.
7
+ *
8
+ * The FHIR binding strength is `example`, so applications must accept other
9
+ * valid Coding values even when these helpers cover the published code system.
10
+ */
11
+ export const MedicationStatementAdherenceCodes = {
12
+ Taking: 'taking',
13
+ TakingAsDirected: 'taking-as-directed',
14
+ TakingNotAsDirected: 'taking-not-as-directed',
15
+ NotTaking: 'not-taking',
16
+ OnHold: 'on-hold',
17
+ OnHoldAsDirected: 'on-hold-as-directed',
18
+ OnHoldNotAsDirected: 'on-hold-not-as-directed',
19
+ Stopped: 'stopped',
20
+ StoppedAsDirected: 'stopped-as-directed',
21
+ StoppedNotAsDirected: 'stopped-not-as-directed',
22
+ Unknown: 'unknown',
23
+ };
24
+ /**
25
+ * Canonical flat claim keys for the lightweight `MedicationStatement.*` mapping
26
+ * used by shared examples, GW ingestion, and converter roundtrip tests.
27
+ */
28
+ export const MedicationStatementClaim = {
29
+ Identifier: 'MedicationStatement.identifier',
30
+ Subject: 'MedicationStatement.subject',
31
+ Patient: 'MedicationStatement.patient',
32
+ Status: 'MedicationStatement.status',
33
+ Category: 'MedicationStatement.category',
34
+ Effective: 'MedicationStatement.effective',
35
+ /**
36
+ * Start of FHIR R4 `effectivePeriod`; mutually exclusive with `Effective`.
37
+ * @see https://hl7.org/fhir/R4/medicationstatement.html
38
+ */
39
+ EffectivePeriodStart: 'MedicationStatement.effective-period-start',
40
+ /**
41
+ * End of FHIR R4 `effectivePeriod`; mutually exclusive with `Effective`.
42
+ * @see https://hl7.org/fhir/R4/medicationstatement.html
43
+ */
44
+ EffectivePeriodEnd: 'MedicationStatement.effective-period-end',
45
+ /** Official token SearchParameter `code`; maps to the medication concept, not a root FHIR element. */
46
+ Code: 'MedicationStatement.code',
47
+ /** Local/manual `CodeableConcept.text` companion for the medication concept. */
48
+ CodeText: 'MedicationStatement.code-text',
49
+ /** Readable alias for frontend authors; the emitted claim remains `MedicationStatement.code-text`. */
50
+ CodeTextLocal: 'MedicationStatement.code-text',
51
+ /** Terminology `Coding.display` companion for the medication concept. */
52
+ CodeDisplay: 'MedicationStatement.code-display',
53
+ /** Official reference SearchParameter; maps to `medication.reference`. */
54
+ Medication: 'MedicationStatement.medication',
55
+ PartOf: 'MedicationStatement.part-of',
56
+ Source: 'MedicationStatement.source',
57
+ /** @deprecated Use `CodeText`; retained only for historical payload readback. */
58
+ MedicationText: 'MedicationStatement.medication-text',
59
+ /** Official R5 token SearchParameter; its FHIRPath expression targets the adherence CodeableConcept. */
60
+ Adherence: 'MedicationStatement.adherence',
61
+ /** Local/manual CodeableConcept.text companion for the official `adherence` token. */
62
+ AdherenceText: 'MedicationStatement.adherence-text',
63
+ /** Terminology Coding.display companion for the official `adherence` token. */
64
+ AdherenceDisplay: 'MedicationStatement.adherence-display',
65
+ UserSelected: 'MedicationStatement.user-selected',
66
+ /**
67
+ * Free-text clinical note.
68
+ *
69
+ * Use this for human-readable instructions or remarks that may be authored
70
+ * in any language, for example "take after meals" or "take as needed".
71
+ *
72
+ * For a dosage sentence such as "1 tablet every 8 hours", prefer
73
+ * `DosageInstruction`. For structured timing/PRN semantics, prefer the
74
+ * contextualized FHIR-style fields in `MedicationStatementClaimsFhirApiExtended`
75
+ * such as `DosageAsNeeded`, `TimingFrequency`, `TimingPeriod`,
76
+ * `TimingPeriodUnit`, and `DosagePatientInstructionText`.
77
+ */
78
+ Note: 'MedicationStatement.note',
79
+ /**
80
+ * Canonical CSV/list of related contained resource references or identifiers.
81
+ *
82
+ * Values may be:
83
+ * - `urn:uuid:*`
84
+ * - `ResourceType/urn:uuid:*`
85
+ * - another canonical local resource reference used inside the same bundle
86
+ */
87
+ ContainedReferenceList: 'MedicationStatement.contained-reference-list',
88
+ /**
89
+ * @deprecated Use `ContainedReferenceList`.
90
+ */
91
+ ContainedResourceList: 'MedicationStatement.contained-resource-list',
92
+ /**
93
+ * @deprecated Use `ContainedReferenceList`.
94
+ */
95
+ ContainedDocuments: 'MedicationStatement.contained-documents',
96
+ /**
97
+ * @deprecated Use `ContainedDocuments`.
98
+ */
99
+ AttachmentContentIds: 'MedicationStatement.attachment-content-ids',
100
+ /**
101
+ * Human-readable dosage text, for example "1 tablet every 8 hours".
102
+ *
103
+ * This is the short flat claim to use when frontend or ingestion code needs
104
+ * one sentence without expanding the full timing model.
105
+ */
106
+ DosageInstruction: 'MedicationStatement.dosage-instruction',
107
+ MedicationIdentifier: 'MedicationStatement.medication-identifier',
108
+ MedicationSerialNumber: 'MedicationStatement.medication-serial-number',
109
+ MedicationExpirationDate: 'MedicationStatement.medication-expiration-date',
110
+ DoseQuantityValue: 'MedicationStatement.dose-quantity-value',
111
+ DoseQuantityUnit: 'MedicationStatement.dose-quantity-unit',
112
+ DosageRoute: 'MedicationStatement.dosage-route',
113
+ TimingFrequency: 'MedicationStatement.timing-frequency',
114
+ TimingPeriod: 'MedicationStatement.timing-period',
115
+ TimingPeriodUnit: 'MedicationStatement.timing-period-unit',
116
+ };
117
+ export const MedicationStatementClaimSpecs = [
118
+ { key: MedicationStatementClaim.Code, meaning: 'Official token SearchParameter for medication.concept.', example: 'http://www.nlm.nih.gov/research/umls/rxnorm|5640' },
119
+ { key: MedicationStatementClaim.CodeText, meaning: 'Local/manual medication concept text matching resource language.', example: 'Ibuprofeno' },
120
+ { key: MedicationStatementClaim.CodeDisplay, meaning: 'Canonical/international medication Coding.display.', example: 'Ibuprofen' },
121
+ { key: MedicationStatementClaim.Medication, meaning: 'Official reference SearchParameter for medication.reference.', example: 'Medication/medication-123' },
122
+ { key: MedicationStatementClaim.Adherence, meaning: 'Official R5 adherence token SearchParameter.', example: `${MEDICATION_STATEMENT_ADHERENCE_CODE_SYSTEM}|taking-as-directed` },
123
+ { key: MedicationStatementClaim.AdherenceText, meaning: 'Local/manual adherence CodeableConcept.text.', example: 'Tomando según indicación' },
124
+ { key: MedicationStatementClaim.AdherenceDisplay, meaning: 'Canonical adherence Coding.display.', example: 'Taking As Directed' },
125
+ { key: MedicationStatementClaim.EffectivePeriodStart, meaning: 'Start of the medication treatment period.', example: '2026-09-01T08:00:00Z' },
126
+ { key: MedicationStatementClaim.EffectivePeriodEnd, meaning: 'End of the medication treatment period.', example: '2026-09-10T20:00:00Z' },
127
+ ];
128
+ /**
129
+ * Flat claims contract for MedicationStatement using FHIR API-like search params.
130
+ *
131
+ * Convention:
132
+ * - Key format: `org.hl7.fhir.api.MedicationStatement.<concrete-parameter>`
133
+ * - `<concrete-parameter>` in kebab-case (no nested dots).
134
+ * - Keep values scalar/string-friendly so they can be persisted as tabular columns.
135
+ */
136
+ /**
137
+ * Standard FHIR search parameters for MedicationStatement.
138
+ * @basedon https://hl7.org/fhir/medicationstatement.html#search
139
+ */
140
+ export var MedicationStatementClaimsFhirApi;
141
+ (function (MedicationStatementClaimsFhirApi) {
142
+ MedicationStatementClaimsFhirApi["Adherence"] = "org.hl7.fhir.api.MedicationStatement.adherence";
143
+ MedicationStatementClaimsFhirApi["Category"] = "org.hl7.fhir.api.MedicationStatement.category";
144
+ MedicationStatementClaimsFhirApi["Code"] = "org.hl7.fhir.api.MedicationStatement.code";
145
+ MedicationStatementClaimsFhirApi["Effective"] = "org.hl7.fhir.api.MedicationStatement.effective";
146
+ MedicationStatementClaimsFhirApi["Identifier"] = "org.hl7.fhir.api.MedicationStatement.identifier";
147
+ MedicationStatementClaimsFhirApi["Medication"] = "org.hl7.fhir.api.MedicationStatement.medication";
148
+ MedicationStatementClaimsFhirApi["PartOf"] = "org.hl7.fhir.api.MedicationStatement.part-of";
149
+ MedicationStatementClaimsFhirApi["Patient"] = "org.hl7.fhir.api.MedicationStatement.patient";
150
+ MedicationStatementClaimsFhirApi["Source"] = "org.hl7.fhir.api.MedicationStatement.source";
151
+ MedicationStatementClaimsFhirApi["Status"] = "org.hl7.fhir.api.MedicationStatement.status";
152
+ MedicationStatementClaimsFhirApi["Subject"] = "org.hl7.fhir.api.MedicationStatement.subject";
153
+ })(MedicationStatementClaimsFhirApi || (MedicationStatementClaimsFhirApi = {}));
154
+ /**
155
+ * Extended flat parameters used for dosage/timing and operational indexing.
156
+ * These are intentionally scalarized to map cleanly to SQL columns.
157
+ */
158
+ export var MedicationStatementClaimsFhirApiExtended;
159
+ (function (MedicationStatementClaimsFhirApiExtended) {
160
+ MedicationStatementClaimsFhirApiExtended["Adherence"] = "org.hl7.fhir.api.MedicationStatement.adherence";
161
+ MedicationStatementClaimsFhirApiExtended["AdherenceText"] = "org.hl7.fhir.api.MedicationStatement.adherence-text";
162
+ MedicationStatementClaimsFhirApiExtended["AdherenceDisplay"] = "org.hl7.fhir.api.MedicationStatement.adherence-display";
163
+ MedicationStatementClaimsFhirApiExtended["CodeText"] = "org.hl7.fhir.api.MedicationStatement.code-text";
164
+ MedicationStatementClaimsFhirApiExtended["CodeDisplay"] = "org.hl7.fhir.api.MedicationStatement.code-display";
165
+ MedicationStatementClaimsFhirApiExtended["Category"] = "org.hl7.fhir.api.MedicationStatement.category";
166
+ MedicationStatementClaimsFhirApiExtended["Code"] = "org.hl7.fhir.api.MedicationStatement.code";
167
+ MedicationStatementClaimsFhirApiExtended["Effective"] = "org.hl7.fhir.api.MedicationStatement.effective";
168
+ MedicationStatementClaimsFhirApiExtended["Identifier"] = "org.hl7.fhir.api.MedicationStatement.identifier";
169
+ MedicationStatementClaimsFhirApiExtended["Medication"] = "org.hl7.fhir.api.MedicationStatement.medication";
170
+ MedicationStatementClaimsFhirApiExtended["PartOf"] = "org.hl7.fhir.api.MedicationStatement.part-of";
171
+ MedicationStatementClaimsFhirApiExtended["Patient"] = "org.hl7.fhir.api.MedicationStatement.patient";
172
+ MedicationStatementClaimsFhirApiExtended["Source"] = "org.hl7.fhir.api.MedicationStatement.source";
173
+ MedicationStatementClaimsFhirApiExtended["Status"] = "org.hl7.fhir.api.MedicationStatement.status";
174
+ MedicationStatementClaimsFhirApiExtended["Subject"] = "org.hl7.fhir.api.MedicationStatement.subject";
175
+ // Dosage-level quantities
176
+ MedicationStatementClaimsFhirApiExtended["DoseQuantity"] = "org.hl7.fhir.api.MedicationStatement.dose-quantity";
177
+ MedicationStatementClaimsFhirApiExtended["DoseQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.dose-quantity-value";
178
+ MedicationStatementClaimsFhirApiExtended["DoseQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.dose-quantity-unit";
179
+ MedicationStatementClaimsFhirApiExtended["RateQuantity"] = "org.hl7.fhir.api.MedicationStatement.rate-quantity";
180
+ MedicationStatementClaimsFhirApiExtended["RateQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.rate-quantity-value";
181
+ MedicationStatementClaimsFhirApiExtended["RateQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.rate-quantity-unit";
182
+ MedicationStatementClaimsFhirApiExtended["RateRangeLowQuantity"] = "org.hl7.fhir.api.MedicationStatement.rate-range-low-quantity";
183
+ MedicationStatementClaimsFhirApiExtended["RateRangeLowQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.rate-range-low-quantity-value";
184
+ MedicationStatementClaimsFhirApiExtended["RateRangeLowQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.rate-range-low-quantity-unit";
185
+ MedicationStatementClaimsFhirApiExtended["RateRangeHighQuantity"] = "org.hl7.fhir.api.MedicationStatement.rate-range-high-quantity";
186
+ MedicationStatementClaimsFhirApiExtended["RateRangeHighQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.rate-range-high-quantity-value";
187
+ MedicationStatementClaimsFhirApiExtended["RateRangeHighQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.rate-range-high-quantity-unit";
188
+ MedicationStatementClaimsFhirApiExtended["RateRatioNumeratorQuantity"] = "org.hl7.fhir.api.MedicationStatement.rate-ratio-numerator-quantity";
189
+ MedicationStatementClaimsFhirApiExtended["RateRatioNumeratorQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.rate-ratio-numerator-quantity-value";
190
+ MedicationStatementClaimsFhirApiExtended["RateRatioNumeratorQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.rate-ratio-numerator-quantity-unit";
191
+ MedicationStatementClaimsFhirApiExtended["RateDenominatorQuantity"] = "org.hl7.fhir.api.MedicationStatement.rate-denominator-quantity";
192
+ MedicationStatementClaimsFhirApiExtended["RateDenominatorQuantityValue"] = "org.hl7.fhir.api.MedicationStatement.rate-denominator-quantity-value";
193
+ MedicationStatementClaimsFhirApiExtended["RateDenominatorQuantityUnit"] = "org.hl7.fhir.api.MedicationStatement.rate-denominator-quantity-unit";
194
+ MedicationStatementClaimsFhirApiExtended["DoseType"] = "org.hl7.fhir.api.MedicationStatement.dose-type";
195
+ MedicationStatementClaimsFhirApiExtended["DosageMethod"] = "org.hl7.fhir.api.MedicationStatement.dosage-method";
196
+ MedicationStatementClaimsFhirApiExtended["DosageMethodText"] = "org.hl7.fhir.api.MedicationStatement.dosage-method-text";
197
+ MedicationStatementClaimsFhirApiExtended["DosageRoute"] = "org.hl7.fhir.api.MedicationStatement.dosage-route";
198
+ MedicationStatementClaimsFhirApiExtended["DosageRouteText"] = "org.hl7.fhir.api.MedicationStatement.dosage-route-text";
199
+ MedicationStatementClaimsFhirApiExtended["DosageSite"] = "org.hl7.fhir.api.MedicationStatement.dosage-site";
200
+ MedicationStatementClaimsFhirApiExtended["DosageSiteText"] = "org.hl7.fhir.api.MedicationStatement.dosage-site-text";
201
+ MedicationStatementClaimsFhirApiExtended["DosageCondition"] = "org.hl7.fhir.api.MedicationStatement.dosage-condition";
202
+ MedicationStatementClaimsFhirApiExtended["DosageAsNeeded"] = "org.hl7.fhir.api.MedicationStatement.dosage-asneeded";
203
+ MedicationStatementClaimsFhirApiExtended["DosagePatientInstructionText"] = "org.hl7.fhir.api.MedicationStatement.dosage-patientinstruction-text";
204
+ MedicationStatementClaimsFhirApiExtended["DoseMaxPerPeriod"] = "org.hl7.fhir.api.MedicationStatement.dose-maxperperiod";
205
+ MedicationStatementClaimsFhirApiExtended["DoseMaxPerAdministration"] = "org.hl7.fhir.api.MedicationStatement.dose-maxperadministration";
206
+ MedicationStatementClaimsFhirApiExtended["DoseMaxPerLifetime"] = "org.hl7.fhir.api.MedicationStatement.dose-maxperlifetime";
207
+ // Timing.repeat scalarization
208
+ MedicationStatementClaimsFhirApiExtended["TimingDescription"] = "org.hl7.fhir.api.MedicationStatement.timing-description";
209
+ MedicationStatementClaimsFhirApiExtended["TimingCount"] = "org.hl7.fhir.api.MedicationStatement.timing-count";
210
+ MedicationStatementClaimsFhirApiExtended["TimingCountMax"] = "org.hl7.fhir.api.MedicationStatement.timing-countmax";
211
+ MedicationStatementClaimsFhirApiExtended["TimingDuration"] = "org.hl7.fhir.api.MedicationStatement.timing-duration";
212
+ MedicationStatementClaimsFhirApiExtended["TimingDurationMax"] = "org.hl7.fhir.api.MedicationStatement.timing-durationmax";
213
+ MedicationStatementClaimsFhirApiExtended["TimingDurationUnit"] = "org.hl7.fhir.api.MedicationStatement.timing-duration-unit";
214
+ MedicationStatementClaimsFhirApiExtended["TimingFrequency"] = "org.hl7.fhir.api.MedicationStatement.timing-frequency";
215
+ MedicationStatementClaimsFhirApiExtended["TimingFrequencyMax"] = "org.hl7.fhir.api.MedicationStatement.timing-frequencymax";
216
+ MedicationStatementClaimsFhirApiExtended["TimingPeriod"] = "org.hl7.fhir.api.MedicationStatement.timing-period";
217
+ MedicationStatementClaimsFhirApiExtended["TimingPeriodMax"] = "org.hl7.fhir.api.MedicationStatement.timing-periodmax";
218
+ MedicationStatementClaimsFhirApiExtended["TimingPeriodUnit"] = "org.hl7.fhir.api.MedicationStatement.timing-period-unit";
219
+ MedicationStatementClaimsFhirApiExtended["TimingDayOfWeek"] = "org.hl7.fhir.api.MedicationStatement.timing-dayofweek";
220
+ MedicationStatementClaimsFhirApiExtended["TimingTimeOfDay"] = "org.hl7.fhir.api.MedicationStatement.timing-timeofday";
221
+ MedicationStatementClaimsFhirApiExtended["TimingWhen"] = "org.hl7.fhir.api.MedicationStatement.timing-when";
222
+ MedicationStatementClaimsFhirApiExtended["TimingOffset"] = "org.hl7.fhir.api.MedicationStatement.timing-offset";
223
+ MedicationStatementClaimsFhirApiExtended["TimingStartOffset"] = "org.hl7.fhir.api.MedicationStatement.timing-startoffset";
224
+ MedicationStatementClaimsFhirApiExtended["TimingEndOffset"] = "org.hl7.fhir.api.MedicationStatement.timing-endoffset";
225
+ // Timing.repeat.bounds[x]
226
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsType"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-type";
227
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsPeriodStart"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-period-start";
228
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsPeriodEnd"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-period-end";
229
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsDuration"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-duration";
230
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsDurationValue"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-duration-value";
231
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsDurationUnit"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-duration-unit";
232
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeLow"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-low";
233
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeLowValue"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-low-value";
234
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeLowUnit"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-low-unit";
235
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeHigh"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-high";
236
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeHighValue"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-high-value";
237
+ MedicationStatementClaimsFhirApiExtended["TimingBoundsRangeHighUnit"] = "org.hl7.fhir.api.MedicationStatement.timing-bounds-range-high-unit";
238
+ })(MedicationStatementClaimsFhirApiExtended || (MedicationStatementClaimsFhirApiExtended = {}));
239
+ /**
240
+ * Canonical FHIR-style search parameter names for MedicationStatement.
241
+ * These names are intentionally not contextualized so they can be reused
242
+ * by query builders and frontend filters.
243
+ */
244
+ export const MedicationStatementSearchParamNames = {
245
+ Adherence: 'adherence',
246
+ Category: 'category',
247
+ Code: 'code',
248
+ Effective: 'effective',
249
+ Identifier: 'identifier',
250
+ Medication: 'medication',
251
+ PartOf: 'part-of',
252
+ Patient: 'patient',
253
+ Source: 'source',
254
+ Status: 'status',
255
+ Subject: 'subject',
256
+ DoseQuantity: 'dose-quantity',
257
+ DoseQuantityValue: 'dose-quantity-value',
258
+ DoseQuantityUnit: 'dose-quantity-unit',
259
+ RateQuantity: 'rate-quantity',
260
+ RateQuantityValue: 'rate-quantity-value',
261
+ RateQuantityUnit: 'rate-quantity-unit',
262
+ RateRangeLowQuantity: 'rate-range-low-quantity',
263
+ RateRangeLowQuantityValue: 'rate-range-low-quantity-value',
264
+ RateRangeLowQuantityUnit: 'rate-range-low-quantity-unit',
265
+ RateRangeHighQuantity: 'rate-range-high-quantity',
266
+ RateRangeHighQuantityValue: 'rate-range-high-quantity-value',
267
+ RateRangeHighQuantityUnit: 'rate-range-high-quantity-unit',
268
+ RateRatioNumeratorQuantity: 'rate-ratio-numerator-quantity',
269
+ RateRatioNumeratorQuantityValue: 'rate-ratio-numerator-quantity-value',
270
+ RateRatioNumeratorQuantityUnit: 'rate-ratio-numerator-quantity-unit',
271
+ RateDenominatorQuantity: 'rate-denominator-quantity',
272
+ RateDenominatorQuantityValue: 'rate-denominator-quantity-value',
273
+ RateDenominatorQuantityUnit: 'rate-denominator-quantity-unit',
274
+ DoseType: 'dose-type',
275
+ DosageMethod: 'dosage-method',
276
+ DosageMethodText: 'dosage-method-text',
277
+ DosageRoute: 'dosage-route',
278
+ DosageRouteText: 'dosage-route-text',
279
+ DosageSite: 'dosage-site',
280
+ DosageSiteText: 'dosage-site-text',
281
+ DosageCondition: 'dosage-condition',
282
+ DosageAsNeeded: 'dosage-asneeded',
283
+ DosagePatientInstructionText: 'dosage-patientinstruction-text',
284
+ DoseMaxPerPeriod: 'dose-maxperperiod',
285
+ DoseMaxPerAdministration: 'dose-maxperadministration',
286
+ DoseMaxPerLifetime: 'dose-maxperlifetime',
287
+ TimingDescription: 'timing-description',
288
+ TimingCount: 'timing-count',
289
+ TimingCountMax: 'timing-countmax',
290
+ TimingDuration: 'timing-duration',
291
+ TimingDurationMax: 'timing-durationmax',
292
+ TimingDurationUnit: 'timing-duration-unit',
293
+ TimingFrequency: 'timing-frequency',
294
+ TimingFrequencyMax: 'timing-frequencymax',
295
+ TimingPeriod: 'timing-period',
296
+ TimingPeriodMax: 'timing-periodmax',
297
+ TimingPeriodUnit: 'timing-period-unit',
298
+ TimingDayOfWeek: 'timing-dayofweek',
299
+ TimingTimeOfDay: 'timing-timeofday',
300
+ TimingWhen: 'timing-when',
301
+ TimingOffset: 'timing-offset',
302
+ TimingStartOffset: 'timing-startoffset',
303
+ TimingEndOffset: 'timing-endoffset',
304
+ TimingBoundsType: 'timing-bounds-type',
305
+ TimingBoundsPeriodStart: 'timing-bounds-period-start',
306
+ TimingBoundsPeriodEnd: 'timing-bounds-period-end',
307
+ TimingBoundsDuration: 'timing-bounds-duration',
308
+ TimingBoundsDurationValue: 'timing-bounds-duration-value',
309
+ TimingBoundsDurationUnit: 'timing-bounds-duration-unit',
310
+ TimingBoundsRangeLow: 'timing-bounds-range-low',
311
+ TimingBoundsRangeLowValue: 'timing-bounds-range-low-value',
312
+ TimingBoundsRangeLowUnit: 'timing-bounds-range-low-unit',
313
+ TimingBoundsRangeHigh: 'timing-bounds-range-high',
314
+ TimingBoundsRangeHighValue: 'timing-bounds-range-high-value',
315
+ TimingBoundsRangeHighUnit: 'timing-bounds-range-high-unit',
316
+ };
317
+ export const MedicationStatementSearchParamToClaimKey = {
318
+ [MedicationStatementSearchParamNames.Adherence]: MedicationStatementClaimsFhirApi.Adherence,
319
+ [MedicationStatementSearchParamNames.Category]: MedicationStatementClaimsFhirApi.Category,
320
+ [MedicationStatementSearchParamNames.Code]: MedicationStatementClaimsFhirApi.Code,
321
+ [MedicationStatementSearchParamNames.Effective]: MedicationStatementClaimsFhirApi.Effective,
322
+ [MedicationStatementSearchParamNames.Identifier]: MedicationStatementClaimsFhirApi.Identifier,
323
+ [MedicationStatementSearchParamNames.Medication]: MedicationStatementClaimsFhirApi.Medication,
324
+ [MedicationStatementSearchParamNames.PartOf]: MedicationStatementClaimsFhirApi.PartOf,
325
+ [MedicationStatementSearchParamNames.Patient]: MedicationStatementClaimsFhirApi.Patient,
326
+ [MedicationStatementSearchParamNames.Source]: MedicationStatementClaimsFhirApi.Source,
327
+ [MedicationStatementSearchParamNames.Status]: MedicationStatementClaimsFhirApi.Status,
328
+ [MedicationStatementSearchParamNames.Subject]: MedicationStatementClaimsFhirApi.Subject,
329
+ [MedicationStatementSearchParamNames.DoseQuantity]: MedicationStatementClaimsFhirApiExtended.DoseQuantity,
330
+ [MedicationStatementSearchParamNames.DoseQuantityValue]: MedicationStatementClaimsFhirApiExtended.DoseQuantityValue,
331
+ [MedicationStatementSearchParamNames.DoseQuantityUnit]: MedicationStatementClaimsFhirApiExtended.DoseQuantityUnit,
332
+ [MedicationStatementSearchParamNames.RateQuantity]: MedicationStatementClaimsFhirApiExtended.RateQuantity,
333
+ [MedicationStatementSearchParamNames.RateQuantityValue]: MedicationStatementClaimsFhirApiExtended.RateQuantityValue,
334
+ [MedicationStatementSearchParamNames.RateQuantityUnit]: MedicationStatementClaimsFhirApiExtended.RateQuantityUnit,
335
+ [MedicationStatementSearchParamNames.RateRangeLowQuantity]: MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantity,
336
+ [MedicationStatementSearchParamNames.RateRangeLowQuantityValue]: MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantityValue,
337
+ [MedicationStatementSearchParamNames.RateRangeLowQuantityUnit]: MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantityUnit,
338
+ [MedicationStatementSearchParamNames.RateRangeHighQuantity]: MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantity,
339
+ [MedicationStatementSearchParamNames.RateRangeHighQuantityValue]: MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantityValue,
340
+ [MedicationStatementSearchParamNames.RateRangeHighQuantityUnit]: MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantityUnit,
341
+ [MedicationStatementSearchParamNames.RateRatioNumeratorQuantity]: MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantity,
342
+ [MedicationStatementSearchParamNames.RateRatioNumeratorQuantityValue]: MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantityValue,
343
+ [MedicationStatementSearchParamNames.RateRatioNumeratorQuantityUnit]: MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantityUnit,
344
+ [MedicationStatementSearchParamNames.RateDenominatorQuantity]: MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantity,
345
+ [MedicationStatementSearchParamNames.RateDenominatorQuantityValue]: MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantityValue,
346
+ [MedicationStatementSearchParamNames.RateDenominatorQuantityUnit]: MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantityUnit,
347
+ [MedicationStatementSearchParamNames.DoseType]: MedicationStatementClaimsFhirApiExtended.DoseType,
348
+ [MedicationStatementSearchParamNames.DosageMethod]: MedicationStatementClaimsFhirApiExtended.DosageMethod,
349
+ [MedicationStatementSearchParamNames.DosageMethodText]: MedicationStatementClaimsFhirApiExtended.DosageMethodText,
350
+ [MedicationStatementSearchParamNames.DosageRoute]: MedicationStatementClaimsFhirApiExtended.DosageRoute,
351
+ [MedicationStatementSearchParamNames.DosageRouteText]: MedicationStatementClaimsFhirApiExtended.DosageRouteText,
352
+ [MedicationStatementSearchParamNames.DosageSite]: MedicationStatementClaimsFhirApiExtended.DosageSite,
353
+ [MedicationStatementSearchParamNames.DosageSiteText]: MedicationStatementClaimsFhirApiExtended.DosageSiteText,
354
+ [MedicationStatementSearchParamNames.DosageCondition]: MedicationStatementClaimsFhirApiExtended.DosageCondition,
355
+ [MedicationStatementSearchParamNames.DosageAsNeeded]: MedicationStatementClaimsFhirApiExtended.DosageAsNeeded,
356
+ [MedicationStatementSearchParamNames.DosagePatientInstructionText]: MedicationStatementClaimsFhirApiExtended.DosagePatientInstructionText,
357
+ [MedicationStatementSearchParamNames.DoseMaxPerPeriod]: MedicationStatementClaimsFhirApiExtended.DoseMaxPerPeriod,
358
+ [MedicationStatementSearchParamNames.DoseMaxPerAdministration]: MedicationStatementClaimsFhirApiExtended.DoseMaxPerAdministration,
359
+ [MedicationStatementSearchParamNames.DoseMaxPerLifetime]: MedicationStatementClaimsFhirApiExtended.DoseMaxPerLifetime,
360
+ [MedicationStatementSearchParamNames.TimingDescription]: MedicationStatementClaimsFhirApiExtended.TimingDescription,
361
+ [MedicationStatementSearchParamNames.TimingCount]: MedicationStatementClaimsFhirApiExtended.TimingCount,
362
+ [MedicationStatementSearchParamNames.TimingCountMax]: MedicationStatementClaimsFhirApiExtended.TimingCountMax,
363
+ [MedicationStatementSearchParamNames.TimingDuration]: MedicationStatementClaimsFhirApiExtended.TimingDuration,
364
+ [MedicationStatementSearchParamNames.TimingDurationMax]: MedicationStatementClaimsFhirApiExtended.TimingDurationMax,
365
+ [MedicationStatementSearchParamNames.TimingDurationUnit]: MedicationStatementClaimsFhirApiExtended.TimingDurationUnit,
366
+ [MedicationStatementSearchParamNames.TimingFrequency]: MedicationStatementClaimsFhirApiExtended.TimingFrequency,
367
+ [MedicationStatementSearchParamNames.TimingFrequencyMax]: MedicationStatementClaimsFhirApiExtended.TimingFrequencyMax,
368
+ [MedicationStatementSearchParamNames.TimingPeriod]: MedicationStatementClaimsFhirApiExtended.TimingPeriod,
369
+ [MedicationStatementSearchParamNames.TimingPeriodMax]: MedicationStatementClaimsFhirApiExtended.TimingPeriodMax,
370
+ [MedicationStatementSearchParamNames.TimingPeriodUnit]: MedicationStatementClaimsFhirApiExtended.TimingPeriodUnit,
371
+ [MedicationStatementSearchParamNames.TimingDayOfWeek]: MedicationStatementClaimsFhirApiExtended.TimingDayOfWeek,
372
+ [MedicationStatementSearchParamNames.TimingTimeOfDay]: MedicationStatementClaimsFhirApiExtended.TimingTimeOfDay,
373
+ [MedicationStatementSearchParamNames.TimingWhen]: MedicationStatementClaimsFhirApiExtended.TimingWhen,
374
+ [MedicationStatementSearchParamNames.TimingOffset]: MedicationStatementClaimsFhirApiExtended.TimingOffset,
375
+ [MedicationStatementSearchParamNames.TimingStartOffset]: MedicationStatementClaimsFhirApiExtended.TimingStartOffset,
376
+ [MedicationStatementSearchParamNames.TimingEndOffset]: MedicationStatementClaimsFhirApiExtended.TimingEndOffset,
377
+ [MedicationStatementSearchParamNames.TimingBoundsType]: MedicationStatementClaimsFhirApiExtended.TimingBoundsType,
378
+ [MedicationStatementSearchParamNames.TimingBoundsPeriodStart]: MedicationStatementClaimsFhirApiExtended.TimingBoundsPeriodStart,
379
+ [MedicationStatementSearchParamNames.TimingBoundsPeriodEnd]: MedicationStatementClaimsFhirApiExtended.TimingBoundsPeriodEnd,
380
+ [MedicationStatementSearchParamNames.TimingBoundsDuration]: MedicationStatementClaimsFhirApiExtended.TimingBoundsDuration,
381
+ [MedicationStatementSearchParamNames.TimingBoundsDurationValue]: MedicationStatementClaimsFhirApiExtended.TimingBoundsDurationValue,
382
+ [MedicationStatementSearchParamNames.TimingBoundsDurationUnit]: MedicationStatementClaimsFhirApiExtended.TimingBoundsDurationUnit,
383
+ [MedicationStatementSearchParamNames.TimingBoundsRangeLow]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLow,
384
+ [MedicationStatementSearchParamNames.TimingBoundsRangeLowValue]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLowValue,
385
+ [MedicationStatementSearchParamNames.TimingBoundsRangeLowUnit]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLowUnit,
386
+ [MedicationStatementSearchParamNames.TimingBoundsRangeHigh]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHigh,
387
+ [MedicationStatementSearchParamNames.TimingBoundsRangeHighValue]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHighValue,
388
+ [MedicationStatementSearchParamNames.TimingBoundsRangeHighUnit]: MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHighUnit,
389
+ };
390
+ export const MedicationStatementClaimsFhirApiMap = {
391
+ [MedicationStatementClaimsFhirApi.Adherence]: String,
392
+ [MedicationStatementClaimsFhirApi.Category]: String,
393
+ [MedicationStatementClaimsFhirApi.Code]: String,
394
+ [MedicationStatementClaimsFhirApi.Effective]: String,
395
+ [MedicationStatementClaimsFhirApi.Identifier]: String,
396
+ [MedicationStatementClaimsFhirApi.Medication]: String,
397
+ [MedicationStatementClaimsFhirApi.PartOf]: String,
398
+ [MedicationStatementClaimsFhirApi.Patient]: String,
399
+ [MedicationStatementClaimsFhirApi.Source]: String,
400
+ [MedicationStatementClaimsFhirApi.Status]: String,
401
+ [MedicationStatementClaimsFhirApi.Subject]: String,
402
+ };
403
+ export const MedicationStatementClaimsFhirApiExtendedMap = {
404
+ ...MedicationStatementClaimsFhirApiMap,
405
+ [MedicationStatementClaimsFhirApiExtended.AdherenceText]: String,
406
+ [MedicationStatementClaimsFhirApiExtended.AdherenceDisplay]: String,
407
+ [MedicationStatementClaimsFhirApiExtended.CodeText]: String,
408
+ [MedicationStatementClaimsFhirApiExtended.CodeDisplay]: String,
409
+ [MedicationStatementClaimsFhirApiExtended.DoseQuantity]: String,
410
+ [MedicationStatementClaimsFhirApiExtended.DoseQuantityValue]: Number,
411
+ [MedicationStatementClaimsFhirApiExtended.DoseQuantityUnit]: String,
412
+ [MedicationStatementClaimsFhirApiExtended.RateQuantity]: String,
413
+ [MedicationStatementClaimsFhirApiExtended.RateQuantityValue]: Number,
414
+ [MedicationStatementClaimsFhirApiExtended.RateQuantityUnit]: String,
415
+ [MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantity]: String,
416
+ [MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantityValue]: Number,
417
+ [MedicationStatementClaimsFhirApiExtended.RateRangeLowQuantityUnit]: String,
418
+ [MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantity]: String,
419
+ [MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantityValue]: Number,
420
+ [MedicationStatementClaimsFhirApiExtended.RateRangeHighQuantityUnit]: String,
421
+ [MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantity]: String,
422
+ [MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantityValue]: Number,
423
+ [MedicationStatementClaimsFhirApiExtended.RateRatioNumeratorQuantityUnit]: String,
424
+ [MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantity]: String,
425
+ [MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantityValue]: Number,
426
+ [MedicationStatementClaimsFhirApiExtended.RateDenominatorQuantityUnit]: String,
427
+ [MedicationStatementClaimsFhirApiExtended.DoseType]: String,
428
+ [MedicationStatementClaimsFhirApiExtended.DosageMethod]: String,
429
+ [MedicationStatementClaimsFhirApiExtended.DosageMethodText]: String,
430
+ [MedicationStatementClaimsFhirApiExtended.DosageRoute]: String,
431
+ [MedicationStatementClaimsFhirApiExtended.DosageRouteText]: String,
432
+ [MedicationStatementClaimsFhirApiExtended.DosageSite]: String,
433
+ [MedicationStatementClaimsFhirApiExtended.DosageSiteText]: String,
434
+ [MedicationStatementClaimsFhirApiExtended.DosageCondition]: String,
435
+ [MedicationStatementClaimsFhirApiExtended.DosageAsNeeded]: Boolean,
436
+ [MedicationStatementClaimsFhirApiExtended.DosagePatientInstructionText]: String,
437
+ [MedicationStatementClaimsFhirApiExtended.DoseMaxPerPeriod]: String,
438
+ [MedicationStatementClaimsFhirApiExtended.DoseMaxPerAdministration]: String,
439
+ [MedicationStatementClaimsFhirApiExtended.DoseMaxPerLifetime]: String,
440
+ [MedicationStatementClaimsFhirApiExtended.TimingDescription]: String,
441
+ [MedicationStatementClaimsFhirApiExtended.TimingCount]: Number,
442
+ [MedicationStatementClaimsFhirApiExtended.TimingCountMax]: Number,
443
+ [MedicationStatementClaimsFhirApiExtended.TimingDuration]: Number,
444
+ [MedicationStatementClaimsFhirApiExtended.TimingDurationMax]: Number,
445
+ [MedicationStatementClaimsFhirApiExtended.TimingDurationUnit]: String,
446
+ [MedicationStatementClaimsFhirApiExtended.TimingFrequency]: Number,
447
+ [MedicationStatementClaimsFhirApiExtended.TimingFrequencyMax]: Number,
448
+ [MedicationStatementClaimsFhirApiExtended.TimingPeriod]: Number,
449
+ [MedicationStatementClaimsFhirApiExtended.TimingPeriodMax]: Number,
450
+ [MedicationStatementClaimsFhirApiExtended.TimingPeriodUnit]: String,
451
+ [MedicationStatementClaimsFhirApiExtended.TimingDayOfWeek]: String,
452
+ [MedicationStatementClaimsFhirApiExtended.TimingTimeOfDay]: String,
453
+ [MedicationStatementClaimsFhirApiExtended.TimingWhen]: String,
454
+ [MedicationStatementClaimsFhirApiExtended.TimingOffset]: Number,
455
+ [MedicationStatementClaimsFhirApiExtended.TimingStartOffset]: Number,
456
+ [MedicationStatementClaimsFhirApiExtended.TimingEndOffset]: Number,
457
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsType]: String,
458
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsPeriodStart]: String,
459
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsPeriodEnd]: String,
460
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsDuration]: String,
461
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsDurationValue]: Number,
462
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsDurationUnit]: String,
463
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLow]: String,
464
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLowValue]: Number,
465
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeLowUnit]: String,
466
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHigh]: String,
467
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHighValue]: Number,
468
+ [MedicationStatementClaimsFhirApiExtended.TimingBoundsRangeHighUnit]: String,
469
+ };
@@ -0,0 +1,18 @@
1
+ import type { ClaimSpec } from './claim-types.js';
2
+ /**
3
+ * Flat claim keys for `Organization`.
4
+ *
5
+ * Use this resource for departments, services, clinics, or legal entities.
6
+ */
7
+ export declare const OrganizationClaim: {
8
+ readonly Identifier: "Organization.identifier";
9
+ readonly Active: "Organization.active";
10
+ readonly Type: "Organization.type";
11
+ readonly Name: "Organization.name";
12
+ readonly Alias: "Organization.alias";
13
+ readonly PartOf: "Organization.part-of";
14
+ readonly Telecom: "Organization.telecom";
15
+ readonly Address: "Organization.address";
16
+ };
17
+ export type OrganizationClaimKey = typeof OrganizationClaim[keyof typeof OrganizationClaim];
18
+ export declare const OrganizationClaimSpecs: ClaimSpec[];
@@ -0,0 +1,27 @@
1
+ // Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
2
+ // File: src/models/interoperable-claims/organization-claims.ts
3
+ /**
4
+ * Flat claim keys for `Organization`.
5
+ *
6
+ * Use this resource for departments, services, clinics, or legal entities.
7
+ */
8
+ export const OrganizationClaim = {
9
+ Identifier: 'Organization.identifier',
10
+ Active: 'Organization.active',
11
+ Type: 'Organization.type',
12
+ Name: 'Organization.name',
13
+ Alias: 'Organization.alias',
14
+ PartOf: 'Organization.part-of',
15
+ Telecom: 'Organization.telecom',
16
+ Address: 'Organization.address',
17
+ };
18
+ export const OrganizationClaimSpecs = [
19
+ { key: OrganizationClaim.Identifier, meaning: 'Business identifier.', example: 'dept-cardiology-001' },
20
+ { key: OrganizationClaim.Active, meaning: 'Active flag.', example: 'true' },
21
+ { key: OrganizationClaim.Type, meaning: 'Organization type token.', example: 'http://terminology.hl7.org/CodeSystem/organization-type|dept' },
22
+ { key: OrganizationClaim.Name, meaning: 'Display name.', example: 'Cardiology Department' },
23
+ { key: OrganizationClaim.Alias, meaning: 'Alternate names as CSV.', example: 'Cardiology,Heart Clinic' },
24
+ { key: OrganizationClaim.PartOf, meaning: 'Parent organization reference.', example: 'Organization/hospital-1' },
25
+ { key: OrganizationClaim.Telecom, meaning: 'Contact values as CSV.', example: 'tel:+16045550101,mailto:cardiology@example.org' },
26
+ { key: OrganizationClaim.Address, meaning: 'Display address.', example: '123 Main St, Vancouver' },
27
+ ];
@@ -0,0 +1,18 @@
1
+ import type { ClaimSpec } from './claim-types.js';
2
+ /** Canonical claims used to preserve the primary coded PractitionerRole label. */
3
+ export declare const PractitionerRoleClaim: {
4
+ readonly Identifier: "PractitionerRole.identifier";
5
+ readonly Active: "PractitionerRole.active";
6
+ readonly Practitioner: "PractitionerRole.practitioner";
7
+ readonly Organization: "PractitionerRole.organization";
8
+ readonly Location: "PractitionerRole.location";
9
+ readonly Service: "PractitionerRole.service";
10
+ readonly Specialty: "PractitionerRole.specialty";
11
+ readonly PeriodStart: "PractitionerRole.period-start";
12
+ readonly PeriodEnd: "PractitionerRole.period-end";
13
+ readonly Code: "PractitionerRole.code";
14
+ readonly CodeText: "PractitionerRole.code-text";
15
+ readonly CodeDisplay: "PractitionerRole.code-display";
16
+ };
17
+ export type PractitionerRoleClaimKey = typeof PractitionerRoleClaim[keyof typeof PractitionerRoleClaim];
18
+ export declare const PractitionerRoleClaimSpecs: ClaimSpec[];
@@ -0,0 +1,33 @@
1
+ // Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
2
+ /** Canonical claims used to preserve the primary coded PractitionerRole label. */
3
+ export const PractitionerRoleClaim = {
4
+ Identifier: 'PractitionerRole.identifier',
5
+ Active: 'PractitionerRole.active',
6
+ Practitioner: 'PractitionerRole.practitioner',
7
+ Organization: 'PractitionerRole.organization',
8
+ Location: 'PractitionerRole.location',
9
+ Service: 'PractitionerRole.service',
10
+ Specialty: 'PractitionerRole.specialty',
11
+ PeriodStart: 'PractitionerRole.period-start',
12
+ PeriodEnd: 'PractitionerRole.period-end',
13
+ Code: 'PractitionerRole.code',
14
+ CodeText: 'PractitionerRole.code-text',
15
+ CodeDisplay: 'PractitionerRole.code-display',
16
+ };
17
+ export const PractitionerRoleClaimSpecs = [
18
+ {
19
+ key: PractitionerRoleClaim.Code,
20
+ meaning: 'Primary practitioner role code token.',
21
+ example: 'http://snomed.info/sct|158965000',
22
+ },
23
+ {
24
+ key: PractitionerRoleClaim.CodeText,
25
+ meaning: 'Local-language practitioner role label.',
26
+ example: 'Médico',
27
+ },
28
+ {
29
+ key: PractitionerRoleClaim.CodeDisplay,
30
+ meaning: 'Canonical/international practitioner role display.',
31
+ example: 'Doctor',
32
+ },
33
+ ];
@@ -0,0 +1,24 @@
1
+ import type { ClaimSpec } from './claim-types.js';
2
+ export declare const ProcedureClaim: {
3
+ readonly BasedOn: "Procedure.based-on";
4
+ readonly BodySite: "Procedure.body-site";
5
+ readonly Code: "Procedure.code";
6
+ readonly CodeText: "Procedure.code-text";
7
+ readonly CodeDisplay: "Procedure.code-display";
8
+ readonly Date: "Procedure.date";
9
+ readonly Encounter: "Procedure.encounter";
10
+ readonly Identifier: "Procedure.identifier";
11
+ readonly InstantiatesCanonical: "Procedure.instantiates-canonical";
12
+ readonly InstantiatesUri: "Procedure.instantiates-uri";
13
+ readonly Location: "Procedure.location";
14
+ readonly PartOf: "Procedure.part-of";
15
+ readonly Patient: "Procedure.patient";
16
+ readonly Performer: "Procedure.performer";
17
+ readonly ReasonCode: "Procedure.reason-code";
18
+ readonly ReasonReference: "Procedure.reason-reference";
19
+ readonly Status: "Procedure.status";
20
+ readonly Subject: "Procedure.subject";
21
+ readonly Note: "Procedure.note";
22
+ };
23
+ export type ProcedureClaimKey = typeof ProcedureClaim[keyof typeof ProcedureClaim];
24
+ export declare const ProcedureClaimSpecs: ClaimSpec[];