@smile-cdr/fhirts 2.2.8 → 2.4.0

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 (660) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.github/workflows/npm-publish.yml +12 -6
  3. package/.github/workflows/pr-build.yml +7 -3
  4. package/.prettierignore +22 -0
  5. package/.prettierrc +10 -0
  6. package/CHANGELOG.md +4 -0
  7. package/GETTINGSTARTED.md +57 -15
  8. package/dist/FHIR-DSTU2.js +1 -1
  9. package/dist/FHIR-R3.js +3 -1
  10. package/dist/FHIR-R4/classes/account.d.ts +2 -1
  11. package/dist/FHIR-R4/classes/account.js +3 -2
  12. package/dist/FHIR-R4/classes/activityDefinition.d.ts +2 -1
  13. package/dist/FHIR-R4/classes/activityDefinition.js +3 -2
  14. package/dist/FHIR-R4/classes/address.js +1 -1
  15. package/dist/FHIR-R4/classes/adverseEvent.d.ts +2 -1
  16. package/dist/FHIR-R4/classes/adverseEvent.js +3 -2
  17. package/dist/FHIR-R4/classes/age.js +1 -1
  18. package/dist/FHIR-R4/classes/allergyIntolerance.d.ts +2 -1
  19. package/dist/FHIR-R4/classes/allergyIntolerance.js +3 -2
  20. package/dist/FHIR-R4/classes/allergyIntoleranceReaction.js +1 -1
  21. package/dist/FHIR-R4/classes/appointment.d.ts +2 -1
  22. package/dist/FHIR-R4/classes/appointment.js +3 -2
  23. package/dist/FHIR-R4/classes/appointmentParticipant.js +1 -1
  24. package/dist/FHIR-R4/classes/appointmentResponse.d.ts +2 -1
  25. package/dist/FHIR-R4/classes/appointmentResponse.js +2 -1
  26. package/dist/FHIR-R4/classes/auditEvent.d.ts +2 -1
  27. package/dist/FHIR-R4/classes/auditEvent.js +3 -2
  28. package/dist/FHIR-R4/classes/auditEventNetwork.js +1 -1
  29. package/dist/FHIR-R4/classes/basic.d.ts +2 -1
  30. package/dist/FHIR-R4/classes/basic.js +2 -1
  31. package/dist/FHIR-R4/classes/biologicallyDerivedProduct.d.ts +2 -1
  32. package/dist/FHIR-R4/classes/biologicallyDerivedProduct.js +3 -2
  33. package/dist/FHIR-R4/classes/biologicallyDerivedProductStorage.js +1 -1
  34. package/dist/FHIR-R4/classes/bodyStructure.d.ts +2 -1
  35. package/dist/FHIR-R4/classes/bodyStructure.js +2 -1
  36. package/dist/FHIR-R4/classes/bundle.js +1 -1
  37. package/dist/FHIR-R4/classes/capabilityStatement.d.ts +2 -1
  38. package/dist/FHIR-R4/classes/capabilityStatement.js +3 -2
  39. package/dist/FHIR-R4/classes/capabilityStatementDocument.js +1 -1
  40. package/dist/FHIR-R4/classes/capabilityStatementInteraction.js +1 -1
  41. package/dist/FHIR-R4/classes/capabilityStatementInteraction1.js +1 -1
  42. package/dist/FHIR-R4/classes/capabilityStatementResource.js +1 -1
  43. package/dist/FHIR-R4/classes/capabilityStatementRest.js +1 -1
  44. package/dist/FHIR-R4/classes/capabilityStatementSearchParam.js +1 -1
  45. package/dist/FHIR-R4/classes/capabilityStatementSupportedMessage.js +1 -1
  46. package/dist/FHIR-R4/classes/carePlan.d.ts +2 -1
  47. package/dist/FHIR-R4/classes/carePlan.js +2 -1
  48. package/dist/FHIR-R4/classes/carePlanDetail.js +1 -1
  49. package/dist/FHIR-R4/classes/careTeam.d.ts +2 -1
  50. package/dist/FHIR-R4/classes/careTeam.js +3 -2
  51. package/dist/FHIR-R4/classes/catalogEntry.d.ts +2 -1
  52. package/dist/FHIR-R4/classes/catalogEntry.js +3 -2
  53. package/dist/FHIR-R4/classes/catalogEntryRelatedEntry.js +1 -1
  54. package/dist/FHIR-R4/classes/chargeItem.d.ts +2 -1
  55. package/dist/FHIR-R4/classes/chargeItem.js +3 -2
  56. package/dist/FHIR-R4/classes/chargeItemDefinition.d.ts +2 -1
  57. package/dist/FHIR-R4/classes/chargeItemDefinition.js +3 -2
  58. package/dist/FHIR-R4/classes/claim.d.ts +2 -1
  59. package/dist/FHIR-R4/classes/claim.js +3 -2
  60. package/dist/FHIR-R4/classes/claimResponse.d.ts +2 -1
  61. package/dist/FHIR-R4/classes/claimResponse.js +2 -1
  62. package/dist/FHIR-R4/classes/claimResponseProcessNote.js +1 -1
  63. package/dist/FHIR-R4/classes/clinicalImpression.d.ts +2 -1
  64. package/dist/FHIR-R4/classes/clinicalImpression.js +2 -1
  65. package/dist/FHIR-R4/classes/codeSystem.d.ts +2 -1
  66. package/dist/FHIR-R4/classes/codeSystem.js +3 -2
  67. package/dist/FHIR-R4/classes/codeSystemProperty.js +1 -1
  68. package/dist/FHIR-R4/classes/communication.d.ts +2 -1
  69. package/dist/FHIR-R4/classes/communication.js +2 -1
  70. package/dist/FHIR-R4/classes/communicationRequest.d.ts +2 -1
  71. package/dist/FHIR-R4/classes/communicationRequest.js +2 -1
  72. package/dist/FHIR-R4/classes/compartmentDefinition.d.ts +2 -1
  73. package/dist/FHIR-R4/classes/compartmentDefinition.js +3 -2
  74. package/dist/FHIR-R4/classes/composition.d.ts +2 -1
  75. package/dist/FHIR-R4/classes/composition.js +3 -2
  76. package/dist/FHIR-R4/classes/compositionAttester.js +1 -1
  77. package/dist/FHIR-R4/classes/conceptMap.d.ts +2 -1
  78. package/dist/FHIR-R4/classes/conceptMap.js +3 -2
  79. package/dist/FHIR-R4/classes/conceptMapTarget.js +1 -1
  80. package/dist/FHIR-R4/classes/conceptMapUnmapped.js +1 -1
  81. package/dist/FHIR-R4/classes/condition.d.ts +2 -1
  82. package/dist/FHIR-R4/classes/condition.js +2 -1
  83. package/dist/FHIR-R4/classes/consent.d.ts +2 -1
  84. package/dist/FHIR-R4/classes/consent.js +3 -2
  85. package/dist/FHIR-R4/classes/consentData.js +1 -1
  86. package/dist/FHIR-R4/classes/consentProvision.js +1 -1
  87. package/dist/FHIR-R4/classes/contactPoint.js +1 -1
  88. package/dist/FHIR-R4/classes/contract.d.ts +2 -1
  89. package/dist/FHIR-R4/classes/contract.js +2 -1
  90. package/dist/FHIR-R4/classes/contributor.js +1 -1
  91. package/dist/FHIR-R4/classes/count.js +1 -1
  92. package/dist/FHIR-R4/classes/coverage.d.ts +2 -1
  93. package/dist/FHIR-R4/classes/coverage.js +2 -1
  94. package/dist/FHIR-R4/classes/coverageEligibilityRequest.d.ts +2 -1
  95. package/dist/FHIR-R4/classes/coverageEligibilityRequest.js +2 -1
  96. package/dist/FHIR-R4/classes/coverageEligibilityResponse.d.ts +2 -1
  97. package/dist/FHIR-R4/classes/coverageEligibilityResponse.js +3 -2
  98. package/dist/FHIR-R4/classes/dataRequirementSort.js +1 -1
  99. package/dist/FHIR-R4/classes/detectedIssue.d.ts +2 -1
  100. package/dist/FHIR-R4/classes/detectedIssue.js +3 -2
  101. package/dist/FHIR-R4/classes/device.d.ts +2 -1
  102. package/dist/FHIR-R4/classes/device.js +3 -2
  103. package/dist/FHIR-R4/classes/deviceDefinition.d.ts +2 -1
  104. package/dist/FHIR-R4/classes/deviceDefinition.js +2 -1
  105. package/dist/FHIR-R4/classes/deviceDefinitionDeviceName.js +1 -1
  106. package/dist/FHIR-R4/classes/deviceDeviceName.js +1 -1
  107. package/dist/FHIR-R4/classes/deviceMetric.d.ts +2 -1
  108. package/dist/FHIR-R4/classes/deviceMetric.js +3 -2
  109. package/dist/FHIR-R4/classes/deviceMetricCalibration.js +1 -1
  110. package/dist/FHIR-R4/classes/deviceRequest.d.ts +2 -1
  111. package/dist/FHIR-R4/classes/deviceRequest.js +2 -1
  112. package/dist/FHIR-R4/classes/deviceUdiCarrier.js +1 -1
  113. package/dist/FHIR-R4/classes/deviceUseStatement.d.ts +2 -1
  114. package/dist/FHIR-R4/classes/deviceUseStatement.js +3 -2
  115. package/dist/FHIR-R4/classes/diagnosticReport.d.ts +2 -1
  116. package/dist/FHIR-R4/classes/diagnosticReport.js +3 -2
  117. package/dist/FHIR-R4/classes/distance.js +1 -1
  118. package/dist/FHIR-R4/classes/documentManifest.d.ts +2 -1
  119. package/dist/FHIR-R4/classes/documentManifest.js +3 -2
  120. package/dist/FHIR-R4/classes/documentReference.d.ts +2 -1
  121. package/dist/FHIR-R4/classes/documentReference.js +3 -2
  122. package/dist/FHIR-R4/classes/documentReferenceRelatesTo.js +1 -1
  123. package/dist/FHIR-R4/classes/domainResource.d.ts +4 -0
  124. package/dist/FHIR-R4/classes/domainResource.js +6 -0
  125. package/dist/FHIR-R4/classes/duration.js +1 -1
  126. package/dist/FHIR-R4/classes/effectEvidenceSynthesis.d.ts +2 -1
  127. package/dist/FHIR-R4/classes/effectEvidenceSynthesis.js +3 -2
  128. package/dist/FHIR-R4/classes/effectEvidenceSynthesisResultsByExposure.js +1 -1
  129. package/dist/FHIR-R4/classes/elementDefinitionBinding.js +1 -1
  130. package/dist/FHIR-R4/classes/elementDefinitionConstraint.js +1 -1
  131. package/dist/FHIR-R4/classes/elementDefinitionDiscriminator.js +1 -1
  132. package/dist/FHIR-R4/classes/elementDefinitionSlicing.js +1 -1
  133. package/dist/FHIR-R4/classes/elementDefinitionType.js +1 -1
  134. package/dist/FHIR-R4/classes/encounter.d.ts +2 -1
  135. package/dist/FHIR-R4/classes/encounter.js +3 -2
  136. package/dist/FHIR-R4/classes/encounterLocation.js +1 -1
  137. package/dist/FHIR-R4/classes/encounterStatusHistory.js +1 -1
  138. package/dist/FHIR-R4/classes/endpoint.d.ts +2 -1
  139. package/dist/FHIR-R4/classes/endpoint.js +3 -2
  140. package/dist/FHIR-R4/classes/enrollmentRequest.d.ts +2 -1
  141. package/dist/FHIR-R4/classes/enrollmentRequest.js +2 -1
  142. package/dist/FHIR-R4/classes/enrollmentResponse.d.ts +2 -1
  143. package/dist/FHIR-R4/classes/enrollmentResponse.js +3 -2
  144. package/dist/FHIR-R4/classes/episodeOfCare.d.ts +2 -1
  145. package/dist/FHIR-R4/classes/episodeOfCare.js +3 -2
  146. package/dist/FHIR-R4/classes/episodeOfCareStatusHistory.js +1 -1
  147. package/dist/FHIR-R4/classes/eventDefinition.d.ts +2 -1
  148. package/dist/FHIR-R4/classes/eventDefinition.js +3 -2
  149. package/dist/FHIR-R4/classes/evidence.d.ts +2 -1
  150. package/dist/FHIR-R4/classes/evidence.js +3 -2
  151. package/dist/FHIR-R4/classes/evidenceVariable.d.ts +2 -1
  152. package/dist/FHIR-R4/classes/evidenceVariable.js +3 -2
  153. package/dist/FHIR-R4/classes/evidenceVariableCharacteristic.js +1 -1
  154. package/dist/FHIR-R4/classes/exampleScenario.d.ts +2 -1
  155. package/dist/FHIR-R4/classes/exampleScenario.js +3 -2
  156. package/dist/FHIR-R4/classes/exampleScenarioActor.js +1 -1
  157. package/dist/FHIR-R4/classes/exampleScenarioInstance.d.ts +2 -1
  158. package/dist/FHIR-R4/classes/exampleScenarioInstance.js +2 -1
  159. package/dist/FHIR-R4/classes/explanationOfBenefit.d.ts +2 -1
  160. package/dist/FHIR-R4/classes/explanationOfBenefit.js +3 -2
  161. package/dist/FHIR-R4/classes/explanationOfBenefitProcessNote.js +1 -1
  162. package/dist/FHIR-R4/classes/expression.js +1 -1
  163. package/dist/FHIR-R4/classes/familyMemberHistory.d.ts +2 -1
  164. package/dist/FHIR-R4/classes/familyMemberHistory.js +3 -2
  165. package/dist/FHIR-R4/classes/flag.d.ts +2 -1
  166. package/dist/FHIR-R4/classes/flag.js +3 -2
  167. package/dist/FHIR-R4/classes/goal.d.ts +2 -1
  168. package/dist/FHIR-R4/classes/goal.js +3 -2
  169. package/dist/FHIR-R4/classes/graphDefinition.d.ts +2 -1
  170. package/dist/FHIR-R4/classes/graphDefinition.js +3 -2
  171. package/dist/FHIR-R4/classes/graphDefinitionCompartment.js +1 -1
  172. package/dist/FHIR-R4/classes/group.d.ts +2 -1
  173. package/dist/FHIR-R4/classes/group.js +3 -2
  174. package/dist/FHIR-R4/classes/guidanceResponse.d.ts +2 -1
  175. package/dist/FHIR-R4/classes/guidanceResponse.js +3 -2
  176. package/dist/FHIR-R4/classes/healthcareService.d.ts +2 -1
  177. package/dist/FHIR-R4/classes/healthcareService.js +2 -1
  178. package/dist/FHIR-R4/classes/humanName.js +1 -1
  179. package/dist/FHIR-R4/classes/identifier.js +1 -1
  180. package/dist/FHIR-R4/classes/imagingStudy.d.ts +2 -1
  181. package/dist/FHIR-R4/classes/imagingStudy.js +3 -2
  182. package/dist/FHIR-R4/classes/immunization.d.ts +2 -1
  183. package/dist/FHIR-R4/classes/immunization.js +2 -1
  184. package/dist/FHIR-R4/classes/immunizationEvaluation.d.ts +2 -1
  185. package/dist/FHIR-R4/classes/immunizationEvaluation.js +2 -1
  186. package/dist/FHIR-R4/classes/immunizationRecommendation.d.ts +2 -1
  187. package/dist/FHIR-R4/classes/immunizationRecommendation.js +2 -1
  188. package/dist/FHIR-R4/classes/implementationGuide.d.ts +2 -1
  189. package/dist/FHIR-R4/classes/implementationGuide.js +3 -2
  190. package/dist/FHIR-R4/classes/implementationGuidePage.js +1 -1
  191. package/dist/FHIR-R4/classes/implementationGuideParameter.js +1 -1
  192. package/dist/FHIR-R4/classes/insurancePlan.d.ts +2 -1
  193. package/dist/FHIR-R4/classes/insurancePlan.js +3 -2
  194. package/dist/FHIR-R4/classes/invoice.d.ts +2 -1
  195. package/dist/FHIR-R4/classes/invoice.js +3 -2
  196. package/dist/FHIR-R4/classes/invoicePriceComponent.js +1 -1
  197. package/dist/FHIR-R4/classes/library.d.ts +2 -1
  198. package/dist/FHIR-R4/classes/library.js +3 -2
  199. package/dist/FHIR-R4/classes/linkage.d.ts +2 -1
  200. package/dist/FHIR-R4/classes/linkage.js +2 -1
  201. package/dist/FHIR-R4/classes/linkageItem.js +1 -1
  202. package/dist/FHIR-R4/classes/list.d.ts +2 -1
  203. package/dist/FHIR-R4/classes/list.js +3 -2
  204. package/dist/FHIR-R4/classes/location.d.ts +2 -1
  205. package/dist/FHIR-R4/classes/location.js +3 -2
  206. package/dist/FHIR-R4/classes/measure.d.ts +2 -1
  207. package/dist/FHIR-R4/classes/measure.js +3 -2
  208. package/dist/FHIR-R4/classes/measureReport.d.ts +2 -1
  209. package/dist/FHIR-R4/classes/measureReport.js +3 -2
  210. package/dist/FHIR-R4/classes/media.d.ts +2 -1
  211. package/dist/FHIR-R4/classes/media.js +2 -1
  212. package/dist/FHIR-R4/classes/medication.d.ts +2 -1
  213. package/dist/FHIR-R4/classes/medication.js +2 -1
  214. package/dist/FHIR-R4/classes/medicationAdministration.d.ts +2 -1
  215. package/dist/FHIR-R4/classes/medicationAdministration.js +2 -1
  216. package/dist/FHIR-R4/classes/medicationDispense.d.ts +2 -1
  217. package/dist/FHIR-R4/classes/medicationDispense.js +2 -1
  218. package/dist/FHIR-R4/classes/medicationKnowledge.d.ts +2 -1
  219. package/dist/FHIR-R4/classes/medicationKnowledge.js +2 -1
  220. package/dist/FHIR-R4/classes/medicationRequest.d.ts +2 -1
  221. package/dist/FHIR-R4/classes/medicationRequest.js +2 -1
  222. package/dist/FHIR-R4/classes/medicationStatement.d.ts +2 -1
  223. package/dist/FHIR-R4/classes/medicationStatement.js +2 -1
  224. package/dist/FHIR-R4/classes/medicinalProduct.d.ts +2 -1
  225. package/dist/FHIR-R4/classes/medicinalProduct.js +2 -1
  226. package/dist/FHIR-R4/classes/medicinalProductAuthorization.d.ts +2 -1
  227. package/dist/FHIR-R4/classes/medicinalProductAuthorization.js +2 -1
  228. package/dist/FHIR-R4/classes/medicinalProductContraindication.d.ts +2 -1
  229. package/dist/FHIR-R4/classes/medicinalProductContraindication.js +2 -1
  230. package/dist/FHIR-R4/classes/medicinalProductIndication.d.ts +2 -1
  231. package/dist/FHIR-R4/classes/medicinalProductIndication.js +2 -1
  232. package/dist/FHIR-R4/classes/medicinalProductIngredient.d.ts +2 -1
  233. package/dist/FHIR-R4/classes/medicinalProductIngredient.js +2 -1
  234. package/dist/FHIR-R4/classes/medicinalProductInteraction.d.ts +2 -1
  235. package/dist/FHIR-R4/classes/medicinalProductInteraction.js +2 -1
  236. package/dist/FHIR-R4/classes/medicinalProductManufactured.d.ts +2 -1
  237. package/dist/FHIR-R4/classes/medicinalProductManufactured.js +2 -1
  238. package/dist/FHIR-R4/classes/medicinalProductPackaged.d.ts +2 -1
  239. package/dist/FHIR-R4/classes/medicinalProductPackaged.js +2 -1
  240. package/dist/FHIR-R4/classes/medicinalProductPharmaceutical.d.ts +2 -1
  241. package/dist/FHIR-R4/classes/medicinalProductPharmaceutical.js +2 -1
  242. package/dist/FHIR-R4/classes/medicinalProductUndesirableEffect.d.ts +2 -1
  243. package/dist/FHIR-R4/classes/medicinalProductUndesirableEffect.js +2 -1
  244. package/dist/FHIR-R4/classes/messageDefinition.d.ts +2 -1
  245. package/dist/FHIR-R4/classes/messageDefinition.js +3 -2
  246. package/dist/FHIR-R4/classes/messageHeader.d.ts +2 -1
  247. package/dist/FHIR-R4/classes/messageHeader.js +2 -1
  248. package/dist/FHIR-R4/classes/messageHeaderResponse.js +1 -1
  249. package/dist/FHIR-R4/classes/molecularSequence.d.ts +2 -1
  250. package/dist/FHIR-R4/classes/molecularSequence.js +3 -2
  251. package/dist/FHIR-R4/classes/molecularSequenceQuality.js +1 -1
  252. package/dist/FHIR-R4/classes/molecularSequenceReferenceSeq.js +1 -1
  253. package/dist/FHIR-R4/classes/molecularSequenceRepository.js +1 -1
  254. package/dist/FHIR-R4/classes/namingSystem.d.ts +2 -1
  255. package/dist/FHIR-R4/classes/namingSystem.js +3 -2
  256. package/dist/FHIR-R4/classes/namingSystemUniqueId.js +1 -1
  257. package/dist/FHIR-R4/classes/narrative.js +1 -1
  258. package/dist/FHIR-R4/classes/nutritionOrder.d.ts +2 -1
  259. package/dist/FHIR-R4/classes/nutritionOrder.js +2 -1
  260. package/dist/FHIR-R4/classes/observation.d.ts +2 -1
  261. package/dist/FHIR-R4/classes/observation.js +3 -2
  262. package/dist/FHIR-R4/classes/observationDefinition.d.ts +2 -1
  263. package/dist/FHIR-R4/classes/observationDefinition.js +2 -1
  264. package/dist/FHIR-R4/classes/observationDefinitionQualifiedInterval.js +1 -1
  265. package/dist/FHIR-R4/classes/operationDefinition.d.ts +2 -1
  266. package/dist/FHIR-R4/classes/operationDefinition.js +3 -2
  267. package/dist/FHIR-R4/classes/operationDefinitionBinding.js +1 -1
  268. package/dist/FHIR-R4/classes/operationDefinitionParameter.js +1 -1
  269. package/dist/FHIR-R4/classes/operationOutcome.d.ts +2 -1
  270. package/dist/FHIR-R4/classes/operationOutcome.js +13 -1
  271. package/dist/FHIR-R4/classes/organization.d.ts +2 -1
  272. package/dist/FHIR-R4/classes/organization.js +2 -1
  273. package/dist/FHIR-R4/classes/organizationAffiliation.d.ts +2 -1
  274. package/dist/FHIR-R4/classes/organizationAffiliation.js +2 -1
  275. package/dist/FHIR-R4/classes/patient.d.ts +2 -1
  276. package/dist/FHIR-R4/classes/patient.js +3 -2
  277. package/dist/FHIR-R4/classes/patientContact.js +1 -1
  278. package/dist/FHIR-R4/classes/patientLink.js +1 -1
  279. package/dist/FHIR-R4/classes/paymentNotice.d.ts +2 -1
  280. package/dist/FHIR-R4/classes/paymentNotice.js +2 -1
  281. package/dist/FHIR-R4/classes/paymentReconciliation.d.ts +2 -1
  282. package/dist/FHIR-R4/classes/paymentReconciliation.js +3 -2
  283. package/dist/FHIR-R4/classes/paymentReconciliationProcessNote.js +1 -1
  284. package/dist/FHIR-R4/classes/person.d.ts +2 -1
  285. package/dist/FHIR-R4/classes/person.js +3 -2
  286. package/dist/FHIR-R4/classes/personLink.js +1 -1
  287. package/dist/FHIR-R4/classes/planDefinition.d.ts +2 -1
  288. package/dist/FHIR-R4/classes/planDefinition.js +3 -2
  289. package/dist/FHIR-R4/classes/planDefinitionAction.js +1 -1
  290. package/dist/FHIR-R4/classes/planDefinitionCondition.js +1 -1
  291. package/dist/FHIR-R4/classes/planDefinitionParticipant.js +1 -1
  292. package/dist/FHIR-R4/classes/planDefinitionRelatedAction.js +1 -1
  293. package/dist/FHIR-R4/classes/practitioner.d.ts +2 -1
  294. package/dist/FHIR-R4/classes/practitioner.js +3 -2
  295. package/dist/FHIR-R4/classes/practitionerRole.d.ts +2 -1
  296. package/dist/FHIR-R4/classes/practitionerRole.js +2 -1
  297. package/dist/FHIR-R4/classes/procedure.d.ts +2 -1
  298. package/dist/FHIR-R4/classes/procedure.js +2 -1
  299. package/dist/FHIR-R4/classes/provenance.d.ts +2 -1
  300. package/dist/FHIR-R4/classes/provenance.js +2 -1
  301. package/dist/FHIR-R4/classes/provenanceEntity.js +1 -1
  302. package/dist/FHIR-R4/classes/quantity.js +1 -1
  303. package/dist/FHIR-R4/classes/questionnaire.d.ts +2 -1
  304. package/dist/FHIR-R4/classes/questionnaire.js +3 -2
  305. package/dist/FHIR-R4/classes/questionnaireEnableWhen.js +1 -1
  306. package/dist/FHIR-R4/classes/questionnaireItem.js +1 -1
  307. package/dist/FHIR-R4/classes/questionnaireResponse.d.ts +2 -1
  308. package/dist/FHIR-R4/classes/questionnaireResponse.js +3 -2
  309. package/dist/FHIR-R4/classes/relatedArtifact.js +1 -1
  310. package/dist/FHIR-R4/classes/relatedPerson.d.ts +2 -1
  311. package/dist/FHIR-R4/classes/relatedPerson.js +3 -2
  312. package/dist/FHIR-R4/classes/requestGroup.d.ts +2 -1
  313. package/dist/FHIR-R4/classes/requestGroup.js +2 -1
  314. package/dist/FHIR-R4/classes/researchDefinition.d.ts +2 -1
  315. package/dist/FHIR-R4/classes/researchDefinition.js +3 -2
  316. package/dist/FHIR-R4/classes/researchElementDefinition.d.ts +2 -1
  317. package/dist/FHIR-R4/classes/researchElementDefinition.js +3 -2
  318. package/dist/FHIR-R4/classes/researchElementDefinitionCharacteristic.js +1 -1
  319. package/dist/FHIR-R4/classes/researchStudy.d.ts +2 -1
  320. package/dist/FHIR-R4/classes/researchStudy.js +3 -2
  321. package/dist/FHIR-R4/classes/researchSubject.d.ts +2 -1
  322. package/dist/FHIR-R4/classes/researchSubject.js +3 -2
  323. package/dist/FHIR-R4/classes/riskAssessment.d.ts +2 -1
  324. package/dist/FHIR-R4/classes/riskAssessment.js +2 -1
  325. package/dist/FHIR-R4/classes/riskEvidenceSynthesis.d.ts +2 -1
  326. package/dist/FHIR-R4/classes/riskEvidenceSynthesis.js +3 -2
  327. package/dist/FHIR-R4/classes/schedule.d.ts +2 -1
  328. package/dist/FHIR-R4/classes/schedule.js +2 -1
  329. package/dist/FHIR-R4/classes/searchParameter.d.ts +2 -1
  330. package/dist/FHIR-R4/classes/searchParameter.js +3 -2
  331. package/dist/FHIR-R4/classes/serviceRequest.d.ts +2 -1
  332. package/dist/FHIR-R4/classes/serviceRequest.js +2 -1
  333. package/dist/FHIR-R4/classes/slot.d.ts +2 -1
  334. package/dist/FHIR-R4/classes/slot.js +3 -2
  335. package/dist/FHIR-R4/classes/specimen.d.ts +2 -1
  336. package/dist/FHIR-R4/classes/specimen.js +3 -2
  337. package/dist/FHIR-R4/classes/specimenDefinition.d.ts +2 -1
  338. package/dist/FHIR-R4/classes/specimenDefinition.js +2 -1
  339. package/dist/FHIR-R4/classes/specimenDefinitionTypeTested.js +1 -1
  340. package/dist/FHIR-R4/classes/structureDefinition.d.ts +2 -1
  341. package/dist/FHIR-R4/classes/structureDefinition.js +3 -2
  342. package/dist/FHIR-R4/classes/structureDefinitionContext.js +1 -1
  343. package/dist/FHIR-R4/classes/structureMap.d.ts +2 -1
  344. package/dist/FHIR-R4/classes/structureMap.js +3 -2
  345. package/dist/FHIR-R4/classes/structureMapGroup.js +1 -1
  346. package/dist/FHIR-R4/classes/structureMapInput.js +1 -1
  347. package/dist/FHIR-R4/classes/structureMapSource.js +1 -1
  348. package/dist/FHIR-R4/classes/structureMapStructure.js +1 -1
  349. package/dist/FHIR-R4/classes/structureMapTarget.js +1 -1
  350. package/dist/FHIR-R4/classes/subscription.d.ts +2 -1
  351. package/dist/FHIR-R4/classes/subscription.js +3 -2
  352. package/dist/FHIR-R4/classes/subscriptionChannel.js +1 -1
  353. package/dist/FHIR-R4/classes/substance.d.ts +2 -1
  354. package/dist/FHIR-R4/classes/substance.js +3 -2
  355. package/dist/FHIR-R4/classes/substanceNucleicAcid.d.ts +2 -1
  356. package/dist/FHIR-R4/classes/substanceNucleicAcid.js +2 -1
  357. package/dist/FHIR-R4/classes/substancePolymer.d.ts +2 -1
  358. package/dist/FHIR-R4/classes/substancePolymer.js +2 -1
  359. package/dist/FHIR-R4/classes/substanceProtein.d.ts +2 -1
  360. package/dist/FHIR-R4/classes/substanceProtein.js +2 -1
  361. package/dist/FHIR-R4/classes/substanceReferenceInformation.d.ts +2 -1
  362. package/dist/FHIR-R4/classes/substanceReferenceInformation.js +2 -1
  363. package/dist/FHIR-R4/classes/substanceSourceMaterial.d.ts +2 -1
  364. package/dist/FHIR-R4/classes/substanceSourceMaterial.js +2 -1
  365. package/dist/FHIR-R4/classes/substanceSpecification.d.ts +2 -1
  366. package/dist/FHIR-R4/classes/substanceSpecification.js +2 -1
  367. package/dist/FHIR-R4/classes/supplyDelivery.d.ts +2 -1
  368. package/dist/FHIR-R4/classes/supplyDelivery.js +3 -2
  369. package/dist/FHIR-R4/classes/supplyRequest.d.ts +2 -1
  370. package/dist/FHIR-R4/classes/supplyRequest.js +3 -2
  371. package/dist/FHIR-R4/classes/task.d.ts +2 -1
  372. package/dist/FHIR-R4/classes/task.js +3 -2
  373. package/dist/FHIR-R4/classes/terminologyCapabilities.d.ts +2 -1
  374. package/dist/FHIR-R4/classes/terminologyCapabilities.js +3 -2
  375. package/dist/FHIR-R4/classes/testReport.d.ts +2 -1
  376. package/dist/FHIR-R4/classes/testReport.js +3 -2
  377. package/dist/FHIR-R4/classes/testReportAssert.js +1 -1
  378. package/dist/FHIR-R4/classes/testReportOperation.js +1 -1
  379. package/dist/FHIR-R4/classes/testReportParticipant.js +1 -1
  380. package/dist/FHIR-R4/classes/testScript.d.ts +2 -1
  381. package/dist/FHIR-R4/classes/testScript.js +3 -2
  382. package/dist/FHIR-R4/classes/testScriptAssert.js +1 -1
  383. package/dist/FHIR-R4/classes/testScriptOperation.js +1 -1
  384. package/dist/FHIR-R4/classes/timingRepeat.js +1 -1
  385. package/dist/FHIR-R4/classes/triggerDefinition.js +1 -1
  386. package/dist/FHIR-R4/classes/valueSet.d.ts +2 -1
  387. package/dist/FHIR-R4/classes/valueSet.js +3 -2
  388. package/dist/FHIR-R4/classes/valueSetFilter.js +1 -1
  389. package/dist/FHIR-R4/classes/verificationResult.d.ts +2 -1
  390. package/dist/FHIR-R4/classes/verificationResult.js +2 -1
  391. package/dist/FHIR-R4/classes/visionPrescription.d.ts +2 -1
  392. package/dist/FHIR-R4/classes/visionPrescription.js +2 -1
  393. package/dist/FHIR-R4/classes/visionPrescriptionLensSpecification.js +1 -1
  394. package/dist/FHIR-R4/classes/visionPrescriptionPrism.js +1 -1
  395. package/dist/FHIR-R4/interfaces/IAccount.js +1 -1
  396. package/dist/FHIR-R4/interfaces/IActivityDefinition.js +1 -1
  397. package/dist/FHIR-R4/interfaces/IAdverseEvent.js +1 -1
  398. package/dist/FHIR-R4/interfaces/IAllergyIntolerance.js +1 -1
  399. package/dist/FHIR-R4/interfaces/IAppointment.js +1 -1
  400. package/dist/FHIR-R4/interfaces/IAuditEvent.js +1 -1
  401. package/dist/FHIR-R4/interfaces/IBiologicallyDerivedProduct.js +1 -1
  402. package/dist/FHIR-R4/interfaces/IBundle.js +1 -1
  403. package/dist/FHIR-R4/interfaces/ICapabilityStatement.js +1 -1
  404. package/dist/FHIR-R4/interfaces/ICareTeam.js +1 -1
  405. package/dist/FHIR-R4/interfaces/ICatalogEntry.js +1 -1
  406. package/dist/FHIR-R4/interfaces/IChargeItem.js +1 -1
  407. package/dist/FHIR-R4/interfaces/IChargeItemDefinition.js +1 -1
  408. package/dist/FHIR-R4/interfaces/IClaim.js +1 -1
  409. package/dist/FHIR-R4/interfaces/ICodeSystem.js +1 -1
  410. package/dist/FHIR-R4/interfaces/ICompartmentDefinition.js +1 -1
  411. package/dist/FHIR-R4/interfaces/IComposition.js +1 -1
  412. package/dist/FHIR-R4/interfaces/IConceptMap.js +1 -1
  413. package/dist/FHIR-R4/interfaces/IConsent.js +1 -1
  414. package/dist/FHIR-R4/interfaces/ICoverageEligibilityResponse.js +1 -1
  415. package/dist/FHIR-R4/interfaces/IDetectedIssue.js +1 -1
  416. package/dist/FHIR-R4/interfaces/IDevice.js +1 -1
  417. package/dist/FHIR-R4/interfaces/IDeviceMetric.js +1 -1
  418. package/dist/FHIR-R4/interfaces/IDeviceUseStatement.js +1 -1
  419. package/dist/FHIR-R4/interfaces/IDiagnosticReport.js +1 -1
  420. package/dist/FHIR-R4/interfaces/IDocumentManifest.js +1 -1
  421. package/dist/FHIR-R4/interfaces/IDocumentReference.js +1 -1
  422. package/dist/FHIR-R4/interfaces/IEffectEvidenceSynthesis.js +1 -1
  423. package/dist/FHIR-R4/interfaces/IEncounter.js +1 -1
  424. package/dist/FHIR-R4/interfaces/IEndpoint.js +1 -1
  425. package/dist/FHIR-R4/interfaces/IEnrollmentResponse.js +1 -1
  426. package/dist/FHIR-R4/interfaces/IEpisodeOfCare.js +1 -1
  427. package/dist/FHIR-R4/interfaces/IEventDefinition.js +1 -1
  428. package/dist/FHIR-R4/interfaces/IEvidence.js +1 -1
  429. package/dist/FHIR-R4/interfaces/IEvidenceVariable.js +1 -1
  430. package/dist/FHIR-R4/interfaces/IExampleScenario.js +1 -1
  431. package/dist/FHIR-R4/interfaces/IExplanationOfBenefit.js +1 -1
  432. package/dist/FHIR-R4/interfaces/IFamilyMemberHistory.js +1 -1
  433. package/dist/FHIR-R4/interfaces/IFlag.js +1 -1
  434. package/dist/FHIR-R4/interfaces/IGoal.js +1 -1
  435. package/dist/FHIR-R4/interfaces/IGraphDefinition.js +1 -1
  436. package/dist/FHIR-R4/interfaces/IGroup.js +1 -1
  437. package/dist/FHIR-R4/interfaces/IGuidanceResponse.js +1 -1
  438. package/dist/FHIR-R4/interfaces/IImagingStudy.js +1 -1
  439. package/dist/FHIR-R4/interfaces/IImplementationGuide.js +1 -1
  440. package/dist/FHIR-R4/interfaces/IInsurancePlan.js +1 -1
  441. package/dist/FHIR-R4/interfaces/IInvoice.js +1 -1
  442. package/dist/FHIR-R4/interfaces/ILibrary.js +1 -1
  443. package/dist/FHIR-R4/interfaces/IList.js +1 -1
  444. package/dist/FHIR-R4/interfaces/ILocation.js +1 -1
  445. package/dist/FHIR-R4/interfaces/IMeasure.js +1 -1
  446. package/dist/FHIR-R4/interfaces/IMeasureReport.js +1 -1
  447. package/dist/FHIR-R4/interfaces/IMessageDefinition.js +1 -1
  448. package/dist/FHIR-R4/interfaces/IMolecularSequence.js +1 -1
  449. package/dist/FHIR-R4/interfaces/INamingSystem.js +1 -1
  450. package/dist/FHIR-R4/interfaces/IObservation.js +1 -1
  451. package/dist/FHIR-R4/interfaces/IOperationDefinition.js +1 -1
  452. package/dist/FHIR-R4/interfaces/IPatient.js +1 -1
  453. package/dist/FHIR-R4/interfaces/IPaymentReconciliation.js +1 -1
  454. package/dist/FHIR-R4/interfaces/IPerson.js +1 -1
  455. package/dist/FHIR-R4/interfaces/IPlanDefinition.js +1 -1
  456. package/dist/FHIR-R4/interfaces/IPractitioner.js +1 -1
  457. package/dist/FHIR-R4/interfaces/IQuestionnaire.js +1 -1
  458. package/dist/FHIR-R4/interfaces/IQuestionnaireResponse.js +1 -1
  459. package/dist/FHIR-R4/interfaces/IRelatedPerson.js +1 -1
  460. package/dist/FHIR-R4/interfaces/IResearchDefinition.js +1 -1
  461. package/dist/FHIR-R4/interfaces/IResearchElementDefinition.js +1 -1
  462. package/dist/FHIR-R4/interfaces/IResearchStudy.js +1 -1
  463. package/dist/FHIR-R4/interfaces/IResearchSubject.js +1 -1
  464. package/dist/FHIR-R4/interfaces/IRiskEvidenceSynthesis.js +1 -1
  465. package/dist/FHIR-R4/interfaces/ISearchParameter.js +1 -1
  466. package/dist/FHIR-R4/interfaces/ISlot.js +1 -1
  467. package/dist/FHIR-R4/interfaces/ISpecimen.js +1 -1
  468. package/dist/FHIR-R4/interfaces/IStructureDefinition.js +1 -1
  469. package/dist/FHIR-R4/interfaces/IStructureMap.js +1 -1
  470. package/dist/FHIR-R4/interfaces/ISubscription.js +1 -1
  471. package/dist/FHIR-R4/interfaces/ISubstance.js +1 -1
  472. package/dist/FHIR-R4/interfaces/ISupplyDelivery.js +1 -1
  473. package/dist/FHIR-R4/interfaces/ISupplyRequest.js +1 -1
  474. package/dist/FHIR-R4/interfaces/ITask.js +1 -1
  475. package/dist/FHIR-R4/interfaces/ITerminologyCapabilities.js +1 -1
  476. package/dist/FHIR-R4/interfaces/ITestReport.js +1 -1
  477. package/dist/FHIR-R4/interfaces/ITestScript.js +1 -1
  478. package/dist/FHIR-R4/interfaces/IValueSet.js +1 -1
  479. package/dist/FHIR-R5/fHIRJSONRESOURCE.d.ts +172 -0
  480. package/dist/FHIR-R5/fHIRJSONRESOURCE.js +2 -0
  481. package/dist/FHIR-R5/openApiSchemaUpdated.d.ts +172 -0
  482. package/dist/FHIR-R5/openApiSchemaUpdated.js +2 -0
  483. package/dist/index.d.ts +1 -1
  484. package/dist/index.js +39 -6
  485. package/dist/library/BundleUtils/BundleUtils.d.ts +11 -5
  486. package/dist/library/BundleUtils/BundleUtils.js +23 -5
  487. package/dist/library/BundleUtils/BundleUtils.spec.js +24 -24
  488. package/dist/library/PatchUtils/PatchUtils.d.ts +1 -1
  489. package/dist/library/PatchUtils/PatchUtils.js +31 -31
  490. package/dist/library/PatchUtils/PatchUtils.spec.js +159 -124
  491. package/dist/library/QueryBuilder/QueryBuilder.d.ts +1 -1
  492. package/dist/library/QueryBuilder/QueryBuilder.js +25 -17
  493. package/dist/library/QueryBuilder/QueryBuilder.spec.js +44 -43
  494. package/dist/library/ResourceUtils/ResourceUtils.d.ts +15 -7
  495. package/dist/library/ResourceUtils/ResourceUtils.js +19 -11
  496. package/dist/library/ResourceUtils/ResourceUtils.spec.js +120 -109
  497. package/dist/library/constants.js +2 -2
  498. package/dist/library/dataTypes.d.ts +6 -6
  499. package/eslint.config.mjs +69 -0
  500. package/package.json +21 -7
  501. package/src/FHIR-DSTU2.ts +1 -1
  502. package/src/FHIR-R3.ts +3 -1
  503. package/src/FHIR-R4/classes/account.ts +2 -1
  504. package/src/FHIR-R4/classes/activityDefinition.ts +2 -1
  505. package/src/FHIR-R4/classes/adverseEvent.ts +2 -1
  506. package/src/FHIR-R4/classes/allergyIntolerance.ts +2 -1
  507. package/src/FHIR-R4/classes/appointment.ts +2 -1
  508. package/src/FHIR-R4/classes/appointmentResponse.ts +2 -1
  509. package/src/FHIR-R4/classes/auditEvent.ts +2 -1
  510. package/src/FHIR-R4/classes/basic.ts +2 -1
  511. package/src/FHIR-R4/classes/biologicallyDerivedProduct.ts +2 -1
  512. package/src/FHIR-R4/classes/bodyStructure.ts +2 -1
  513. package/src/FHIR-R4/classes/capabilityStatement.ts +2 -1
  514. package/src/FHIR-R4/classes/carePlan.ts +2 -1
  515. package/src/FHIR-R4/classes/careTeam.ts +2 -1
  516. package/src/FHIR-R4/classes/catalogEntry.ts +2 -1
  517. package/src/FHIR-R4/classes/chargeItem.ts +2 -1
  518. package/src/FHIR-R4/classes/chargeItemDefinition.ts +2 -1
  519. package/src/FHIR-R4/classes/claim.ts +2 -1
  520. package/src/FHIR-R4/classes/claimResponse.ts +2 -1
  521. package/src/FHIR-R4/classes/clinicalImpression.ts +2 -1
  522. package/src/FHIR-R4/classes/codeSystem.ts +2 -1
  523. package/src/FHIR-R4/classes/communication.ts +2 -1
  524. package/src/FHIR-R4/classes/communicationRequest.ts +2 -1
  525. package/src/FHIR-R4/classes/compartmentDefinition.ts +2 -1
  526. package/src/FHIR-R4/classes/composition.ts +2 -1
  527. package/src/FHIR-R4/classes/conceptMap.ts +2 -1
  528. package/src/FHIR-R4/classes/condition.ts +2 -1
  529. package/src/FHIR-R4/classes/consent.ts +2 -1
  530. package/src/FHIR-R4/classes/contract.ts +2 -1
  531. package/src/FHIR-R4/classes/coverage.ts +2 -1
  532. package/src/FHIR-R4/classes/coverageEligibilityRequest.ts +2 -1
  533. package/src/FHIR-R4/classes/coverageEligibilityResponse.ts +2 -1
  534. package/src/FHIR-R4/classes/detectedIssue.ts +2 -1
  535. package/src/FHIR-R4/classes/device.ts +2 -1
  536. package/src/FHIR-R4/classes/deviceDefinition.ts +2 -1
  537. package/src/FHIR-R4/classes/deviceMetric.ts +2 -1
  538. package/src/FHIR-R4/classes/deviceRequest.ts +2 -1
  539. package/src/FHIR-R4/classes/deviceUseStatement.ts +2 -1
  540. package/src/FHIR-R4/classes/diagnosticReport.ts +2 -1
  541. package/src/FHIR-R4/classes/documentManifest.ts +2 -1
  542. package/src/FHIR-R4/classes/documentReference.ts +2 -1
  543. package/src/FHIR-R4/classes/domainResource.ts +5 -0
  544. package/src/FHIR-R4/classes/effectEvidenceSynthesis.ts +2 -1
  545. package/src/FHIR-R4/classes/encounter.ts +2 -1
  546. package/src/FHIR-R4/classes/endpoint.ts +2 -1
  547. package/src/FHIR-R4/classes/enrollmentRequest.ts +2 -1
  548. package/src/FHIR-R4/classes/enrollmentResponse.ts +2 -1
  549. package/src/FHIR-R4/classes/episodeOfCare.ts +2 -1
  550. package/src/FHIR-R4/classes/eventDefinition.ts +2 -1
  551. package/src/FHIR-R4/classes/evidence.ts +2 -1
  552. package/src/FHIR-R4/classes/evidenceVariable.ts +2 -1
  553. package/src/FHIR-R4/classes/exampleScenario.ts +2 -1
  554. package/src/FHIR-R4/classes/exampleScenarioInstance.ts +2 -1
  555. package/src/FHIR-R4/classes/explanationOfBenefit.ts +2 -1
  556. package/src/FHIR-R4/classes/familyMemberHistory.ts +2 -1
  557. package/src/FHIR-R4/classes/flag.ts +2 -1
  558. package/src/FHIR-R4/classes/goal.ts +2 -1
  559. package/src/FHIR-R4/classes/graphDefinition.ts +2 -1
  560. package/src/FHIR-R4/classes/group.ts +2 -1
  561. package/src/FHIR-R4/classes/guidanceResponse.ts +2 -1
  562. package/src/FHIR-R4/classes/healthcareService.ts +2 -1
  563. package/src/FHIR-R4/classes/imagingStudy.ts +2 -1
  564. package/src/FHIR-R4/classes/immunization.ts +2 -1
  565. package/src/FHIR-R4/classes/immunizationEvaluation.ts +2 -1
  566. package/src/FHIR-R4/classes/immunizationRecommendation.ts +2 -1
  567. package/src/FHIR-R4/classes/implementationGuide.ts +2 -1
  568. package/src/FHIR-R4/classes/insurancePlan.ts +2 -1
  569. package/src/FHIR-R4/classes/invoice.ts +2 -1
  570. package/src/FHIR-R4/classes/library.ts +2 -1
  571. package/src/FHIR-R4/classes/linkage.ts +2 -1
  572. package/src/FHIR-R4/classes/list.ts +2 -1
  573. package/src/FHIR-R4/classes/location.ts +2 -1
  574. package/src/FHIR-R4/classes/measure.ts +2 -1
  575. package/src/FHIR-R4/classes/measureReport.ts +2 -1
  576. package/src/FHIR-R4/classes/media.ts +2 -1
  577. package/src/FHIR-R4/classes/medication.ts +2 -1
  578. package/src/FHIR-R4/classes/medicationAdministration.ts +2 -1
  579. package/src/FHIR-R4/classes/medicationDispense.ts +2 -1
  580. package/src/FHIR-R4/classes/medicationKnowledge.ts +2 -1
  581. package/src/FHIR-R4/classes/medicationRequest.ts +2 -1
  582. package/src/FHIR-R4/classes/medicationStatement.ts +2 -1
  583. package/src/FHIR-R4/classes/medicinalProduct.ts +2 -1
  584. package/src/FHIR-R4/classes/medicinalProductAuthorization.ts +2 -1
  585. package/src/FHIR-R4/classes/medicinalProductContraindication.ts +2 -1
  586. package/src/FHIR-R4/classes/medicinalProductIndication.ts +2 -1
  587. package/src/FHIR-R4/classes/medicinalProductIngredient.ts +2 -1
  588. package/src/FHIR-R4/classes/medicinalProductInteraction.ts +2 -1
  589. package/src/FHIR-R4/classes/medicinalProductManufactured.ts +2 -1
  590. package/src/FHIR-R4/classes/medicinalProductPackaged.ts +2 -1
  591. package/src/FHIR-R4/classes/medicinalProductPharmaceutical.ts +2 -1
  592. package/src/FHIR-R4/classes/medicinalProductUndesirableEffect.ts +2 -1
  593. package/src/FHIR-R4/classes/messageDefinition.ts +2 -1
  594. package/src/FHIR-R4/classes/messageHeader.ts +2 -1
  595. package/src/FHIR-R4/classes/molecularSequence.ts +2 -1
  596. package/src/FHIR-R4/classes/namingSystem.ts +2 -1
  597. package/src/FHIR-R4/classes/nutritionOrder.ts +2 -1
  598. package/src/FHIR-R4/classes/observation.ts +2 -1
  599. package/src/FHIR-R4/classes/observationDefinition.ts +2 -1
  600. package/src/FHIR-R4/classes/operationDefinition.ts +2 -1
  601. package/src/FHIR-R4/classes/operationOutcome.ts +2 -1
  602. package/src/FHIR-R4/classes/organization.ts +2 -1
  603. package/src/FHIR-R4/classes/organizationAffiliation.ts +2 -1
  604. package/src/FHIR-R4/classes/patient.ts +2 -1
  605. package/src/FHIR-R4/classes/paymentNotice.ts +2 -1
  606. package/src/FHIR-R4/classes/paymentReconciliation.ts +2 -1
  607. package/src/FHIR-R4/classes/person.ts +2 -1
  608. package/src/FHIR-R4/classes/planDefinition.ts +2 -1
  609. package/src/FHIR-R4/classes/practitioner.ts +2 -1
  610. package/src/FHIR-R4/classes/practitionerRole.ts +2 -1
  611. package/src/FHIR-R4/classes/procedure.ts +2 -1
  612. package/src/FHIR-R4/classes/provenance.ts +2 -1
  613. package/src/FHIR-R4/classes/questionnaire.ts +2 -1
  614. package/src/FHIR-R4/classes/questionnaireResponse.ts +2 -1
  615. package/src/FHIR-R4/classes/relatedPerson.ts +2 -1
  616. package/src/FHIR-R4/classes/requestGroup.ts +2 -1
  617. package/src/FHIR-R4/classes/researchDefinition.ts +2 -1
  618. package/src/FHIR-R4/classes/researchElementDefinition.ts +2 -1
  619. package/src/FHIR-R4/classes/researchStudy.ts +2 -1
  620. package/src/FHIR-R4/classes/researchSubject.ts +2 -1
  621. package/src/FHIR-R4/classes/riskAssessment.ts +2 -1
  622. package/src/FHIR-R4/classes/riskEvidenceSynthesis.ts +2 -1
  623. package/src/FHIR-R4/classes/schedule.ts +2 -1
  624. package/src/FHIR-R4/classes/searchParameter.ts +2 -1
  625. package/src/FHIR-R4/classes/serviceRequest.ts +2 -1
  626. package/src/FHIR-R4/classes/slot.ts +2 -1
  627. package/src/FHIR-R4/classes/specimen.ts +2 -1
  628. package/src/FHIR-R4/classes/specimenDefinition.ts +2 -1
  629. package/src/FHIR-R4/classes/structureDefinition.ts +2 -1
  630. package/src/FHIR-R4/classes/structureMap.ts +2 -1
  631. package/src/FHIR-R4/classes/subscription.ts +2 -1
  632. package/src/FHIR-R4/classes/substance.ts +2 -1
  633. package/src/FHIR-R4/classes/substanceNucleicAcid.ts +2 -1
  634. package/src/FHIR-R4/classes/substancePolymer.ts +2 -1
  635. package/src/FHIR-R4/classes/substanceProtein.ts +2 -1
  636. package/src/FHIR-R4/classes/substanceReferenceInformation.ts +2 -1
  637. package/src/FHIR-R4/classes/substanceSourceMaterial.ts +2 -1
  638. package/src/FHIR-R4/classes/substanceSpecification.ts +2 -1
  639. package/src/FHIR-R4/classes/supplyDelivery.ts +2 -1
  640. package/src/FHIR-R4/classes/supplyRequest.ts +2 -1
  641. package/src/FHIR-R4/classes/task.ts +2 -1
  642. package/src/FHIR-R4/classes/terminologyCapabilities.ts +2 -1
  643. package/src/FHIR-R4/classes/testReport.ts +2 -1
  644. package/src/FHIR-R4/classes/testScript.ts +2 -1
  645. package/src/FHIR-R4/classes/valueSet.ts +2 -1
  646. package/src/FHIR-R4/classes/verificationResult.ts +2 -1
  647. package/src/FHIR-R4/classes/visionPrescription.ts +2 -1
  648. package/src/index.ts +12 -1
  649. package/src/library/BundleUtils/BundleUtils.spec.ts +26 -39
  650. package/src/library/BundleUtils/BundleUtils.ts +43 -29
  651. package/src/library/PatchUtils/PatchUtils.spec.ts +173 -129
  652. package/src/library/PatchUtils/PatchUtils.ts +39 -52
  653. package/src/library/QueryBuilder/QueryBuilder.spec.ts +54 -51
  654. package/src/library/QueryBuilder/QueryBuilder.ts +41 -31
  655. package/src/library/ResourceUtils/ResourceUtils.spec.ts +140 -159
  656. package/src/library/ResourceUtils/ResourceUtils.ts +37 -27
  657. package/src/library/constants.ts +17 -17
  658. package/src/library/dataTypes.ts +7 -7
  659. package/src/test-resources/CareTeam-R4-contained.json +81 -0
  660. package/tsconfig.json +25 -2
@@ -1,4 +1,4 @@
1
- import { CodingKeys, IdentifierKeys } from "../dataTypes";
1
+ import { CodingKeys, IdentifierKeys } from '../dataTypes';
2
2
  export declare class ResourceUtils {
3
3
  /**
4
4
  *
@@ -7,38 +7,46 @@ export declare class ResourceUtils {
7
7
  * @returns json property if it exists
8
8
  * @limitation currently just supports get for top level property on resource
9
9
  */
10
- getResourceProperty(inputJson: object, propertyName: string): any;
10
+ getResourceProperty(inputJson: Record<string, any>, propertyName: string): any;
11
11
  /**
12
+ * Get identifiers from a list filtered by property value
12
13
  *
14
+ * @template T - The identifier type to return (defaults to any for backward compatibility)
13
15
  * @param identifierList list of identifiers
14
16
  * @param propertyToCompare identifier property to compare
15
17
  * @param propertyValue value we want to compare against
16
18
  * @returns array of matches
17
19
  * @limitations currently does not work with identifier.type, identifier.period & identifier.assigner
18
20
  */
19
- getIdentifiersByProperty(identifierList: any[], propertyToCompare: IdentifierKeys, propertyValue: any[IdentifierKeys]): any[];
21
+ getIdentifiersByProperty<T = any>(identifierList: any[] | null, propertyToCompare: IdentifierKeys, propertyValue: any[IdentifierKeys]): T[];
20
22
  /**
23
+ * Get extensions from a list filtered by URL
21
24
  *
25
+ * @template T - The extension type to return (defaults to any for backward compatibility)
22
26
  * @param extensionList list of extensions
23
27
  * @param extensionUrl Extension.url to compare
24
28
  * @returns array of matches
25
29
  */
26
- getExtensionsByUrl(extensionList: any[], extensionUrl: string): any[];
30
+ getExtensionsByUrl<T = any>(extensionList: any[] | null, extensionUrl: string): T[];
27
31
  /**
32
+ * Get codings from a list filtered by property value
28
33
  *
34
+ * @template T - The coding type to return (defaults to any for backward compatibility)
29
35
  * @param codingList list of codings
30
36
  * @param propertyToCompare coding property to compare
31
37
  * @param propertyValue value we want to compare against string or boolean
32
38
  * @returns array of matches
33
39
  */
34
- getCodingsByProperty(codingList: any[], propertyToCompare: CodingKeys, propertyValue: any[CodingKeys]): any[];
40
+ getCodingsByProperty<T = any>(codingList: any[] | null, propertyToCompare: CodingKeys, propertyValue: any[CodingKeys]): T[];
35
41
  /**
42
+ * Get values at a specific path in a FHIR resource
36
43
  *
44
+ * @template T - The value type to return (defaults to any for backward compatibility)
37
45
  * @param resource resource for which path needs to be validated
38
- * @param elementPath path to validate in resource
46
+ * @param elementPath path to validate in resource (e.g., "Patient.name.given")
39
47
  * @returns array of elements found at the provided path
40
48
  */
41
- getValuesAtResourcePath(resource: any, elementPath: string): any[];
49
+ getValuesAtResourcePath<T = any>(resource: any, elementPath: string): T[];
42
50
  private getValuesAtResourcePathInner;
43
51
  private isPrimitive;
44
52
  /**
@@ -11,13 +11,15 @@ class ResourceUtils {
11
11
  */
12
12
  getResourceProperty(inputJson, propertyName) {
13
13
  let resourcePropertyValue = null;
14
- if (inputJson.hasOwnProperty(propertyName)) {
14
+ if (Object.prototype.hasOwnProperty.call(inputJson, propertyName)) {
15
15
  resourcePropertyValue = inputJson[propertyName];
16
16
  }
17
17
  return resourcePropertyValue;
18
18
  }
19
19
  /**
20
+ * Get identifiers from a list filtered by property value
20
21
  *
22
+ * @template T - The identifier type to return (defaults to any for backward compatibility)
21
23
  * @param identifierList list of identifiers
22
24
  * @param propertyToCompare identifier property to compare
23
25
  * @param propertyValue value we want to compare against
@@ -30,18 +32,20 @@ class ResourceUtils {
30
32
  : [];
31
33
  }
32
34
  /**
35
+ * Get extensions from a list filtered by URL
33
36
  *
37
+ * @template T - The extension type to return (defaults to any for backward compatibility)
34
38
  * @param extensionList list of extensions
35
39
  * @param extensionUrl Extension.url to compare
36
40
  * @returns array of matches
37
41
  */
38
42
  getExtensionsByUrl(extensionList, extensionUrl) {
39
- return (extensionList === null || extensionList === void 0 ? void 0 : extensionList.length)
40
- ? extensionList.filter((x) => x["url"] === extensionUrl)
41
- : [];
43
+ return (extensionList === null || extensionList === void 0 ? void 0 : extensionList.length) ? extensionList.filter((x) => x['url'] === extensionUrl) : [];
42
44
  }
43
45
  /**
46
+ * Get codings from a list filtered by property value
44
47
  *
48
+ * @template T - The coding type to return (defaults to any for backward compatibility)
45
49
  * @param codingList list of codings
46
50
  * @param propertyToCompare coding property to compare
47
51
  * @param propertyValue value we want to compare against string or boolean
@@ -53,28 +57,32 @@ class ResourceUtils {
53
57
  : [];
54
58
  }
55
59
  /**
60
+ * Get values at a specific path in a FHIR resource
56
61
  *
62
+ * @template T - The value type to return (defaults to any for backward compatibility)
57
63
  * @param resource resource for which path needs to be validated
58
- * @param elementPath path to validate in resource
64
+ * @param elementPath path to validate in resource (e.g., "Patient.name.given")
59
65
  * @returns array of elements found at the provided path
60
66
  */
61
67
  getValuesAtResourcePath(resource, elementPath) {
62
68
  const pathSections = elementPath.split('.');
63
- if (!resource || (resource.resourceType !== pathSections[0]))
69
+ if (!resource || resource.resourceType !== pathSections[0]) {
64
70
  return [];
71
+ }
65
72
  return this.getValuesAtResourcePathInner(resource, pathSections);
66
73
  }
67
74
  getValuesAtResourcePathInner(resource, pathSections) {
75
+ var _a;
68
76
  let resourcePathValue;
69
77
  for (let index = 1; index < pathSections.length; index++) {
70
- const subPaths = pathSections[index];
78
+ const subPaths = (_a = pathSections[index]) !== null && _a !== void 0 ? _a : '';
71
79
  resourcePathValue = resourcePathValue ? resourcePathValue[subPaths] : resource[subPaths];
72
80
  if (resourcePathValue) {
73
81
  if (this.isPrimitive(resourcePathValue) || pathSections.length === 2) {
74
82
  return Array.isArray(resourcePathValue) ? [...resourcePathValue] : [resourcePathValue];
75
83
  }
76
84
  else if (Array.isArray(resourcePathValue) && resourcePathValue.length > 0) {
77
- let resultSet = [];
85
+ const resultSet = [];
78
86
  for (let subPathIndex = 0; subPathIndex < resourcePathValue.length; subPathIndex++) {
79
87
  const subPathValue = resourcePathValue[subPathIndex];
80
88
  if (this.isPrimitive(subPathValue)) {
@@ -86,7 +94,7 @@ class ResourceUtils {
86
94
  }
87
95
  return resultSet;
88
96
  }
89
- else if (typeof (resourcePathValue) === 'object') {
97
+ else if (typeof resourcePathValue === 'object') {
90
98
  return this.getValuesAtResourcePathInner(resourcePathValue, pathSections.slice(index));
91
99
  }
92
100
  }
@@ -97,7 +105,7 @@ class ResourceUtils {
97
105
  return [];
98
106
  }
99
107
  isPrimitive(value) {
100
- return typeof (value) === "boolean" || typeof (value) === "string";
108
+ return typeof value === 'boolean' || typeof value === 'string';
101
109
  }
102
110
  /**
103
111
  * @param resource resource to pull out references from
@@ -106,7 +114,7 @@ class ResourceUtils {
106
114
  getAllReferencesFromResource(resource) {
107
115
  const stringifiedResource = JSON.stringify(resource);
108
116
  const referenceJsonString = '"reference":';
109
- let references = [];
117
+ const references = [];
110
118
  let cursor = stringifiedResource.indexOf(referenceJsonString, 0);
111
119
  while (cursor > -1) {
112
120
  const referenceStart = stringifiedResource.indexOf(referenceJsonString, cursor) + referenceJsonString.length;
@@ -1,289 +1,300 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ResourceUtils_1 = require("./ResourceUtils");
4
- const patientPayload = require("./../../test-resources/Patient-R4.json");
5
- const careTeamPayload = require("./../../test-resources/CareTeam-R4.json");
6
- describe("ResourceUtils", () => {
7
- let resourceUtils = new ResourceUtils_1.ResourceUtils();
8
- describe("#getResourceProperty()", () => {
9
- it("should return property if property exists in valid inputJson", () => {
4
+ const patientPayload = require('./../../test-resources/Patient-R4.json');
5
+ const careTeamPayload = require('./../../test-resources/CareTeam-R4.json');
6
+ const careTeamContainedPayload = require('./../../test-resources/CareTeam-R4-contained.json');
7
+ describe('ResourceUtils', () => {
8
+ const resourceUtils = new ResourceUtils_1.ResourceUtils();
9
+ describe('#getResourceProperty()', () => {
10
+ it('should return property if property exists in valid inputJson', () => {
10
11
  // execute
11
- const actual = resourceUtils.getResourceProperty(patientPayload, "deceasedBoolean");
12
+ const actual = resourceUtils.getResourceProperty(patientPayload, 'deceasedBoolean');
12
13
  // validate
13
14
  expect(actual).toBeFalse();
14
15
  });
15
- it("should return null if property exists in valid inputJson", () => {
16
+ it('should return null if property exists in valid inputJson', () => {
16
17
  // execute
17
- const actual = resourceUtils.getResourceProperty(patientPayload, "abcd");
18
+ const actual = resourceUtils.getResourceProperty(patientPayload, 'abcd');
18
19
  // validate
19
20
  expect(actual).toBeNull();
20
21
  });
21
- it("should return null if invalid inputJson is passed", () => {
22
+ it('should return null if invalid inputJson is passed', () => {
22
23
  // setup
23
24
  const inputPayload = [1, 2];
24
25
  // execute
25
- const actual = resourceUtils.getResourceProperty(inputPayload, "deceasedBoolean");
26
+ const actual = resourceUtils.getResourceProperty(inputPayload, 'deceasedBoolean');
26
27
  // validate
27
28
  expect(actual).toBeNull();
28
29
  });
29
30
  });
30
- describe("#getIdentifiersByProperty()", () => {
31
+ describe('#getIdentifiersByProperty()', () => {
31
32
  const identifierList = [
32
33
  {
33
- use: "temp",
34
- system: "http://hl7.org/fhir/sid/us-ssn",
35
- value: "abc",
34
+ use: 'temp',
35
+ system: 'http://hl7.org/fhir/sid/us-ssn',
36
+ value: 'abc',
36
37
  },
37
38
  {
38
- use: "usual",
39
- system: "http://ns.electronichealth.net.au/id/hi/ihi/1.0",
40
- value: "abc",
39
+ use: 'usual',
40
+ system: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
41
+ value: 'abc',
41
42
  },
42
43
  ];
43
- it("should return empty array if null is passed as identifier list", () => {
44
+ it('should return empty array if null is passed as identifier list', () => {
44
45
  // setup
45
- const value = "shouldBeIgnored";
46
+ const value = 'shouldBeIgnored';
46
47
  // execute
47
- const actual = resourceUtils.getIdentifiersByProperty(null, "id", value);
48
+ const actual = resourceUtils.getIdentifiersByProperty(null, 'id', value);
48
49
  // validate
49
50
  expect(actual.length).toEqual(0);
50
51
  });
51
- it("should return empty array if property not found", () => {
52
+ it('should return empty array if property not found', () => {
52
53
  // setup
53
- const value = "abc";
54
+ const value = 'abc';
54
55
  // execute
55
- const actual = resourceUtils.getIdentifiersByProperty(identifierList, "extension", // no extensions in test data
56
+ const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'extension', // no extensions in test data
56
57
  value);
57
58
  // validate
58
59
  expect(actual.length).toEqual(0);
59
60
  });
60
- it("should return empty array if no matches found", () => {
61
+ it('should return empty array if no matches found', () => {
61
62
  // setup
62
- const systemUrl = "http://somesystem.com";
63
+ const systemUrl = 'http://somesystem.com';
63
64
  // execute
64
- const actual = resourceUtils.getIdentifiersByProperty(identifierList, "system", systemUrl);
65
+ const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'system', systemUrl);
65
66
  // validate
66
67
  expect(actual.length).toEqual(0);
67
68
  });
68
- it("should return array with all matches", () => {
69
+ it('should return array with all matches', () => {
69
70
  // setup
70
- const value = "abc";
71
+ const value = 'abc';
71
72
  // execute
72
- const actual = resourceUtils.getIdentifiersByProperty(identifierList, "value", value);
73
+ const actual = resourceUtils.getIdentifiersByProperty(identifierList, 'value', value);
73
74
  // validate
74
75
  expect(actual.length).toEqual(2);
75
76
  });
76
77
  });
77
- describe("#getExtensionsByUrl()", () => {
78
+ describe('#getExtensionsByUrl()', () => {
78
79
  const extensionList = [
79
80
  {
80
- url: "http://hl7.org/fhir/sid/us-ssn",
81
+ url: 'http://hl7.org/fhir/sid/us-ssn',
81
82
  valueBoolean: true,
82
83
  },
83
84
  {
84
- url: "http://ns.electronichealth.net.au/id/hi/ihi/1.0",
85
- valueString: "abc",
85
+ url: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
86
+ valueString: 'abc',
86
87
  },
87
88
  ];
88
- it("should return empty array if null is passed as extension list", () => {
89
+ it('should return empty array if null is passed as extension list', () => {
89
90
  // execute
90
- const actual = resourceUtils.getExtensionsByUrl(null, "url");
91
+ const actual = resourceUtils.getExtensionsByUrl(null, 'url');
91
92
  // validate
92
93
  expect(actual.length).toEqual(0);
93
94
  });
94
- it("should return empty array if invalid extension array passed", () => {
95
+ it('should return empty array if invalid extension array passed', () => {
95
96
  // setup
96
97
  const extensionListInvalid = [
97
98
  {
98
99
  // @ts-ignore
99
- use: "temp",
100
- system: "http://hl7.org/fhir/sid/us-ssn",
101
- value: "abc",
100
+ use: 'temp',
101
+ system: 'http://hl7.org/fhir/sid/us-ssn',
102
+ value: 'abc',
102
103
  },
103
104
  ]; // disabling compiler warning for the test
104
- const url = "http://ns.electronichealth.net.au/id/hi/ihi/1.0";
105
+ const url = 'http://ns.electronichealth.net.au/id/hi/ihi/1.0';
105
106
  // execute
106
107
  const actual = resourceUtils.getExtensionsByUrl(extensionListInvalid, url);
107
108
  // validate
108
109
  expect(actual.length).toEqual(0);
109
110
  });
110
- it("should return empty array if no matches found", () => {
111
+ it('should return empty array if no matches found', () => {
111
112
  // setup
112
- const url = "http://somesystem.com";
113
+ const url = 'http://somesystem.com';
113
114
  // execute
114
115
  const actual = resourceUtils.getExtensionsByUrl(extensionList, url);
115
116
  // validate
116
117
  expect(actual.length).toEqual(0);
117
118
  });
118
- it("should return array with all matches", () => {
119
+ it('should return array with all matches', () => {
119
120
  // setup
120
- const url = "http://ns.electronichealth.net.au/id/hi/ihi/1.0";
121
+ const url = 'http://ns.electronichealth.net.au/id/hi/ihi/1.0';
121
122
  // execute
122
123
  const actual = resourceUtils.getExtensionsByUrl(extensionList, url);
123
124
  // validate
124
125
  expect(actual.length).toEqual(1);
125
126
  });
126
127
  });
127
- describe("#getCodingsByProperty()", () => {
128
+ describe('#getCodingsByProperty()', () => {
128
129
  const codingList = [
129
130
  {
130
- version: "1.0",
131
- system: "http://hl7.org/fhir/sid/us-ssn",
132
- code: "abc",
133
- display: "abc",
131
+ version: '1.0',
132
+ system: 'http://hl7.org/fhir/sid/us-ssn',
133
+ code: 'abc',
134
+ display: 'abc',
134
135
  userSelected: false,
135
136
  },
136
137
  {
137
- version: "1.1",
138
- system: "http://ns.electronichealth.net.au/id/hi/ihi/1.0",
139
- code: "abc",
140
- display: "abc",
138
+ version: '1.1',
139
+ system: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0',
140
+ code: 'abc',
141
+ display: 'abc',
141
142
  },
142
143
  ];
143
- it("should return empty array if null is passed as coding list", () => {
144
+ it('should return empty array if null is passed as coding list', () => {
144
145
  // setup
145
- const value = "shouldBeIgnored";
146
+ const value = 'shouldBeIgnored';
146
147
  // execute
147
- const actual = resourceUtils.getCodingsByProperty(null, "extension", value);
148
+ const actual = resourceUtils.getCodingsByProperty(null, 'extension', value);
148
149
  // validate
149
150
  expect(actual.length).toEqual(0);
150
151
  });
151
- it("should return empty array if property not found", () => {
152
+ it('should return empty array if property not found', () => {
152
153
  // setup
153
- const value = "abc";
154
+ const value = 'abc';
154
155
  // execute
155
- const actual = resourceUtils.getCodingsByProperty(codingList, "id", // expect no ID in codingList
156
+ const actual = resourceUtils.getCodingsByProperty(codingList, 'id', // expect no ID in codingList
156
157
  value);
157
158
  // validate
158
159
  expect(actual.length).toEqual(0);
159
160
  });
160
- it("should return empty array if no matches found", () => {
161
+ it('should return empty array if no matches found', () => {
161
162
  // setup
162
- const systemUrl = "http://somesystem.com";
163
+ const systemUrl = 'http://somesystem.com';
163
164
  // execute
164
- const actual = resourceUtils.getCodingsByProperty(codingList, "system", systemUrl);
165
+ const actual = resourceUtils.getCodingsByProperty(codingList, 'system', systemUrl);
165
166
  // validate
166
167
  expect(actual.length).toEqual(0);
167
168
  });
168
- it("should return array with all matches for string values", () => {
169
+ it('should return array with all matches for string values', () => {
169
170
  // setup
170
- const value = "abc";
171
+ const value = 'abc';
171
172
  // execute
172
- const actual = resourceUtils.getCodingsByProperty(codingList, "code", value);
173
+ const actual = resourceUtils.getCodingsByProperty(codingList, 'code', value);
173
174
  // validate
174
175
  expect(actual.length).toEqual(2);
175
176
  });
176
- it("should return array with all matches for boolean values", () => {
177
+ it('should return array with all matches for boolean values', () => {
177
178
  // setup
178
179
  const value = false;
179
180
  // execute
180
- const actual = resourceUtils.getCodingsByProperty(codingList, "userSelected", value);
181
+ const actual = resourceUtils.getCodingsByProperty(codingList, 'userSelected', value);
181
182
  // validate
182
183
  expect(actual.length).toEqual(1);
183
184
  });
184
185
  });
185
- describe("#getValuesAtResourcePath()", () => {
186
- it("should return empty array if the root of the path path does not match the resource type", () => {
186
+ describe('#getValuesAtResourcePath()', () => {
187
+ it('should return empty array if the root of the path path does not match the resource type', () => {
187
188
  // execute
188
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Practitioner.name.given");
189
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Practitioner.name.given');
189
190
  // validate
190
191
  expect(pathValues.length).toEqual(0);
191
192
  });
192
- it("should return array with values if path exists for a top level element", () => {
193
+ it('should return array with values if path exists for a top level element', () => {
193
194
  // execute
194
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.gender");
195
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.gender');
195
196
  // validate
196
197
  expect(pathValues.length).toEqual(1);
197
- expect(pathValues[0]).toEqual("male");
198
+ expect(pathValues[0]).toEqual('male');
198
199
  });
199
200
  it('should return array with values if path exists for a top level element and is an object', () => {
200
201
  const expected = [
201
202
  {
202
203
  coding: [
203
204
  {
204
- system: "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus",
205
- code: "M",
206
- display: "Married"
207
- }
205
+ system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus',
206
+ code: 'M',
207
+ display: 'Married',
208
+ },
208
209
  ],
209
- text: "Getrouwd",
210
- }
210
+ text: 'Getrouwd',
211
+ },
211
212
  ];
212
213
  // execute
213
- const actual = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.maritalStatus");
214
+ const actual = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.maritalStatus');
214
215
  // validate
215
216
  expect(actual.length).toEqual(1);
216
217
  expect(actual).toEqual(expected);
217
218
  });
218
- it("should return array with values if path exists for a top level element and is an array", () => {
219
+ it('should return array with values if path exists for a top level element and is an array', () => {
219
220
  // setup
220
221
  const expected = [
221
222
  {
222
- use: "usual",
223
- family: "van de Heuvel",
224
- given: ["Pieter", "Peter"],
225
- suffix: ["MSc"],
223
+ use: 'usual',
224
+ family: 'van de Heuvel',
225
+ given: ['Pieter', 'Peter'],
226
+ suffix: ['MSc'],
226
227
  },
227
228
  {
228
- use: "usual",
229
- family: "van de Heuvel",
230
- given: ["Pieter"],
231
- suffix: ["MSc"],
229
+ use: 'usual',
230
+ family: 'van de Heuvel',
231
+ given: ['Pieter'],
232
+ suffix: ['MSc'],
232
233
  },
233
234
  ];
234
235
  // execute
235
- const actual = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.name");
236
+ const actual = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.name');
236
237
  // validate
237
238
  expect(actual.length).toEqual(2);
238
239
  expect(actual).toEqual(expected);
239
240
  });
240
- it("should return array with values for a array under object", () => {
241
+ it('should return array with values for a array under object', () => {
241
242
  // execute
242
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.name.given");
243
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.name.given');
243
244
  // validate
244
245
  expect(pathValues.length).toEqual(3);
245
- expect(pathValues[0]).toEqual("Pieter");
246
- expect(pathValues[1]).toEqual("Peter");
247
- expect(pathValues[2]).toEqual("Pieter");
246
+ expect(pathValues[0]).toEqual('Pieter');
247
+ expect(pathValues[1]).toEqual('Peter');
248
+ expect(pathValues[2]).toEqual('Pieter');
248
249
  });
249
- it("should return array with values if path exists for a deep array element", () => {
250
+ it('should return array with values if path exists for a deep array element', () => {
250
251
  // execute
251
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.contact.relationship.coding.system");
252
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.contact.relationship.coding.system');
252
253
  // validate
253
254
  expect(pathValues.length).toEqual(2);
254
- expect(pathValues[0]).toEqual("http://terminology.hl7.org/CodeSystem/v2-0131");
255
- expect(pathValues[1]).toEqual("http://terminology.hl7.org/CodeSystem/v2-0132");
255
+ expect(pathValues[0]).toEqual('http://terminology.hl7.org/CodeSystem/v2-0131');
256
+ expect(pathValues[1]).toEqual('http://terminology.hl7.org/CodeSystem/v2-0132');
256
257
  });
257
- it("should return array with values if path exists for a deep json element", () => {
258
+ it('should return array with values if path exists for a deep json element', () => {
258
259
  // execute
259
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.maritalStatus.coding.system");
260
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.maritalStatus.coding.system');
260
261
  // validate
261
262
  expect(pathValues.length).toEqual(1);
262
- expect(pathValues[0]).toEqual("http://terminology.hl7.org/CodeSystem/v3-MaritalStatus");
263
+ expect(pathValues[0]).toEqual('http://terminology.hl7.org/CodeSystem/v3-MaritalStatus');
263
264
  });
264
- it("should return empty array if path does not exist", () => {
265
+ it('should return empty array if path does not exist', () => {
265
266
  // execute
266
- const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, "Patient.contact.relationship.coding.abcd");
267
+ const pathValues = resourceUtils.getValuesAtResourcePath(patientPayload, 'Patient.contact.relationship.coding.abcd');
267
268
  // validate
268
269
  expect(pathValues.length).toEqual(0);
269
270
  });
270
271
  });
271
- describe("#getAllResourceReferences()", () => {
272
- it("should return array of all references in a resource when references found", () => {
272
+ describe('#getAllResourceReferences()', () => {
273
+ it('should return array of all references in a resource when references found', () => {
273
274
  // execute
274
275
  const actual = resourceUtils.getAllReferencesFromResource(careTeamPayload);
275
276
  // validate
276
277
  expect(actual.length).toEqual(6);
277
278
  });
278
- it("should return empty array if references in a resource not found", () => {
279
+ it('should return empty array if references in a resource not found', () => {
279
280
  // setup
280
281
  const input = {
281
- "resourceType": "Patient"
282
+ resourceType: 'Patient',
282
283
  };
283
284
  // execute
284
285
  const actual = resourceUtils.getAllReferencesFromResource(input);
285
286
  // validate
286
287
  expect(actual.length).toEqual(0);
287
288
  });
289
+ it('should return array of all references in a resource when references found in contained resource', () => {
290
+ var _a;
291
+ // setup
292
+ const input = careTeamContainedPayload;
293
+ expect(input.contained).toHaveSize(1);
294
+ // execute
295
+ const actual = resourceUtils.getAllReferencesFromResource((_a = input.contained) === null || _a === void 0 ? void 0 : _a[0]);
296
+ // validate
297
+ expect(actual.length).toEqual(1);
298
+ });
288
299
  });
289
300
  });
@@ -5,7 +5,7 @@ var SORT_ORDER;
5
5
  (function (SORT_ORDER) {
6
6
  SORT_ORDER[SORT_ORDER["ASCENDING"] = 0] = "ASCENDING";
7
7
  SORT_ORDER[SORT_ORDER["DESCENDING"] = 1] = "DESCENDING";
8
- })(SORT_ORDER = exports.SORT_ORDER || (exports.SORT_ORDER = {}));
8
+ })(SORT_ORDER || (exports.SORT_ORDER = SORT_ORDER = {}));
9
9
  var PATCH_DATATYPE;
10
10
  (function (PATCH_DATATYPE) {
11
11
  PATCH_DATATYPE["CODE"] = "valueCode";
@@ -19,4 +19,4 @@ var PATCH_DATATYPE;
19
19
  PATCH_DATATYPE["STRING"] = "valueString";
20
20
  PATCH_DATATYPE["ADDRESS"] = "valueAddress";
21
21
  PATCH_DATATYPE["REFERENCE"] = "valueReference";
22
- })(PATCH_DATATYPE = exports.PATCH_DATATYPE || (exports.PATCH_DATATYPE = {}));
22
+ })(PATCH_DATATYPE || (exports.PATCH_DATATYPE = PATCH_DATATYPE = {}));
@@ -1,9 +1,9 @@
1
- import { fhirR5 } from "..";
2
- import * as DSTU2 from "../FHIR-DSTU2";
3
- import * as fhirR3 from "../FHIR-R3";
4
- import { Coding as r4Coding } from "../FHIR-R4/classes/coding";
5
- import { Extension as r4Extension } from "../FHIR-R4/classes/extension";
6
- import { Identifier as r4Identifier } from "../FHIR-R4/classes/identifier";
1
+ import { fhirR5 } from '..';
2
+ import * as DSTU2 from '../FHIR-DSTU2';
3
+ import * as fhirR3 from '../FHIR-R3';
4
+ import { Coding as r4Coding } from '../FHIR-R4/classes/coding';
5
+ import { Extension as r4Extension } from '../FHIR-R4/classes/extension';
6
+ import { Identifier as r4Identifier } from '../FHIR-R4/classes/identifier';
7
7
  export type Identifier = r4Identifier & fhirR3.Identifier & DSTU2.Identifier & fhirR5.Identifier;
8
8
  export type IdentifierKeys = keyof Identifier;
9
9
  export type Extension = r4Extension & fhirR3.Extension & DSTU2.Extension & fhirR5.Extension;