@openhi/types 0.0.59 → 0.0.60
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.
- package/lib/esm/auth/index.js +2 -0
- package/lib/esm/auth/jwt-claims.js +2 -0
- package/lib/esm/control/constants.js +60 -0
- package/lib/esm/control/index.js +10 -0
- package/lib/esm/control/membership.js +16 -0
- package/lib/esm/control/role.js +14 -0
- package/lib/esm/control/roleassignment.js +17 -0
- package/lib/esm/control/tenant.js +37 -0
- package/lib/esm/control/user.js +41 -0
- package/lib/esm/control/workspace.js +38 -0
- package/lib/esm/data/account.js +28 -0
- package/lib/esm/data/account_coverage.js +15 -0
- package/lib/esm/data/account_guarantor.js +17 -0
- package/lib/esm/data/activitydefinition.js +79 -0
- package/lib/esm/data/activitydefinition_dynamicvalue.js +15 -0
- package/lib/esm/data/activitydefinition_participant.js +16 -0
- package/lib/esm/data/address.js +23 -0
- package/lib/esm/data/adverseevent.js +35 -0
- package/lib/esm/data/adverseevent_suspectentity.js +16 -0
- package/lib/esm/data/adverseevent_suspectentity_causality.js +18 -0
- package/lib/esm/data/age.js +17 -0
- package/lib/esm/data/allergyintolerance.js +39 -0
- package/lib/esm/data/allergyintolerance_reaction.js +22 -0
- package/lib/esm/data/annotation.js +16 -0
- package/lib/esm/data/appointment.js +38 -0
- package/lib/esm/data/appointment_participant.js +21 -0
- package/lib/esm/data/appointmentresponse.js +22 -0
- package/lib/esm/data/attachment.js +19 -0
- package/lib/esm/data/auditevent.js +28 -0
- package/lib/esm/data/auditevent_agent.js +27 -0
- package/lib/esm/data/auditevent_agent_network.js +15 -0
- package/lib/esm/data/auditevent_entity.js +24 -0
- package/lib/esm/data/auditevent_entity_detail.js +15 -0
- package/lib/esm/data/auditevent_source.js +17 -0
- package/lib/esm/data/backboneelement.js +12 -0
- package/lib/esm/data/base64binary.js +5 -0
- package/lib/esm/data/basic.js +18 -0
- package/lib/esm/data/binary.js +14 -0
- package/lib/esm/data/biologicallyderivedproduct.js +31 -0
- package/lib/esm/data/biologicallyderivedproduct_collection.js +18 -0
- package/lib/esm/data/biologicallyderivedproduct_manipulation.js +16 -0
- package/lib/esm/data/biologicallyderivedproduct_processing.js +20 -0
- package/lib/esm/data/biologicallyderivedproduct_storage.js +18 -0
- package/lib/esm/data/bodystructure.js +22 -0
- package/lib/esm/data/bundle.js +22 -0
- package/lib/esm/data/bundle_entry.js +23 -0
- package/lib/esm/data/bundle_entry_request.js +19 -0
- package/lib/esm/data/bundle_entry_response.js +18 -0
- package/lib/esm/data/bundle_entry_search.js +15 -0
- package/lib/esm/data/bundle_link.js +14 -0
- package/lib/esm/data/canonical.js +5 -0
- package/lib/esm/data/capabilitystatement.js +45 -0
- package/lib/esm/data/capabilitystatement_document.js +16 -0
- package/lib/esm/data/capabilitystatement_implementation.js +16 -0
- package/lib/esm/data/capabilitystatement_messaging.js +20 -0
- package/lib/esm/data/capabilitystatement_messaging_endpoint.js +15 -0
- package/lib/esm/data/capabilitystatement_messaging_supportedmessage.js +15 -0
- package/lib/esm/data/capabilitystatement_rest.js +30 -0
- package/lib/esm/data/capabilitystatement_rest_interaction.js +15 -0
- package/lib/esm/data/capabilitystatement_rest_resource.js +39 -0
- package/lib/esm/data/capabilitystatement_rest_resource_interaction.js +15 -0
- package/lib/esm/data/capabilitystatement_rest_resource_operation.js +15 -0
- package/lib/esm/data/capabilitystatement_rest_resource_searchparam.js +17 -0
- package/lib/esm/data/capabilitystatement_rest_security.js +16 -0
- package/lib/esm/data/capabilitystatement_software.js +15 -0
- package/lib/esm/data/careplan.js +40 -0
- package/lib/esm/data/careplan_activity.js +21 -0
- package/lib/esm/data/careplan_activity_detail.js +38 -0
- package/lib/esm/data/careteam.js +31 -0
- package/lib/esm/data/careteam_participant.js +19 -0
- package/lib/esm/data/catalogentry.js +29 -0
- package/lib/esm/data/catalogentry_relatedentry.js +16 -0
- package/lib/esm/data/chargeitem.js +49 -0
- package/lib/esm/data/chargeitem_performer.js +16 -0
- package/lib/esm/data/chargeitemdefinition.js +46 -0
- package/lib/esm/data/chargeitemdefinition_applicability.js +15 -0
- package/lib/esm/data/chargeitemdefinition_propertygroup.js +18 -0
- package/lib/esm/data/chargeitemdefinition_propertygroup_pricecomponent.js +19 -0
- package/lib/esm/data/claim.js +52 -0
- package/lib/esm/data/claim_accident.js +19 -0
- package/lib/esm/data/claim_careteam.js +19 -0
- package/lib/esm/data/claim_diagnosis.js +20 -0
- package/lib/esm/data/claim_insurance.js +21 -0
- package/lib/esm/data/claim_item.js +43 -0
- package/lib/esm/data/claim_item_detail.js +29 -0
- package/lib/esm/data/claim_item_detail_subdetail.js +27 -0
- package/lib/esm/data/claim_payee.js +16 -0
- package/lib/esm/data/claim_procedure.js +20 -0
- package/lib/esm/data/claim_related.js +18 -0
- package/lib/esm/data/claim_supportinginfo.js +28 -0
- package/lib/esm/data/claimresponse.js +51 -0
- package/lib/esm/data/claimresponse_additem.js +41 -0
- package/lib/esm/data/claimresponse_additem_detail.js +26 -0
- package/lib/esm/data/claimresponse_additem_detail_subdetail.js +24 -0
- package/lib/esm/data/claimresponse_error.js +17 -0
- package/lib/esm/data/claimresponse_insurance.js +18 -0
- package/lib/esm/data/claimresponse_item.js +18 -0
- package/lib/esm/data/claimresponse_item_adjudication.js +18 -0
- package/lib/esm/data/claimresponse_item_detail.js +18 -0
- package/lib/esm/data/claimresponse_item_detail_subdetail.js +16 -0
- package/lib/esm/data/claimresponse_payment.js +21 -0
- package/lib/esm/data/claimresponse_processnote.js +18 -0
- package/lib/esm/data/claimresponse_total.js +16 -0
- package/lib/esm/data/clinicalimpression.js +39 -0
- package/lib/esm/data/clinicalimpression_finding.js +17 -0
- package/lib/esm/data/clinicalimpression_investigation.js +16 -0
- package/lib/esm/data/code.js +5 -0
- package/lib/esm/data/codeableconcept.js +14 -0
- package/lib/esm/data/codesystem.js +44 -0
- package/lib/esm/data/codesystem_concept.js +20 -0
- package/lib/esm/data/codesystem_concept_designation.js +16 -0
- package/lib/esm/data/codesystem_concept_property.js +21 -0
- package/lib/esm/data/codesystem_filter.js +17 -0
- package/lib/esm/data/codesystem_property.js +17 -0
- package/lib/esm/data/coding.js +16 -0
- package/lib/esm/data/communication.js +39 -0
- package/lib/esm/data/communication_payload.js +17 -0
- package/lib/esm/data/communicationrequest.js +40 -0
- package/lib/esm/data/communicationrequest_payload.js +17 -0
- package/lib/esm/data/compartmentdefinition.js +28 -0
- package/lib/esm/data/compartmentdefinition_resource.js +16 -0
- package/lib/esm/data/composition.js +33 -0
- package/lib/esm/data/composition_attester.js +17 -0
- package/lib/esm/data/composition_event.js +18 -0
- package/lib/esm/data/composition_relatesto.js +18 -0
- package/lib/esm/data/composition_section.js +26 -0
- package/lib/esm/data/conceptmap.js +36 -0
- package/lib/esm/data/conceptmap_group.js +20 -0
- package/lib/esm/data/conceptmap_group_element.js +16 -0
- package/lib/esm/data/conceptmap_group_element_target.js +20 -0
- package/lib/esm/data/conceptmap_group_element_target_dependson.js +16 -0
- package/lib/esm/data/conceptmap_group_unmapped.js +17 -0
- package/lib/esm/data/condition.js +44 -0
- package/lib/esm/data/condition_evidence.js +16 -0
- package/lib/esm/data/condition_stage.js +17 -0
- package/lib/esm/data/consent.js +32 -0
- package/lib/esm/data/consent_policy.js +14 -0
- package/lib/esm/data/consent_provision.js +29 -0
- package/lib/esm/data/consent_provision_actor.js +16 -0
- package/lib/esm/data/consent_provision_data.js +16 -0
- package/lib/esm/data/consent_verification.js +16 -0
- package/lib/esm/data/constants.js +6889 -0
- package/lib/esm/data/contactdetail.js +14 -0
- package/lib/esm/data/contactpoint.js +18 -0
- package/lib/esm/data/contract.js +57 -0
- package/lib/esm/data/contract_contentdefinition.js +21 -0
- package/lib/esm/data/contract_friendly.js +16 -0
- package/lib/esm/data/contract_legal.js +16 -0
- package/lib/esm/data/contract_rule.js +16 -0
- package/lib/esm/data/contract_signer.js +18 -0
- package/lib/esm/data/contract_term.js +33 -0
- package/lib/esm/data/contract_term_action.js +41 -0
- package/lib/esm/data/contract_term_action_subject.js +16 -0
- package/lib/esm/data/contract_term_asset.js +34 -0
- package/lib/esm/data/contract_term_asset_context.js +17 -0
- package/lib/esm/data/contract_term_asset_valueditem.js +32 -0
- package/lib/esm/data/contract_term_offer.js +27 -0
- package/lib/esm/data/contract_term_offer_answer.js +28 -0
- package/lib/esm/data/contract_term_offer_party.js +16 -0
- package/lib/esm/data/contract_term_securitylabel.js +17 -0
- package/lib/esm/data/contributor.js +16 -0
- package/lib/esm/data/count.js +17 -0
- package/lib/esm/data/coverage.js +34 -0
- package/lib/esm/data/coverage_class.js +16 -0
- package/lib/esm/data/coverage_costtobeneficiary.js +20 -0
- package/lib/esm/data/coverage_costtobeneficiary_exception.js +16 -0
- package/lib/esm/data/coverageeligibilityrequest.js +35 -0
- package/lib/esm/data/coverageeligibilityrequest_insurance.js +16 -0
- package/lib/esm/data/coverageeligibilityrequest_item.js +29 -0
- package/lib/esm/data/coverageeligibilityrequest_item_diagnosis.js +16 -0
- package/lib/esm/data/coverageeligibilityrequest_supportinginfo.js +16 -0
- package/lib/esm/data/coverageeligibilityresponse.js +33 -0
- package/lib/esm/data/coverageeligibilityresponse_error.js +14 -0
- package/lib/esm/data/coverageeligibilityresponse_insurance.js +19 -0
- package/lib/esm/data/coverageeligibilityresponse_insurance_item.js +31 -0
- package/lib/esm/data/coverageeligibilityresponse_insurance_item_benefit.js +21 -0
- package/lib/esm/data/datarequirement.js +26 -0
- package/lib/esm/data/datarequirement_codefilter.js +16 -0
- package/lib/esm/data/datarequirement_datefilter.js +18 -0
- package/lib/esm/data/datarequirement_sort.js +14 -0
- package/lib/esm/data/date.js +5 -0
- package/lib/esm/data/datetime.js +5 -0
- package/lib/esm/data/definition.js +39 -0
- package/lib/esm/data/detectedissue.js +30 -0
- package/lib/esm/data/detectedissue_evidence.js +16 -0
- package/lib/esm/data/detectedissue_mitigation.js +17 -0
- package/lib/esm/data/device.js +47 -0
- package/lib/esm/data/device_devicename.js +15 -0
- package/lib/esm/data/device_property.js +17 -0
- package/lib/esm/data/device_specialization.js +15 -0
- package/lib/esm/data/device_udicarrier.js +19 -0
- package/lib/esm/data/device_version.js +17 -0
- package/lib/esm/data/devicedefinition.js +49 -0
- package/lib/esm/data/devicedefinition_capability.js +15 -0
- package/lib/esm/data/devicedefinition_devicename.js +15 -0
- package/lib/esm/data/devicedefinition_material.js +16 -0
- package/lib/esm/data/devicedefinition_property.js +17 -0
- package/lib/esm/data/devicedefinition_specialization.js +14 -0
- package/lib/esm/data/devicedefinition_udideviceidentifier.js +15 -0
- package/lib/esm/data/devicemetric.js +26 -0
- package/lib/esm/data/devicemetric_calibration.js +16 -0
- package/lib/esm/data/devicerequest.js +45 -0
- package/lib/esm/data/devicerequest_parameter.js +20 -0
- package/lib/esm/data/deviceusestatement.js +32 -0
- package/lib/esm/data/diagnosticreport.js +36 -0
- package/lib/esm/data/diagnosticreport_media.js +15 -0
- package/lib/esm/data/distance.js +17 -0
- package/lib/esm/data/documentmanifest.js +27 -0
- package/lib/esm/data/documentmanifest_related.js +16 -0
- package/lib/esm/data/documentreference.js +33 -0
- package/lib/esm/data/documentreference_content.js +16 -0
- package/lib/esm/data/documentreference_context.js +22 -0
- package/lib/esm/data/documentreference_relatesto.js +16 -0
- package/lib/esm/data/domainresource.js +15 -0
- package/lib/esm/data/dosage.js +31 -0
- package/lib/esm/data/dosage_doseandrate.js +21 -0
- package/lib/esm/data/duration.js +17 -0
- package/lib/esm/data/effectevidencesynthesis.js +60 -0
- package/lib/esm/data/effectevidencesynthesis_certainty.js +20 -0
- package/lib/esm/data/effectevidencesynthesis_certainty_certaintysubcomponent.js +17 -0
- package/lib/esm/data/effectevidencesynthesis_effectestimate.js +22 -0
- package/lib/esm/data/effectevidencesynthesis_effectestimate_precisionestimate.js +17 -0
- package/lib/esm/data/effectevidencesynthesis_resultsbyexposure.js +19 -0
- package/lib/esm/data/effectevidencesynthesis_samplesize.js +15 -0
- package/lib/esm/data/element.js +11 -0
- package/lib/esm/data/elementdefinition.js +248 -0
- package/lib/esm/data/elementdefinition_base.js +14 -0
- package/lib/esm/data/elementdefinition_binding.js +15 -0
- package/lib/esm/data/elementdefinition_constraint.js +19 -0
- package/lib/esm/data/elementdefinition_example.js +93 -0
- package/lib/esm/data/elementdefinition_mapping.js +15 -0
- package/lib/esm/data/elementdefinition_slicing.js +19 -0
- package/lib/esm/data/elementdefinition_slicing_discriminator.js +14 -0
- package/lib/esm/data/elementdefinition_type.js +17 -0
- package/lib/esm/data/encounter.js +46 -0
- package/lib/esm/data/encounter_classhistory.js +16 -0
- package/lib/esm/data/encounter_diagnosis.js +17 -0
- package/lib/esm/data/encounter_hospitalization.js +24 -0
- package/lib/esm/data/encounter_location.js +20 -0
- package/lib/esm/data/encounter_participant.js +18 -0
- package/lib/esm/data/encounter_statushistory.js +16 -0
- package/lib/esm/data/endpoint.js +28 -0
- package/lib/esm/data/enrollmentrequest.js +20 -0
- package/lib/esm/data/enrollmentresponse.js +21 -0
- package/lib/esm/data/episodeofcare.js +29 -0
- package/lib/esm/data/episodeofcare_diagnosis.js +17 -0
- package/lib/esm/data/episodeofcare_statushistory.js +16 -0
- package/lib/esm/data/event.js +38 -0
- package/lib/esm/data/event_performer.js +15 -0
- package/lib/esm/data/eventdefinition.js +48 -0
- package/lib/esm/data/evidence.js +47 -0
- package/lib/esm/data/evidencevariable.js +46 -0
- package/lib/esm/data/evidencevariable_characteristic.js +37 -0
- package/lib/esm/data/examplescenario.js +35 -0
- package/lib/esm/data/examplescenario_actor.js +17 -0
- package/lib/esm/data/examplescenario_instance.js +23 -0
- package/lib/esm/data/examplescenario_instance_containedinstance.js +14 -0
- package/lib/esm/data/examplescenario_instance_version.js +14 -0
- package/lib/esm/data/examplescenario_process.js +18 -0
- package/lib/esm/data/examplescenario_process_step.js +21 -0
- package/lib/esm/data/examplescenario_process_step_alternative.js +16 -0
- package/lib/esm/data/examplescenario_process_step_operation.js +23 -0
- package/lib/esm/data/explanationofbenefit.js +80 -0
- package/lib/esm/data/explanationofbenefit_accident.js +19 -0
- package/lib/esm/data/explanationofbenefit_additem.js +43 -0
- package/lib/esm/data/explanationofbenefit_additem_detail.js +30 -0
- package/lib/esm/data/explanationofbenefit_additem_detail_subdetail.js +26 -0
- package/lib/esm/data/explanationofbenefit_benefitbalance.js +24 -0
- package/lib/esm/data/explanationofbenefit_benefitbalance_financial.js +20 -0
- package/lib/esm/data/explanationofbenefit_careteam.js +19 -0
- package/lib/esm/data/explanationofbenefit_diagnosis.js +20 -0
- package/lib/esm/data/explanationofbenefit_insurance.js +16 -0
- package/lib/esm/data/explanationofbenefit_item.js +48 -0
- package/lib/esm/data/explanationofbenefit_item_adjudication.js +18 -0
- package/lib/esm/data/explanationofbenefit_item_detail.js +36 -0
- package/lib/esm/data/explanationofbenefit_item_detail_subdetail.js +32 -0
- package/lib/esm/data/explanationofbenefit_payee.js +16 -0
- package/lib/esm/data/explanationofbenefit_payment.js +21 -0
- package/lib/esm/data/explanationofbenefit_procedure.js +20 -0
- package/lib/esm/data/explanationofbenefit_processnote.js +18 -0
- package/lib/esm/data/explanationofbenefit_related.js +18 -0
- package/lib/esm/data/explanationofbenefit_supportinginfo.js +29 -0
- package/lib/esm/data/explanationofbenefit_total.js +16 -0
- package/lib/esm/data/expression.js +17 -0
- package/lib/esm/data/extension.js +92 -0
- package/lib/esm/data/extensions/openhi/preferred-pronouns.js +32 -0
- package/lib/esm/data/extensions/openhi/resource-instance-name.js +32 -0
- package/lib/esm/data/familymemberhistory.js +45 -0
- package/lib/esm/data/familymemberhistory_condition.js +25 -0
- package/lib/esm/data/fivews.js +38 -0
- package/lib/esm/data/flag.js +23 -0
- package/lib/esm/data/goal.js +33 -0
- package/lib/esm/data/goal_target.js +27 -0
- package/lib/esm/data/graphdefinition.js +30 -0
- package/lib/esm/data/graphdefinition_link.js +19 -0
- package/lib/esm/data/graphdefinition_link_target.js +22 -0
- package/lib/esm/data/graphdefinition_link_target_compartment.js +18 -0
- package/lib/esm/data/group.js +26 -0
- package/lib/esm/data/group_characteristic.js +25 -0
- package/lib/esm/data/group_member.js +17 -0
- package/lib/esm/data/guidanceresponse.js +33 -0
- package/lib/esm/data/healthcareservice.js +42 -0
- package/lib/esm/data/healthcareservice_availabletime.js +17 -0
- package/lib/esm/data/healthcareservice_eligibility.js +15 -0
- package/lib/esm/data/healthcareservice_notavailable.js +15 -0
- package/lib/esm/data/humanname.js +20 -0
- package/lib/esm/data/id.js +5 -0
- package/lib/esm/data/identifier.js +21 -0
- package/lib/esm/data/imagingstudy.js +37 -0
- package/lib/esm/data/imagingstudy_series.js +28 -0
- package/lib/esm/data/imagingstudy_series_instance.js +17 -0
- package/lib/esm/data/imagingstudy_series_performer.js +16 -0
- package/lib/esm/data/immunization.js +49 -0
- package/lib/esm/data/immunization_education.js +16 -0
- package/lib/esm/data/immunization_performer.js +16 -0
- package/lib/esm/data/immunization_protocolapplied.js +21 -0
- package/lib/esm/data/immunization_reaction.js +16 -0
- package/lib/esm/data/immunizationevaluation.js +29 -0
- package/lib/esm/data/immunizationrecommendation.js +18 -0
- package/lib/esm/data/immunizationrecommendation_recommendation.js +31 -0
- package/lib/esm/data/immunizationrecommendation_recommendation_datecriterion.js +15 -0
- package/lib/esm/data/implementationguide.js +38 -0
- package/lib/esm/data/implementationguide_definition.js +22 -0
- package/lib/esm/data/implementationguide_definition_grouping.js +14 -0
- package/lib/esm/data/implementationguide_definition_page.js +19 -0
- package/lib/esm/data/implementationguide_definition_parameter.js +15 -0
- package/lib/esm/data/implementationguide_definition_resource.js +21 -0
- package/lib/esm/data/implementationguide_definition_template.js +15 -0
- package/lib/esm/data/implementationguide_dependson.js +15 -0
- package/lib/esm/data/implementationguide_global.js +15 -0
- package/lib/esm/data/implementationguide_manifest.js +19 -0
- package/lib/esm/data/implementationguide_manifest_page.js +15 -0
- package/lib/esm/data/implementationguide_manifest_resource.js +17 -0
- package/lib/esm/data/index.js +689 -0
- package/lib/esm/data/instant.js +5 -0
- package/lib/esm/data/insuranceplan.js +32 -0
- package/lib/esm/data/insuranceplan_contact.js +20 -0
- package/lib/esm/data/insuranceplan_coverage.js +18 -0
- package/lib/esm/data/insuranceplan_coverage_benefit.js +17 -0
- package/lib/esm/data/insuranceplan_coverage_benefit_limit.js +16 -0
- package/lib/esm/data/insuranceplan_plan.js +23 -0
- package/lib/esm/data/insuranceplan_plan_generalcost.js +18 -0
- package/lib/esm/data/insuranceplan_plan_specificcost.js +16 -0
- package/lib/esm/data/insuranceplan_plan_specificcost_benefit.js +16 -0
- package/lib/esm/data/insuranceplan_plan_specificcost_benefit_cost.js +18 -0
- package/lib/esm/data/invoice.js +37 -0
- package/lib/esm/data/invoice_lineitem.js +19 -0
- package/lib/esm/data/invoice_lineitem_pricecomponent.js +19 -0
- package/lib/esm/data/invoice_participant.js +16 -0
- package/lib/esm/data/library.js +53 -0
- package/lib/esm/data/linkage.js +15 -0
- package/lib/esm/data/linkage_item.js +16 -0
- package/lib/esm/data/list.js +29 -0
- package/lib/esm/data/list_entry.js +18 -0
- package/lib/esm/data/location.js +36 -0
- package/lib/esm/data/location_hoursofoperation.js +17 -0
- package/lib/esm/data/location_position.js +15 -0
- package/lib/esm/data/markdown.js +5 -0
- package/lib/esm/data/marketingstatus.js +19 -0
- package/lib/esm/data/measure.js +62 -0
- package/lib/esm/data/measure_group.js +19 -0
- package/lib/esm/data/measure_group_population.js +17 -0
- package/lib/esm/data/measure_group_stratifier.js +19 -0
- package/lib/esm/data/measure_group_stratifier_component.js +17 -0
- package/lib/esm/data/measure_supplementaldata.js +18 -0
- package/lib/esm/data/measurereport.js +27 -0
- package/lib/esm/data/measurereport_group.js +20 -0
- package/lib/esm/data/measurereport_group_population.js +17 -0
- package/lib/esm/data/measurereport_group_stratifier.js +16 -0
- package/lib/esm/data/measurereport_group_stratifier_stratum.js +24 -0
- package/lib/esm/data/measurereport_group_stratifier_stratum_component.js +15 -0
- package/lib/esm/data/measurereport_group_stratifier_stratum_population.js +17 -0
- package/lib/esm/data/media.js +40 -0
- package/lib/esm/data/medication.js +25 -0
- package/lib/esm/data/medication_batch.js +14 -0
- package/lib/esm/data/medication_ingredient.js +19 -0
- package/lib/esm/data/medicationadministration.js +39 -0
- package/lib/esm/data/medicationadministration_dosage.js +22 -0
- package/lib/esm/data/medicationadministration_performer.js +16 -0
- package/lib/esm/data/medicationdispense.js +45 -0
- package/lib/esm/data/medicationdispense_performer.js +16 -0
- package/lib/esm/data/medicationdispense_substitution.js +18 -0
- package/lib/esm/data/medicationknowledge.js +57 -0
- package/lib/esm/data/medicationknowledge_administrationguidelines.js +24 -0
- package/lib/esm/data/medicationknowledge_administrationguidelines_dosage.js +16 -0
- package/lib/esm/data/medicationknowledge_administrationguidelines_patientcharacteristics.js +17 -0
- package/lib/esm/data/medicationknowledge_cost.js +17 -0
- package/lib/esm/data/medicationknowledge_drugcharacteristic.js +19 -0
- package/lib/esm/data/medicationknowledge_ingredient.js +19 -0
- package/lib/esm/data/medicationknowledge_kinetics.js +17 -0
- package/lib/esm/data/medicationknowledge_medicineclassification.js +15 -0
- package/lib/esm/data/medicationknowledge_monitoringprogram.js +15 -0
- package/lib/esm/data/medicationknowledge_monograph.js +16 -0
- package/lib/esm/data/medicationknowledge_packaging.js +16 -0
- package/lib/esm/data/medicationknowledge_regulatory.js +22 -0
- package/lib/esm/data/medicationknowledge_regulatory_maxdispense.js +16 -0
- package/lib/esm/data/medicationknowledge_regulatory_schedule.js +14 -0
- package/lib/esm/data/medicationknowledge_regulatory_substitution.js +15 -0
- package/lib/esm/data/medicationknowledge_relatedmedicationknowledge.js +16 -0
- package/lib/esm/data/medicationrequest.js +52 -0
- package/lib/esm/data/medicationrequest_dispenserequest.js +24 -0
- package/lib/esm/data/medicationrequest_dispenserequest_initialfill.js +16 -0
- package/lib/esm/data/medicationrequest_substitution.js +16 -0
- package/lib/esm/data/medicationstatement.js +36 -0
- package/lib/esm/data/medicinalproduct.js +42 -0
- package/lib/esm/data/medicinalproduct_manufacturingbusinessoperation.js +21 -0
- package/lib/esm/data/medicinalproduct_name.js +19 -0
- package/lib/esm/data/medicinalproduct_name_countrylanguage.js +16 -0
- package/lib/esm/data/medicinalproduct_name_namepart.js +15 -0
- package/lib/esm/data/medicinalproduct_specialdesignation.js +23 -0
- package/lib/esm/data/medicinalproductauthorization.js +34 -0
- package/lib/esm/data/medicinalproductauthorization_jurisdictionalauthorization.js +20 -0
- package/lib/esm/data/medicinalproductauthorization_procedure.js +22 -0
- package/lib/esm/data/medicinalproductcontraindication.js +23 -0
- package/lib/esm/data/medicinalproductcontraindication_othertherapy.js +17 -0
- package/lib/esm/data/medicinalproductindication.js +26 -0
- package/lib/esm/data/medicinalproductindication_othertherapy.js +17 -0
- package/lib/esm/data/medicinalproductingredient.js +23 -0
- package/lib/esm/data/medicinalproductingredient_specifiedsubstance.js +20 -0
- package/lib/esm/data/medicinalproductingredient_specifiedsubstance_strength.js +24 -0
- package/lib/esm/data/medicinalproductingredient_specifiedsubstance_strength_referencestrength.js +19 -0
- package/lib/esm/data/medicinalproductingredient_substance.js +18 -0
- package/lib/esm/data/medicinalproductinteraction.js +22 -0
- package/lib/esm/data/medicinalproductinteraction_interactant.js +16 -0
- package/lib/esm/data/medicinalproductmanufactured.js +21 -0
- package/lib/esm/data/medicinalproductpackaged.js +27 -0
- package/lib/esm/data/medicinalproductpackaged_batchidentifier.js +15 -0
- package/lib/esm/data/medicinalproductpackaged_packageitem.js +32 -0
- package/lib/esm/data/medicinalproductpharmaceutical.js +24 -0
- package/lib/esm/data/medicinalproductpharmaceutical_characteristics.js +15 -0
- package/lib/esm/data/medicinalproductpharmaceutical_routeofadministration.js +26 -0
- package/lib/esm/data/medicinalproductpharmaceutical_routeofadministration_targetspecies.js +18 -0
- package/lib/esm/data/medicinalproductpharmaceutical_routeofadministration_targetspecies_withdrawalperiod.js +17 -0
- package/lib/esm/data/medicinalproductundesirableeffect.js +18 -0
- package/lib/esm/data/messagedefinition.js +45 -0
- package/lib/esm/data/messagedefinition_allowedresponse.js +14 -0
- package/lib/esm/data/messagedefinition_focus.js +17 -0
- package/lib/esm/data/messageheader.js +28 -0
- package/lib/esm/data/messageheader_destination.js +17 -0
- package/lib/esm/data/messageheader_response.js +17 -0
- package/lib/esm/data/messageheader_source.js +18 -0
- package/lib/esm/data/meta.js +18 -0
- package/lib/esm/data/metadataresource.js +25 -0
- package/lib/esm/data/molecularsequence.js +37 -0
- package/lib/esm/data/molecularsequence_quality.js +31 -0
- package/lib/esm/data/molecularsequence_quality_roc.js +19 -0
- package/lib/esm/data/molecularsequence_referenceseq.js +24 -0
- package/lib/esm/data/molecularsequence_repository.js +19 -0
- package/lib/esm/data/molecularsequence_structurevariant.js +20 -0
- package/lib/esm/data/molecularsequence_structurevariant_inner.js +14 -0
- package/lib/esm/data/molecularsequence_structurevariant_outer.js +14 -0
- package/lib/esm/data/molecularsequence_variant.js +19 -0
- package/lib/esm/data/money.js +13 -0
- package/lib/esm/data/namingsystem.js +28 -0
- package/lib/esm/data/namingsystem_uniqueid.js +19 -0
- package/lib/esm/data/narrative.js +14 -0
- package/lib/esm/data/nutritionorder.js +35 -0
- package/lib/esm/data/nutritionorder_enteralformula.js +26 -0
- package/lib/esm/data/nutritionorder_enteralformula_administration.js +19 -0
- package/lib/esm/data/nutritionorder_oraldiet.js +22 -0
- package/lib/esm/data/nutritionorder_oraldiet_nutrient.js +16 -0
- package/lib/esm/data/nutritionorder_oraldiet_texture.js +15 -0
- package/lib/esm/data/nutritionorder_supplement.js +20 -0
- package/lib/esm/data/observation.js +60 -0
- package/lib/esm/data/observation_component.js +34 -0
- package/lib/esm/data/observation_referencerange.js +21 -0
- package/lib/esm/data/observationdefinition.js +31 -0
- package/lib/esm/data/observationdefinition_qualifiedinterval.js +23 -0
- package/lib/esm/data/observationdefinition_quantitativedetails.js +17 -0
- package/lib/esm/data/oid.js +5 -0
- package/lib/esm/data/operationdefinition.js +42 -0
- package/lib/esm/data/operationdefinition_overload.js +14 -0
- package/lib/esm/data/operationdefinition_parameter.js +28 -0
- package/lib/esm/data/operationdefinition_parameter_binding.js +15 -0
- package/lib/esm/data/operationdefinition_parameter_referencedfrom.js +14 -0
- package/lib/esm/data/operationoutcome.js +12 -0
- package/lib/esm/data/operationoutcome_issue.js +20 -0
- package/lib/esm/data/organization-role.js +66 -0
- package/lib/esm/data/organization.js +26 -0
- package/lib/esm/data/organization_contact.js +20 -0
- package/lib/esm/data/organizationaffiliation.js +27 -0
- package/lib/esm/data/parameterdefinition.js +19 -0
- package/lib/esm/data/parameters.js +12 -0
- package/lib/esm/data/parameters_parameter.js +97 -0
- package/lib/esm/data/patient.js +39 -0
- package/lib/esm/data/patient_communication.js +15 -0
- package/lib/esm/data/patient_contact.js +26 -0
- package/lib/esm/data/patient_link.js +16 -0
- package/lib/esm/data/paymentnotice.js +27 -0
- package/lib/esm/data/paymentreconciliation.js +33 -0
- package/lib/esm/data/paymentreconciliation_detail.js +26 -0
- package/lib/esm/data/paymentreconciliation_processnote.js +15 -0
- package/lib/esm/data/period.js +13 -0
- package/lib/esm/data/person.js +28 -0
- package/lib/esm/data/person_link.js +16 -0
- package/lib/esm/data/plandefinition.js +52 -0
- package/lib/esm/data/plandefinition_action.js +65 -0
- package/lib/esm/data/plandefinition_action_condition.js +16 -0
- package/lib/esm/data/plandefinition_action_dynamicvalue.js +15 -0
- package/lib/esm/data/plandefinition_action_participant.js +16 -0
- package/lib/esm/data/plandefinition_action_relatedaction.js +19 -0
- package/lib/esm/data/plandefinition_goal.js +22 -0
- package/lib/esm/data/plandefinition_goal_target.js +21 -0
- package/lib/esm/data/population.js +19 -0
- package/lib/esm/data/practitioner.js +28 -0
- package/lib/esm/data/practitioner_qualification.js +20 -0
- package/lib/esm/data/practitionerrole.js +31 -0
- package/lib/esm/data/practitionerrole_availabletime.js +17 -0
- package/lib/esm/data/practitionerrole_notavailable.js +15 -0
- package/lib/esm/data/procedure.js +52 -0
- package/lib/esm/data/procedure_focaldevice.js +16 -0
- package/lib/esm/data/procedure_performer.js +17 -0
- package/lib/esm/data/prodcharacteristic.js +26 -0
- package/lib/esm/data/productshelflife.js +19 -0
- package/lib/esm/data/provenance.js +27 -0
- package/lib/esm/data/provenance_agent.js +18 -0
- package/lib/esm/data/provenance_entity.js +18 -0
- package/lib/esm/data/quantity.js +17 -0
- package/lib/esm/data/questionnaire.js +40 -0
- package/lib/esm/data/questionnaire_item.js +33 -0
- package/lib/esm/data/questionnaire_item_answeroption.js +21 -0
- package/lib/esm/data/questionnaire_item_enablewhen.js +28 -0
- package/lib/esm/data/questionnaire_item_initial.js +28 -0
- package/lib/esm/data/questionnaireresponse.js +25 -0
- package/lib/esm/data/questionnaireresponse_item.js +18 -0
- package/lib/esm/data/questionnaireresponse_item_answer.js +30 -0
- package/lib/esm/data/range.js +14 -0
- package/lib/esm/data/ratio.js +14 -0
- package/lib/esm/data/reference.js +16 -0
- package/lib/esm/data/relatedartifact.js +20 -0
- package/lib/esm/data/relatedperson.js +32 -0
- package/lib/esm/data/relatedperson_communication.js +15 -0
- package/lib/esm/data/request.js +44 -0
- package/lib/esm/data/requestgroup.js +34 -0
- package/lib/esm/data/requestgroup_action.js +49 -0
- package/lib/esm/data/requestgroup_action_condition.js +16 -0
- package/lib/esm/data/requestgroup_action_relatedaction.js +19 -0
- package/lib/esm/data/researchdefinition.js +53 -0
- package/lib/esm/data/researchelementdefinition.js +53 -0
- package/lib/esm/data/researchelementdefinition_characteristic.js +41 -0
- package/lib/esm/data/researchstudy.js +44 -0
- package/lib/esm/data/researchstudy_arm.js +16 -0
- package/lib/esm/data/researchstudy_objective.js +15 -0
- package/lib/esm/data/researchsubject.js +22 -0
- package/lib/esm/data/resource.js +13 -0
- package/lib/esm/data/riskassessment.js +35 -0
- package/lib/esm/data/riskassessment_prediction.js +23 -0
- package/lib/esm/data/riskevidencesynthesis.js +53 -0
- package/lib/esm/data/riskevidencesynthesis_certainty.js +20 -0
- package/lib/esm/data/riskevidencesynthesis_certainty_certaintysubcomponent.js +17 -0
- package/lib/esm/data/riskevidencesynthesis_riskestimate.js +23 -0
- package/lib/esm/data/riskevidencesynthesis_riskestimate_precisionestimate.js +17 -0
- package/lib/esm/data/riskevidencesynthesis_samplesize.js +15 -0
- package/lib/esm/data/sampleddata.js +19 -0
- package/lib/esm/data/schedule.js +22 -0
- package/lib/esm/data/searchparameter.js +41 -0
- package/lib/esm/data/searchparameter_component.js +14 -0
- package/lib/esm/data/servicerequest.js +58 -0
- package/lib/esm/data/signature.js +20 -0
- package/lib/esm/data/slot.js +25 -0
- package/lib/esm/data/specimen.js +31 -0
- package/lib/esm/data/specimen_collection.js +26 -0
- package/lib/esm/data/specimen_container.js +23 -0
- package/lib/esm/data/specimen_processing.js +20 -0
- package/lib/esm/data/specimendefinition.js +19 -0
- package/lib/esm/data/specimendefinition_typetested.js +25 -0
- package/lib/esm/data/specimendefinition_typetested_container.js +26 -0
- package/lib/esm/data/specimendefinition_typetested_container_additive.js +16 -0
- package/lib/esm/data/specimendefinition_typetested_handling.js +19 -0
- package/lib/esm/data/structuredefinition.js +47 -0
- package/lib/esm/data/structuredefinition_context.js +15 -0
- package/lib/esm/data/structuredefinition_differential.js +14 -0
- package/lib/esm/data/structuredefinition_mapping.js +16 -0
- package/lib/esm/data/structuredefinition_snapshot.js +14 -0
- package/lib/esm/data/structuremap.js +35 -0
- package/lib/esm/data/structuremap_group.js +21 -0
- package/lib/esm/data/structuremap_group_input.js +17 -0
- package/lib/esm/data/structuremap_group_rule.js +21 -0
- package/lib/esm/data/structuremap_group_rule_dependent.js +14 -0
- package/lib/esm/data/structuremap_group_rule_source.js +104 -0
- package/lib/esm/data/structuremap_group_rule_target.js +22 -0
- package/lib/esm/data/structuremap_group_rule_target_parameter.js +17 -0
- package/lib/esm/data/structuremap_structure.js +17 -0
- package/lib/esm/data/subscription.js +20 -0
- package/lib/esm/data/subscription_channel.js +17 -0
- package/lib/esm/data/substance.js +22 -0
- package/lib/esm/data/substance_ingredient.js +18 -0
- package/lib/esm/data/substance_instance.js +17 -0
- package/lib/esm/data/substanceamount.js +22 -0
- package/lib/esm/data/substanceamount_referencerange.js +14 -0
- package/lib/esm/data/substancenucleicacid.js +17 -0
- package/lib/esm/data/substancenucleicacid_subunit.js +24 -0
- package/lib/esm/data/substancenucleicacid_subunit_linkage.js +17 -0
- package/lib/esm/data/substancenucleicacid_subunit_sugar.js +16 -0
- package/lib/esm/data/substancepolymer.js +19 -0
- package/lib/esm/data/substancepolymer_monomerset.js +18 -0
- package/lib/esm/data/substancepolymer_monomerset_startingmaterial.js +18 -0
- package/lib/esm/data/substancepolymer_repeat.js +18 -0
- package/lib/esm/data/substancepolymer_repeat_repeatunit.js +25 -0
- package/lib/esm/data/substancepolymer_repeat_repeatunit_degreeofpolymerisation.js +16 -0
- package/lib/esm/data/substancepolymer_repeat_repeatunit_structuralrepresentation.js +17 -0
- package/lib/esm/data/substanceprotein.js +16 -0
- package/lib/esm/data/substanceprotein_subunit.js +22 -0
- package/lib/esm/data/substancereferenceinformation.js +23 -0
- package/lib/esm/data/substancereferenceinformation_classification.js +18 -0
- package/lib/esm/data/substancereferenceinformation_gene.js +17 -0
- package/lib/esm/data/substancereferenceinformation_geneelement.js +18 -0
- package/lib/esm/data/substancereferenceinformation_target.js +27 -0
- package/lib/esm/data/substancesourcematerial.js +32 -0
- package/lib/esm/data/substancesourcematerial_fractiondescription.js +15 -0
- package/lib/esm/data/substancesourcematerial_organism.js +24 -0
- package/lib/esm/data/substancesourcematerial_organism_author.js +15 -0
- package/lib/esm/data/substancesourcematerial_organism_hybrid.js +18 -0
- package/lib/esm/data/substancesourcematerial_organism_organismgeneral.js +17 -0
- package/lib/esm/data/substancesourcematerial_partdescription.js +15 -0
- package/lib/esm/data/substancespecification.js +43 -0
- package/lib/esm/data/substancespecification_code.js +19 -0
- package/lib/esm/data/substancespecification_moiety.js +23 -0
- package/lib/esm/data/substancespecification_name.js +26 -0
- package/lib/esm/data/substancespecification_name_official.js +16 -0
- package/lib/esm/data/substancespecification_property.js +22 -0
- package/lib/esm/data/substancespecification_relationship.js +28 -0
- package/lib/esm/data/substancespecification_structure.js +27 -0
- package/lib/esm/data/substancespecification_structure_isotope.js +21 -0
- package/lib/esm/data/substancespecification_structure_isotope_molecularweight.js +17 -0
- package/lib/esm/data/substancespecification_structure_representation.js +17 -0
- package/lib/esm/data/summary-paths.js +3395 -0
- package/lib/esm/data/summary-types.js +4 -0
- package/lib/esm/data/supplydelivery.js +30 -0
- package/lib/esm/data/supplydelivery_supplieditem.js +18 -0
- package/lib/esm/data/supplyrequest.js +36 -0
- package/lib/esm/data/supplyrequest_parameter.js +20 -0
- package/lib/esm/data/task.js +50 -0
- package/lib/esm/data/task_input.js +94 -0
- package/lib/esm/data/task_output.js +94 -0
- package/lib/esm/data/task_restriction.js +17 -0
- package/lib/esm/data/terminologycapabilities.js +45 -0
- package/lib/esm/data/terminologycapabilities_closure.js +13 -0
- package/lib/esm/data/terminologycapabilities_codesystem.js +16 -0
- package/lib/esm/data/terminologycapabilities_codesystem_version.js +21 -0
- package/lib/esm/data/terminologycapabilities_codesystem_version_filter.js +14 -0
- package/lib/esm/data/terminologycapabilities_expansion.js +20 -0
- package/lib/esm/data/terminologycapabilities_expansion_parameter.js +14 -0
- package/lib/esm/data/terminologycapabilities_implementation.js +14 -0
- package/lib/esm/data/terminologycapabilities_software.js +14 -0
- package/lib/esm/data/terminologycapabilities_translation.js +13 -0
- package/lib/esm/data/terminologycapabilities_validatecode.js +13 -0
- package/lib/esm/data/testreport.js +29 -0
- package/lib/esm/data/testreport_participant.js +16 -0
- package/lib/esm/data/testreport_setup.js +14 -0
- package/lib/esm/data/testreport_setup_action.js +16 -0
- package/lib/esm/data/testreport_setup_action_assert.js +16 -0
- package/lib/esm/data/testreport_setup_action_operation.js +16 -0
- package/lib/esm/data/testreport_teardown.js +14 -0
- package/lib/esm/data/testreport_teardown_action.js +14 -0
- package/lib/esm/data/testreport_test.js +16 -0
- package/lib/esm/data/testreport_test_action.js +16 -0
- package/lib/esm/data/testscript.js +48 -0
- package/lib/esm/data/testscript_destination.js +15 -0
- package/lib/esm/data/testscript_fixture.js +16 -0
- package/lib/esm/data/testscript_metadata.js +16 -0
- package/lib/esm/data/testscript_metadata_capability.js +19 -0
- package/lib/esm/data/testscript_metadata_link.js +14 -0
- package/lib/esm/data/testscript_origin.js +15 -0
- package/lib/esm/data/testscript_setup.js +14 -0
- package/lib/esm/data/testscript_setup_action.js +16 -0
- package/lib/esm/data/testscript_setup_action_assert.js +35 -0
- package/lib/esm/data/testscript_setup_action_operation.js +34 -0
- package/lib/esm/data/testscript_setup_action_operation_requestheader.js +14 -0
- package/lib/esm/data/testscript_teardown.js +14 -0
- package/lib/esm/data/testscript_teardown_action.js +14 -0
- package/lib/esm/data/testscript_test.js +16 -0
- package/lib/esm/data/testscript_test_action.js +16 -0
- package/lib/esm/data/testscript_variable.js +20 -0
- package/lib/esm/data/time.js +5 -0
- package/lib/esm/data/timing.js +17 -0
- package/lib/esm/data/timing_repeat.js +32 -0
- package/lib/esm/data/triggerdefinition.js +24 -0
- package/lib/esm/data/uri.js +5 -0
- package/lib/esm/data/url.js +5 -0
- package/lib/esm/data/usagecontext.js +21 -0
- package/lib/esm/data/uuid.js +5 -0
- package/lib/esm/data/valueset.js +35 -0
- package/lib/esm/data/valueset_compose.js +17 -0
- package/lib/esm/data/valueset_compose_include.js +19 -0
- package/lib/esm/data/valueset_compose_include_concept.js +18 -0
- package/lib/esm/data/valueset_compose_include_concept_designation.js +16 -0
- package/lib/esm/data/valueset_compose_include_filter.js +16 -0
- package/lib/esm/data/valueset_expansion.js +20 -0
- package/lib/esm/data/valueset_expansion_contains.js +23 -0
- package/lib/esm/data/valueset_expansion_parameter.js +20 -0
- package/lib/esm/data/verificationresult.js +31 -0
- package/lib/esm/data/verificationresult_attestation.js +23 -0
- package/lib/esm/data/verificationresult_primarysource.js +21 -0
- package/lib/esm/data/verificationresult_validator.js +17 -0
- package/lib/esm/data/visionprescription.js +22 -0
- package/lib/esm/data/visionprescription_lensspecification.js +31 -0
- package/lib/esm/data/visionprescription_lensspecification_prism.js +15 -0
- package/lib/esm/data/xhtml.js +5 -0
- package/lib/esm/extensions/index.js +3 -0
- package/lib/esm/extensions/on-site-medical/appointment-series.js +153 -0
- package/lib/esm/extensions/on-site-medical/index.js +11 -0
- package/lib/esm/extensions/on-site-medical/supply-request-deliver-for.js +12 -0
- package/lib/esm/extensions/on-site-medical/supply-request-encounter.js +45 -0
- package/lib/esm/extensions/openhi/index.js +2 -0
- package/lib/esm/extensions/openhi/linked-data-identity.js +65 -0
- package/lib/esm/index.js +20 -0
- package/lib/esm/sort-key/extract-sort-key.js +165 -0
- package/lib/esm/sort-key/index.js +3 -0
- package/lib/esm/sort-key/label-paths.js +166 -0
- package/lib/esm/summary/display-label.js +22 -0
- package/lib/esm/summary/extract-summary.js +173 -0
- package/lib/esm/summary/index.js +3 -0
- package/package.json +18 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure projection of a FHIR R4 resource into its summary JSON — the
|
|
3
|
+
* GSI-friendly shape defined by ADR 2026-04-17-02 and the generated
|
|
4
|
+
* `SUMMARY_PATHS` table (issue #812).
|
|
5
|
+
*
|
|
6
|
+
* Consumed by the write path in #814; no I/O, no DynamoDB access here.
|
|
7
|
+
*
|
|
8
|
+
* Threshold defaults come from the #811 size benchmark across every R4
|
|
9
|
+
* example resource. Both thresholds are warn-only — the guard is a
|
|
10
|
+
* diagnostic signal, never a reason to reject a store operation.
|
|
11
|
+
*/
|
|
12
|
+
import { DISPLAY_LABEL_EXTENSION_URL } from "./display-label";
|
|
13
|
+
import { SUMMARY_PATHS } from "../data/summary-paths";
|
|
14
|
+
/** Summary exceeds the clinical-path p99; worth looking at if it's a pattern. */
|
|
15
|
+
export const DEFAULT_SUMMARY_WARN_BYTES = 4 * 1024;
|
|
16
|
+
/** Summary is outside any measured distribution; almost certainly inline attachment or unpacked Bundle. */
|
|
17
|
+
export const DEFAULT_SUMMARY_ERROR_BYTES = 8 * 1024;
|
|
18
|
+
export function extractSummary(resource, options = {}) {
|
|
19
|
+
const { resourceType, id } = resource;
|
|
20
|
+
const logger = options.logger ?? console;
|
|
21
|
+
const warnBytes = options.warnThresholdBytes ?? DEFAULT_SUMMARY_WARN_BYTES;
|
|
22
|
+
const errorBytes = options.errorThresholdBytes ?? DEFAULT_SUMMARY_ERROR_BYTES;
|
|
23
|
+
const result = { resourceType };
|
|
24
|
+
if (id !== undefined)
|
|
25
|
+
result.id = id;
|
|
26
|
+
const meta = resource.meta;
|
|
27
|
+
if (meta && typeof meta === "object") {
|
|
28
|
+
const projectedMeta = {};
|
|
29
|
+
if (meta.lastUpdated !== undefined) {
|
|
30
|
+
projectedMeta.lastUpdated = meta.lastUpdated;
|
|
31
|
+
}
|
|
32
|
+
if (meta.versionId !== undefined) {
|
|
33
|
+
projectedMeta.versionId = meta.versionId;
|
|
34
|
+
}
|
|
35
|
+
if (Object.keys(projectedMeta).length > 0) {
|
|
36
|
+
result.meta = projectedMeta;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// `displayLabel` on the summary is backed by the HL7
|
|
40
|
+
// `resource-instance-name` extension on the full resource. Reading it
|
|
41
|
+
// inline rather than through `getDisplayLabel` avoids a second import
|
|
42
|
+
// in the hot path — the URL check is the only thing that matters.
|
|
43
|
+
// Omitted from the output when absent so the summary stays minimal.
|
|
44
|
+
const displayLabel = readDisplayLabel(resource);
|
|
45
|
+
if (displayLabel !== undefined)
|
|
46
|
+
result.displayLabel = displayLabel;
|
|
47
|
+
const paths = SUMMARY_PATHS[resourceType];
|
|
48
|
+
if (paths && paths.length > 0) {
|
|
49
|
+
// `id` and `meta` are handled above with bespoke rules (meta is projected
|
|
50
|
+
// to just lastUpdated / versionId, not the whole Meta datatype).
|
|
51
|
+
const applicable = paths.filter((p) => p !== "id" && p !== "meta");
|
|
52
|
+
applyPaths(resource, result, applicable);
|
|
53
|
+
}
|
|
54
|
+
const bytes = utf8ByteLength(JSON.stringify(result));
|
|
55
|
+
if (bytes > errorBytes) {
|
|
56
|
+
logger.error("extractSummary: summary exceeds error threshold", {
|
|
57
|
+
resourceType,
|
|
58
|
+
id,
|
|
59
|
+
bytes,
|
|
60
|
+
thresholdBytes: errorBytes,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else if (bytes > warnBytes) {
|
|
64
|
+
logger.warn("extractSummary: summary exceeds warn threshold", {
|
|
65
|
+
resourceType,
|
|
66
|
+
id,
|
|
67
|
+
bytes,
|
|
68
|
+
thresholdBytes: warnBytes,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
function applyPaths(source, target, paths) {
|
|
74
|
+
const groups = groupByHead(paths);
|
|
75
|
+
for (const [head, groupPaths] of groups) {
|
|
76
|
+
if (head.endsWith("[x]")) {
|
|
77
|
+
applyChoicePath(source, target, head);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const value = source[head];
|
|
81
|
+
if (value === undefined || value === null)
|
|
82
|
+
continue;
|
|
83
|
+
const children = [];
|
|
84
|
+
for (const p of groupPaths) {
|
|
85
|
+
if (p === head)
|
|
86
|
+
continue;
|
|
87
|
+
children.push(p.slice(head.length + 1));
|
|
88
|
+
}
|
|
89
|
+
if (children.length === 0) {
|
|
90
|
+
target[head] = shallowCopy(value);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (Array.isArray(value)) {
|
|
94
|
+
const projected = [];
|
|
95
|
+
for (const el of value) {
|
|
96
|
+
if (el && typeof el === "object" && !Array.isArray(el)) {
|
|
97
|
+
const sub = {};
|
|
98
|
+
applyPaths(el, sub, children);
|
|
99
|
+
if (Object.keys(sub).length > 0)
|
|
100
|
+
projected.push(sub);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (projected.length > 0)
|
|
104
|
+
target[head] = projected;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (typeof value === "object") {
|
|
108
|
+
const sub = {};
|
|
109
|
+
applyPaths(value, sub, children);
|
|
110
|
+
if (Object.keys(sub).length > 0)
|
|
111
|
+
target[head] = sub;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function applyChoicePath(source, target, segment) {
|
|
116
|
+
const prefix = segment.slice(0, -"[x]".length);
|
|
117
|
+
for (const key of Object.keys(source)) {
|
|
118
|
+
if (!key.startsWith(prefix) || key.length <= prefix.length)
|
|
119
|
+
continue;
|
|
120
|
+
const nextCharCode = key.charCodeAt(prefix.length);
|
|
121
|
+
// Concrete FHIR variants are always `<prefix><CapitalizedType>`, e.g.
|
|
122
|
+
// `valueQuantity`, `effectiveDateTime`. Require an uppercase ASCII
|
|
123
|
+
// character immediately after the prefix to avoid false-positive
|
|
124
|
+
// matches against unrelated fields that happen to share the prefix.
|
|
125
|
+
if (nextCharCode < 65 || nextCharCode > 90)
|
|
126
|
+
continue;
|
|
127
|
+
const value = source[key];
|
|
128
|
+
if (value === undefined)
|
|
129
|
+
continue;
|
|
130
|
+
target[key] = shallowCopy(value);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function groupByHead(paths) {
|
|
134
|
+
const groups = new Map();
|
|
135
|
+
for (const p of paths) {
|
|
136
|
+
const dot = p.indexOf(".");
|
|
137
|
+
const head = dot === -1 ? p : p.slice(0, dot);
|
|
138
|
+
let bucket = groups.get(head);
|
|
139
|
+
if (!bucket) {
|
|
140
|
+
bucket = [];
|
|
141
|
+
groups.set(head, bucket);
|
|
142
|
+
}
|
|
143
|
+
bucket.push(p);
|
|
144
|
+
}
|
|
145
|
+
return groups;
|
|
146
|
+
}
|
|
147
|
+
function shallowCopy(value) {
|
|
148
|
+
if (Array.isArray(value))
|
|
149
|
+
return value.slice();
|
|
150
|
+
if (value !== null && typeof value === "object") {
|
|
151
|
+
return { ...value };
|
|
152
|
+
}
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
function utf8ByteLength(s) {
|
|
156
|
+
return new TextEncoder().encode(s).length;
|
|
157
|
+
}
|
|
158
|
+
function readDisplayLabel(resource) {
|
|
159
|
+
const ext = resource.extension;
|
|
160
|
+
if (!Array.isArray(ext))
|
|
161
|
+
return undefined;
|
|
162
|
+
for (const e of ext) {
|
|
163
|
+
if (e !== null &&
|
|
164
|
+
typeof e === "object" &&
|
|
165
|
+
e.url === DISPLAY_LABEL_EXTENSION_URL) {
|
|
166
|
+
const v = e.valueString;
|
|
167
|
+
if (typeof v === "string")
|
|
168
|
+
return v;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC1zdW1tYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N1bW1hcnkvZXh0cmFjdC1zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdEQsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFbkQsMkdBQTJHO0FBQzNHLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUEyRXBELE1BQU0sVUFBVSxjQUFjLENBQzVCLFFBQTBCLEVBQzFCLFVBQWlDLEVBQUU7SUFFbkMsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQXlCLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO0lBQy9ELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSwwQkFBMEIsQ0FBQztJQUMzRSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsbUJBQW1CLElBQUksMkJBQTJCLENBQUM7SUFFOUUsTUFBTSxNQUFNLEdBQWdCLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDN0MsSUFBSSxFQUFFLEtBQUssU0FBUztRQUFFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRXJDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDM0IsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxhQUFhLEdBQWlELEVBQUUsQ0FBQztRQUN2RSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxF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Q0FBQyxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdXJlIHByb2plY3Rpb24gb2YgYSBGSElSIFI0IHJlc291cmNlIGludG8gaXRzIHN1bW1hcnkgSlNPTiDigJQgdGhlXG4gKiBHU0ktZnJpZW5kbHkgc2hhcGUgZGVmaW5lZCBieSBBRFIgMjAyNi0wNC0xNy0wMiBhbmQgdGhlIGdlbmVyYXRlZFxuICogYFNVTU1BUllfUEFUSFNgIHRhYmxlIChpc3N1ZSAjODEyKS5cbiAqXG4gKiBDb25zdW1lZCBieSB0aGUgd3JpdGUgcGF0aCBpbiAjODE0OyBubyBJL08sIG5vIER5bmFtb0RCIGFjY2VzcyBoZXJlLlxuICpcbiAqIFRocmVzaG9sZCBkZWZhdWx0cyBjb21lIGZyb20gdGhlICM4MTEgc2l6ZSBiZW5jaG1hcmsgYWNyb3NzIGV2ZXJ5IFI0XG4gKiBleGFtcGxlIHJlc291cmNlLiBCb3RoIHRocmVzaG9sZHMgYXJlIHdhcm4tb25seSDigJQgdGhlIGd1YXJkIGlzIGFcbiAqIGRpYWdub3N0aWMgc2lnbmFsLCBuZXZlciBhIHJlYXNvbiB0byByZWplY3QgYSBzdG9yZSBvcGVyYXRpb24uXG4gKi9cbmltcG9ydCB7IERJU1BMQVlfTEFCRUxfRVhURU5TSU9OX1VSTCB9IGZyb20gXCIuL2Rpc3BsYXktbGFiZWxcIjtcbmltcG9ydCB7IFNVTU1BUllfUEFUSFMgfSBmcm9tIFwiLi4vZGF0YS9zdW1tYXJ5LXBhdGhzXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlU3VtbWFyeUJ5VHlwZSB9IGZyb20gXCIuLi9kYXRhL3N1bW1hcnktdHlwZXNcIjtcblxuLyoqIFN1bW1hcnkgZXhjZWVkcyB0aGUgY2xpbmljYWwtcGF0aCBwOTk7IHdvcnRoIGxvb2tpbmcgYXQgaWYgaXQncyBhIHBhdHRlcm4uICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVU1NQVJZX1dBUk5fQllURVMgPSA0ICogMTAyNDtcblxuLyoqIFN1bW1hcnkgaXMgb3V0c2lkZSBhbnkgbWVhc3VyZWQgZGlzdHJpYnV0aW9uOyBhbG1vc3QgY2VydGFpbmx5IGlubGluZSBhdHRhY2htZW50IG9yIHVucGFja2VkIEJ1bmRsZS4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NVTU1BUllfRVJST1JfQllURVMgPSA4ICogMTAyNDtcblxuZXhwb3J0IGludGVyZmFjZSBTdW1tYXJ5SnNvbiB7XG4gIHJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgbWV0YT86IHtcbiAgICBsYXN0VXBkYXRlZD86IHN0cmluZztcbiAgICB2ZXJzaW9uSWQ/OiBzdHJpbmc7XG4gIH07XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogTmFycm93IHJldHVybiB0eXBlIGZvciBgZXh0cmFjdFN1bW1hcnlgLiBXaGVuIHRoZSBjYWxsZXIgc3VwcGxpZXMgYVxuICogcmVzb3VyY2Ugd2hvc2UgYHJlc291cmNlVHlwZWAgaXMga25vd24gYXQgY29tcGlsZSB0aW1lICh3aGljaCBpcyB0aGVcbiAqIHVzdWFsIGNhc2Ug4oCUIGV2ZXJ5IGdlbmVyYXRlZCBGSElSIGludGVyZmFjZSBwaW5zIGByZXNvdXJjZVR5cGVgIHRvIGFcbiAqIHN0cmluZyBsaXRlcmFsKSwgdGhlIHJldHVybiB0eXBlIHJlc29sdmVzIHRvIHRoZSBtYXRjaGluZ1xuICogYHtSZXNvdXJjZX1TdW1tYXJ5YCBmcm9tIGBkYXRhL3N1bW1hcnktdHlwZXMudHNgLiBXaGVuIHRoZSBjYWxsZXJcbiAqIHN1cHBsaWVzIGEgYEZoaXJSZXNvdXJjZUxpa2VgIHdpdGggYSB3aWRlIGByZXNvdXJjZVR5cGU6IHN0cmluZ2AsIG9yXG4gKiBhIGxpdGVyYWwgdGhhdCBkb2Vzbid0IGNvcnJlc3BvbmQgdG8gYSBrbm93biByZXNvdXJjZSwgdGhlIHJldHVybiB0eXBlXG4gKiBmYWxscyB0aHJvdWdoIHRvIGBTdW1tYXJ5SnNvbmAuXG4gKi9cbmV4cG9ydCB0eXBlIFN1bW1hcnlGb3I8UiBleHRlbmRzIHN0cmluZz4gPSBSIGV4dGVuZHMga2V5b2YgUmVzb3VyY2VTdW1tYXJ5QnlUeXBlXG4gID8gUmVzb3VyY2VTdW1tYXJ5QnlUeXBlW1JdXG4gIDogU3VtbWFyeUpzb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmhpclJlc291cmNlTGlrZSB7XG4gIHJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgbWV0YT86IHtcbiAgICBsYXN0VXBkYXRlZD86IHN0cmluZztcbiAgICB2ZXJzaW9uSWQ/OiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfTtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYWN0U3VtbWFyeUxvZ2dlciB7XG4gIHdhcm4oLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbiAgZXJyb3IoLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYWN0U3VtbWFyeU9wdGlvbnMge1xuICAvKiogU29mdCAoaW5mbykgd2FybiB0aHJlc2hvbGQgaW4gVVRGLTggYnl0ZXMuIERlZmF1bHRzIHRvIDQgS2lCLiAqL1xuICB3YXJuVGhyZXNob2xkQnl0ZXM/OiBudW1iZXI7XG4gIC8qKiBIYXJkIChlcnJvcikgd2FybiB0aHJlc2hvbGQgaW4gVVRGLTggYnl0ZXMuIERlZmF1bHRzIHRvIDggS2lCLiAqL1xuICBlcnJvclRocmVzaG9sZEJ5dGVzPzogbnVtYmVyO1xuICAvKiogTG9nZ2VyIGZvciBzaXplLWd1YXJkIHdhcm5pbmdzLiBEZWZhdWx0cyB0byBgY29uc29sZWAuICovXG4gIGxvZ2dlcj86IEV4dHJhY3RTdW1tYXJ5TG9nZ2VyO1xufVxuXG4vKipcbiAqIFByb2plY3RzIGByZXNvdXJjZWAgaW50byBpdHMgc3VtbWFyeSBKU09OIHVzaW5nIGBTVU1NQVJZX1BBVEhTYC5cbiAqXG4gKiBBbHdheXMgZW1pdHMgYHJlc291cmNlVHlwZWAsIGBpZGAgKGlmIHByZXNlbnQpLCBhbmRcbiAqIGBtZXRhLntsYXN0VXBkYXRlZCx2ZXJzaW9uSWR9YCAoaWYgcHJlc2VudCkuIFRoZW4sIGZvciBldmVyeSBwYXRoIGluXG4gKiBgU1VNTUFSWV9QQVRIU1tyZXNvdXJjZVR5cGVdYDpcbiAqICAgLSBTaW1wbGUgcGF0aHMgKGBuYW1lYCkgY29weSB0aGUgd2hvbGUgdmFsdWUgKGFycmF5cyBzaGFsbG93LWNvcGllZCkuXG4gKiAgIC0gRG90dGVkIHBhdGhzIChgY29tcG9uZW50LmNvZGVgKSBwcm9qZWN0IHRoZSBuYW1lZCBzdWItZmllbGQgb2YgZWFjaFxuICogICAgIGVsZW1lbnQgb2YgdGhlIGNvbnRhaW5lcjsgaWYgYW55IHN1Yi1wYXRocyBhcmUgbGlzdGVkIGZvciBhXG4gKiAgICAgY29udGFpbmVyLCBvbmx5IHRob3NlIHN1Yi1maWVsZHMgYXJlIGNvcGllZCAobm90IHRoZSB3aG9sZSBlbGVtZW50KS5cbiAqICAgLSBgW3hdYCBjaG9pY2UtdHlwZSBwYXRocyAoYHZhbHVlW3hdYCkgbWF0Y2ggd2hpY2hldmVyIGNvbmNyZXRlXG4gKiAgICAgdmFyaWFudCAoYHZhbHVlUXVhbnRpdHlgLCBgdmFsdWVTdHJpbmdgLCDigKYpIGlzIHByZXNlbnQuXG4gKlxuICogTWlzc2luZyBmaWVsZHMgYXJlIG9taXR0ZWQg4oCUIG5vIG51bGxzLlxuICpcbiAqIElmIHRoZSBzZXJpYWxpemVkIHN1bW1hcnkgZXhjZWVkcyBgd2FyblRocmVzaG9sZEJ5dGVzYCAvXG4gKiBgZXJyb3JUaHJlc2hvbGRCeXRlc2AsIGEgd2FybiAvIGVycm9yIGlzIGxvZ2dlZCB3aXRoIGB7IHJlc291cmNlVHlwZSxcbiAqIGlkLCBieXRlcyB9YC4gVGhlIHN1bW1hcnkgaXMgYWx3YXlzIHJldHVybmVkOyB0aGUgc2l6ZSBndWFyZCBuZXZlclxuICogcmVqZWN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RTdW1tYXJ5PFQgZXh0ZW5kcyBGaGlyUmVzb3VyY2VMaWtlPihcbiAgcmVzb3VyY2U6IFQsXG4gIG9wdGlvbnM/OiBFeHRyYWN0U3VtbWFyeU9wdGlvbnMsXG4pOiBTdW1tYXJ5Rm9yPFRbXCJyZXNvdXJjZVR5cGVcIl0+O1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RTdW1tYXJ5KFxuICByZXNvdXJjZTogRmhpclJlc291cmNlTGlrZSxcbiAgb3B0aW9uczogRXh0cmFjdFN1bW1hcnlPcHRpb25zID0ge30sXG4pOiBTdW1tYXJ5SnNvbiB7XG4gIGNvbnN0IHsgcmVzb3VyY2VUeXBlLCBpZCB9ID0gcmVzb3VyY2U7XG4gIGNvbnN0IGxvZ2dlcjogRXh0cmFjdFN1bW1hcnlMb2dnZXIgPSBvcHRpb25zLmxvZ2dlciA/PyBjb25zb2xlO1xuICBjb25zdCB3YXJuQnl0ZXMgPSBvcHRpb25zLndhcm5UaHJlc2hvbGRCeXRlcyA/PyBERUZBVUxUX1NVTU1BUllfV0FSTl9CWVRFUztcbiAgY29uc3QgZXJyb3JCeXRlcyA9IG9wdGlvbnMuZXJyb3JUaHJlc2hvbGRCeXRlcyA/PyBERUZBVUxUX1NVTU1BUllfRVJST1JfQllURVM7XG5cbiAgY29uc3QgcmVzdWx0OiBTdW1tYXJ5SnNvbiA9IHsgcmVzb3VyY2VUeXBlIH07XG4gIGlmIChpZCAhPT0gdW5kZWZpbmVkKSByZXN1bHQuaWQgPSBpZDtcblxuICBjb25zdCBtZXRhID0gcmVzb3VyY2UubWV0YTtcbiAgaWYgKG1ldGEgJiYgdHlwZW9mIG1ldGEgPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCBwcm9qZWN0ZWRNZXRhOiB7IGxhc3RVcGRhdGVkPzogc3RyaW5nOyB2ZXJzaW9uSWQ/OiBzdHJpbmcgfSA9IHt9O1xuICAgIGlmIChtZXRhLmxhc3RVcGRhdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb2plY3RlZE1ldGEubGFzdFVwZGF0ZWQgPSBtZXRhLmxhc3RVcGRhdGVkO1xuICAgIH1cbiAgICBpZiAobWV0YS52ZXJzaW9uSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJvamVjdGVkTWV0YS52ZXJzaW9uSWQgPSBtZXRhLnZlcnNpb25JZDtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHByb2plY3RlZE1ldGEpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdC5tZXRhID0gcHJvamVjdGVkTWV0YTtcbiAgICB9XG4gIH1cblxuICAvLyBgZGlzcGxheUxhYmVsYCBvbiB0aGUgc3VtbWFyeSBpcyBiYWNrZWQgYnkgdGhlIEhMN1xuICAvLyBgcmVzb3VyY2UtaW5zdGFuY2UtbmFtZWAgZXh0ZW5zaW9uIG9uIHRoZSBmdWxsIHJlc291cmNlLiBSZWFkaW5nIGl0XG4gIC8vIGlubGluZSByYXRoZXIgdGhhbiB0aHJvdWdoIGBnZXREaXNwbGF5TGFiZWxgIGF2b2lkcyBhIHNlY29uZCBpbXBvcnRcbiAgLy8gaW4gdGhlIGhvdCBwYXRoIOKAlCB0aGUgVVJMIGNoZWNrIGlzIHRoZSBvbmx5IHRoaW5nIHRoYXQgbWF0dGVycy5cbiAgLy8gT21pdHRlZCBmcm9tIHRoZSBvdXRwdXQgd2hlbiBhYnNlbnQgc28gdGhlIHN1bW1hcnkgc3RheXMgbWluaW1hbC5cbiAgY29uc3QgZGlzcGxheUxhYmVsID0gcmVhZERpc3BsYXlMYWJlbChyZXNvdXJjZSk7XG4gIGlmIChkaXNwbGF5TGFiZWwgIT09IHVuZGVmaW5lZCkgcmVzdWx0LmRpc3BsYXlMYWJlbCA9IGRpc3BsYXlMYWJlbDtcblxuICBjb25zdCBwYXRocyA9IFNVTU1BUllfUEFUSFNbcmVzb3VyY2VUeXBlXTtcbiAgaWYgKHBhdGhzICYmIHBhdGhzLmxlbmd0aCA+IDApIHtcbiAgICAvLyBgaWRgIGFuZCBgbWV0YWAgYXJlIGhhbmRsZWQgYWJvdmUgd2l0aCBiZXNwb2tlIHJ1bGVzIChtZXRhIGlzIHByb2plY3RlZFxuICAgIC8vIHRvIGp1c3QgbGFzdFVwZGF0ZWQgLyB2ZXJzaW9uSWQsIG5vdCB0aGUgd2hvbGUgTWV0YSBkYXRhdHlwZSkuXG4gICAgY29uc3QgYXBwbGljYWJsZSA9IHBhdGhzLmZpbHRlcigocCkgPT4gcCAhPT0gXCJpZFwiICYmIHAgIT09IFwibWV0YVwiKTtcbiAgICBhcHBseVBhdGhzKFxuICAgICAgcmVzb3VyY2UgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgIHJlc3VsdCBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgYXBwbGljYWJsZSxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgYnl0ZXMgPSB1dGY4Qnl0ZUxlbmd0aChKU09OLnN0cmluZ2lmeShyZXN1bHQpKTtcbiAgaWYgKGJ5dGVzID4gZXJyb3JCeXRlcykge1xuICAgIGxvZ2dlci5lcnJvcihcImV4dHJhY3RTdW1tYXJ5OiBzdW1tYXJ5IGV4Y2VlZHMgZXJyb3IgdGhyZXNob2xkXCIsIHtcbiAgICAgIHJlc291cmNlVHlwZSxcbiAgICAgIGlkLFxuICAgICAgYnl0ZXMsXG4gICAgICB0aHJlc2hvbGRCeXRlczogZXJyb3JCeXRlcyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChieXRlcyA+IHdhcm5CeXRlcykge1xuICAgIGxvZ2dlci53YXJuKFwiZXh0cmFjdFN1bW1hcnk6IHN1bW1hcnkgZXhjZWVkcyB3YXJuIHRocmVzaG9sZFwiLCB7XG4gICAgICByZXNvdXJjZVR5cGUsXG4gICAgICBpZCxcbiAgICAgIGJ5dGVzLFxuICAgICAgdGhyZXNob2xkQnl0ZXM6IHdhcm5CeXRlcyxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGFwcGx5UGF0aHMoXG4gIHNvdXJjZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHBhdGhzOiByZWFkb25seSBzdHJpbmdbXSxcbik6IHZvaWQge1xuICBjb25zdCBncm91cHMgPSBncm91cEJ5SGVhZChwYXRocyk7XG4gIGZvciAoY29uc3QgW2hlYWQsIGdyb3VwUGF0aHNdIG9mIGdyb3Vwcykge1xuICAgIGlmIChoZWFkLmVuZHNXaXRoKFwiW3hdXCIpKSB7XG4gICAgICBhcHBseUNob2ljZVBhdGgoc291cmNlLCB0YXJnZXQsIGhlYWQpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBzb3VyY2VbaGVhZF07XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlO1xuXG4gICAgY29uc3QgY2hpbGRyZW46IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBwIG9mIGdyb3VwUGF0aHMpIHtcbiAgICAgIGlmIChwID09PSBoZWFkKSBjb250aW51ZTtcbiAgICAgIGNoaWxkcmVuLnB1c2gocC5zbGljZShoZWFkLmxlbmd0aCArIDEpKTtcbiAgICB9XG5cbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0YXJnZXRbaGVhZF0gPSBzaGFsbG93Q29weSh2YWx1ZSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IHByb2plY3RlZDogdW5rbm93bltdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGVsIG9mIHZhbHVlKSB7XG4gICAgICAgIGlmIChlbCAmJiB0eXBlb2YgZWwgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkoZWwpKSB7XG4gICAgICAgICAgY29uc3Qgc3ViOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgICAgIGFwcGx5UGF0aHMoZWwgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHN1YiwgY2hpbGRyZW4pO1xuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzdWIpLmxlbmd0aCA+IDApIHByb2plY3RlZC5wdXNoKHN1Yik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwcm9qZWN0ZWQubGVuZ3RoID4gMCkgdGFyZ2V0W2hlYWRdID0gcHJvamVjdGVkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc3Qgc3ViOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgYXBwbHlQYXRocyh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgc3ViLCBjaGlsZHJlbik7XG4gICAgICBpZiAoT2JqZWN0LmtleXMoc3ViKS5sZW5ndGggPiAwKSB0YXJnZXRbaGVhZF0gPSBzdWI7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5Q2hvaWNlUGF0aChcbiAgc291cmNlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgdGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgc2VnbWVudDogc3RyaW5nLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZWZpeCA9IHNlZ21lbnQuc2xpY2UoMCwgLVwiW3hdXCIubGVuZ3RoKTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc291cmNlKSkge1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSB8fCBrZXkubGVuZ3RoIDw9IHByZWZpeC5sZW5ndGgpIGNvbnRpbnVlO1xuICAgIGNvbnN0IG5leHRDaGFyQ29kZSA9IGtleS5jaGFyQ29kZUF0KHByZWZpeC5sZW5ndGgpO1xuICAgIC8vIENvbmNyZXRlIEZISVIgdmFyaWFudHMgYXJlIGFsd2F5cyBgPHByZWZpeD48Q2FwaXRhbGl6ZWRUeXBlPmAsIGUuZy5cbiAgICAvLyBgdmFsdWVRdWFudGl0eWAsIGBlZmZlY3RpdmVEYXRlVGltZWAuIFJlcXVpcmUgYW4gdXBwZXJjYXNlIEFTQ0lJXG4gICAgLy8gY2hhcmFjdGVyIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBwcmVmaXggdG8gYXZvaWQgZmFsc2UtcG9zaXRpdmVcbiAgICAvLyBtYXRjaGVzIGFnYWluc3QgdW5yZWxhdGVkIGZpZWxkcyB0aGF0IGhhcHBlbiB0byBzaGFyZSB0aGUgcHJlZml4LlxuICAgIGlmIChuZXh0Q2hhckNvZGUgPCA2NSB8fCBuZXh0Q2hhckNvZGUgPiA5MCkgY29udGludWU7XG4gICAgY29uc3QgdmFsdWUgPSBzb3VyY2Vba2V5XTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzaGFsbG93Q29weSh2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ3JvdXBCeUhlYWQocGF0aHM6IHJlYWRvbmx5IHN0cmluZ1tdKTogTWFwPHN0cmluZywgc3RyaW5nW10+IHtcbiAgY29uc3QgZ3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuICBmb3IgKGNvbnN0IHAgb2YgcGF0aHMpIHtcbiAgICBjb25zdCBkb3QgPSBwLmluZGV4T2YoXCIuXCIpO1xuICAgIGNvbnN0IGhlYWQgPSBkb3QgPT09IC0xID8gcCA6IHAuc2xpY2UoMCwgZG90KTtcbiAgICBsZXQgYnVja2V0ID0gZ3JvdXBzLmdldChoZWFkKTtcbiAgICBpZiAoIWJ1Y2tldCkge1xuICAgICAgYnVja2V0ID0gW107XG4gICAgICBncm91cHMuc2V0KGhlYWQsIGJ1Y2tldCk7XG4gICAgfVxuICAgIGJ1Y2tldC5wdXNoKHApO1xuICB9XG4gIHJldHVybiBncm91cHM7XG59XG5cbmZ1bmN0aW9uIHNoYWxsb3dDb3B5KHZhbHVlOiB1bmtub3duKTogdW5rbm93biB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLnNsaWNlKCk7XG4gIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4geyAuLi4odmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIH07XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB1dGY4Qnl0ZUxlbmd0aChzOiBzdHJpbmcpOiBudW1iZXIge1xuICByZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHMpLmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gcmVhZERpc3BsYXlMYWJlbChyZXNvdXJjZTogRmhpclJlc291cmNlTGlrZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGV4dCA9IHJlc291cmNlLmV4dGVuc2lvbjtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGV4dCkpIHJldHVybiB1bmRlZmluZWQ7XG4gIGZvciAoY29uc3QgZSBvZiBleHQpIHtcbiAgICBpZiAoXG4gICAgICBlICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgKGUgYXMgeyB1cmw/OiB1bmtub3duIH0pLnVybCA9PT0gRElTUExBWV9MQUJFTF9FWFRFTlNJT05fVVJMXG4gICAgKSB7XG4gICAgICBjb25zdCB2ID0gKGUgYXMgeyB2YWx1ZVN0cmluZz86IHVua25vd24gfSkudmFsdWVTdHJpbmc7XG4gICAgICBpZiAodHlwZW9mIHYgPT09IFwic3RyaW5nXCIpIHJldHVybiB2O1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./display-label";
|
|
2
|
+
export * from "./extract-summary";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3VtbWFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kaXNwbGF5LWxhYmVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHRyYWN0LXN1bW1hcnlcIjtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -39,8 +39,25 @@
|
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
|
-
"version": "0.0.
|
|
42
|
+
"version": "0.0.60",
|
|
43
43
|
"types": "lib/index.d.ts",
|
|
44
|
+
"sideEffects": false,
|
|
45
|
+
"module": "lib/esm/index.js",
|
|
46
|
+
"exports": {
|
|
47
|
+
".": {
|
|
48
|
+
"types": "./lib/index.d.ts",
|
|
49
|
+
"module": "./lib/esm/index.js",
|
|
50
|
+
"require": "./lib/index.js",
|
|
51
|
+
"default": "./lib/index.js"
|
|
52
|
+
},
|
|
53
|
+
"./data": {
|
|
54
|
+
"types": "./lib/data/index.d.ts",
|
|
55
|
+
"module": "./lib/esm/data/index.js",
|
|
56
|
+
"require": "./lib/data/index.js",
|
|
57
|
+
"default": "./lib/data/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./package.json": "./package.json"
|
|
60
|
+
},
|
|
44
61
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"pnpm exec projen\".",
|
|
45
62
|
"scripts": {
|
|
46
63
|
"build": "projen build",
|