@openhi/types 0.0.58 → 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 +19 -2
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @openhi/types — FHIR and OpenHI types by domain.
|
|
3
|
+
*
|
|
4
|
+
* Data plane is generator output (`src/data/`, one module per FHIR R4
|
|
5
|
+
* StructureDefinition, barrel in `./data/index.ts`). Base resources
|
|
6
|
+
* (Resource, DomainResource, Element, BackboneElement, Extension, etc.)
|
|
7
|
+
* live in that same tree — the generator treats them like any other SD.
|
|
8
|
+
*
|
|
9
|
+
* Control plane is generator output (`src/control/`): User, Tenant,
|
|
10
|
+
* Workspace, Membership, RoleAssignment, Role, plus the
|
|
11
|
+
* `PlatformRoleCode` terminology. Authored in FSH under
|
|
12
|
+
* `fsh/input/fsh/control-plane/` and emitted by the same pipeline.
|
|
13
|
+
*/
|
|
14
|
+
export * from "./data";
|
|
15
|
+
export * from "./control";
|
|
16
|
+
export * from "./summary";
|
|
17
|
+
export * from "./sort-key";
|
|
18
|
+
export * from "./auth";
|
|
19
|
+
export * from "./extensions";
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBvcGVuaGkvdHlwZXMg4oCUIEZISVIgYW5kIE9wZW5ISSB0eXBlcyBieSBkb21haW4uXG4gKlxuICogRGF0YSBwbGFuZSBpcyBnZW5lcmF0b3Igb3V0cHV0IChgc3JjL2RhdGEvYCwgb25lIG1vZHVsZSBwZXIgRkhJUiBSNFxuICogU3RydWN0dXJlRGVmaW5pdGlvbiwgYmFycmVsIGluIGAuL2RhdGEvaW5kZXgudHNgKS4gQmFzZSByZXNvdXJjZXNcbiAqIChSZXNvdXJjZSwgRG9tYWluUmVzb3VyY2UsIEVsZW1lbnQsIEJhY2tib25lRWxlbWVudCwgRXh0ZW5zaW9uLCBldGMuKVxuICogbGl2ZSBpbiB0aGF0IHNhbWUgdHJlZSDigJQgdGhlIGdlbmVyYXRvciB0cmVhdHMgdGhlbSBsaWtlIGFueSBvdGhlciBTRC5cbiAqXG4gKiBDb250cm9sIHBsYW5lIGlzIGdlbmVyYXRvciBvdXRwdXQgKGBzcmMvY29udHJvbC9gKTogVXNlciwgVGVuYW50LFxuICogV29ya3NwYWNlLCBNZW1iZXJzaGlwLCBSb2xlQXNzaWdubWVudCwgUm9sZSwgcGx1cyB0aGVcbiAqIGBQbGF0Zm9ybVJvbGVDb2RlYCB0ZXJtaW5vbG9neS4gQXV0aG9yZWQgaW4gRlNIIHVuZGVyXG4gKiBgZnNoL2lucHV0L2ZzaC9jb250cm9sLXBsYW5lL2AgYW5kIGVtaXR0ZWQgYnkgdGhlIHNhbWUgcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N1bW1hcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NvcnQta2V5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHRlbnNpb25zXCI7XG4iXX0=
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure projection of a FHIR R4 resource into its GSI1 sort key per DR-004.
|
|
3
|
+
*
|
|
4
|
+
* - Labeled types (entries in `LABEL_PATHS`): `<normalizedLabel>#<id>`
|
|
5
|
+
* so list endpoints sort alphabetically and `BEGINS_WITH` serves
|
|
6
|
+
* prefix queries like `?name=Sm`.
|
|
7
|
+
* - Unlabeled types: `<ISO-8601 lastUpdated>#<id>` so list endpoints
|
|
8
|
+
* serve reverse-chronological with `ScanIndexForward=false`.
|
|
9
|
+
*
|
|
10
|
+
* Pure: no I/O, no DynamoDB access, deterministic over the resource and
|
|
11
|
+
* the committed `LABEL_PATHS` table. Consumed by the data-plane writer
|
|
12
|
+
* before each `PutItem` / `UpdateItem`.
|
|
13
|
+
*/
|
|
14
|
+
import { LABEL_PATHS } from "./label-paths";
|
|
15
|
+
/**
|
|
16
|
+
* Returns the GSI1 sort-key value for `resource`. The id is the
|
|
17
|
+
* tie-breaker suffix; callers must pass a resource that carries an `id`
|
|
18
|
+
* for an `<id>` segment to be present, but `extractSortKey` returns
|
|
19
|
+
* `<label>#` (or `<lastUpdated>#`) with an empty trailing segment when id
|
|
20
|
+
* is missing rather than throwing — the caller validates id at the
|
|
21
|
+
* write-path entry.
|
|
22
|
+
*
|
|
23
|
+
* Resolution order:
|
|
24
|
+
* 1. `LABEL_PATHS[resourceType]` — the curated, type-aware extraction.
|
|
25
|
+
* 2. Introspection fallback per ADR-011 / DR-004: try `resource.name`
|
|
26
|
+
* (when it's a non-empty string), then `resource.title` (same), so
|
|
27
|
+
* spec types with a string `name`/`title` participate in alphabetical
|
|
28
|
+
* sort and `BEGINS_WITH` even if they aren't in `LABEL_PATHS` yet.
|
|
29
|
+
* 3. Unlabeled fallback — `<ISO-8601 lastUpdated>#<id>`.
|
|
30
|
+
*/
|
|
31
|
+
export function extractSortKey(resource) {
|
|
32
|
+
const id = typeof resource.id === "string" ? resource.id : "";
|
|
33
|
+
const label = extractLabel(resource);
|
|
34
|
+
if (label !== undefined) {
|
|
35
|
+
return `${label}#${id}`;
|
|
36
|
+
}
|
|
37
|
+
const lastUpdated = typeof resource.meta?.lastUpdated === "string"
|
|
38
|
+
? resource.meta.lastUpdated
|
|
39
|
+
: "";
|
|
40
|
+
return `${lastUpdated}#${id}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns the normalized natural label for `resource`, or `undefined` when
|
|
44
|
+
* no label can be extracted. Used directly by control-plane writers that
|
|
45
|
+
* compose their own `<label>#<id>` vs `<entity.lastUpdated>#<id>` fallback,
|
|
46
|
+
* and indirectly by `extractSortKey` for the data plane.
|
|
47
|
+
*
|
|
48
|
+
* Resolution order matches `extractSortKey`:
|
|
49
|
+
* 1. `LABEL_PATHS[resourceType]` — curated, type-aware extraction.
|
|
50
|
+
* 2. Introspection fallback — `resource.name` (string), then `resource.title`.
|
|
51
|
+
* 3. Returns `undefined` so the caller can decide on its own fallback.
|
|
52
|
+
*/
|
|
53
|
+
export function extractLabel(resource) {
|
|
54
|
+
const source = LABEL_PATHS[resource.resourceType];
|
|
55
|
+
if (source) {
|
|
56
|
+
const raw = extractLabelBySource(resource, source);
|
|
57
|
+
if (raw.length > 0)
|
|
58
|
+
return normalizeLabel(raw);
|
|
59
|
+
}
|
|
60
|
+
const introspected = introspectStringField(resource, "name") ??
|
|
61
|
+
introspectStringField(resource, "title");
|
|
62
|
+
if (introspected !== undefined)
|
|
63
|
+
return normalizeLabel(introspected);
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns the value of `field` on `resource` only if it's a non-empty string.
|
|
68
|
+
* Guards against HumanName arrays (Patient.name) and other non-string shapes
|
|
69
|
+
* so the introspection fallback never produces a key from a typed field it
|
|
70
|
+
* doesn't understand — that case stays on the lastUpdated fallback.
|
|
71
|
+
*/
|
|
72
|
+
function introspectStringField(resource, field) {
|
|
73
|
+
const value = resource[field];
|
|
74
|
+
if (typeof value === "string" && value.length > 0)
|
|
75
|
+
return value;
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
function extractLabelBySource(resource, source) {
|
|
79
|
+
if (source.kind === "humanName") {
|
|
80
|
+
const names = resource[source.path];
|
|
81
|
+
if (!Array.isArray(names))
|
|
82
|
+
return "";
|
|
83
|
+
const first = names[0];
|
|
84
|
+
if (!first || typeof first !== "object")
|
|
85
|
+
return "";
|
|
86
|
+
const name = first;
|
|
87
|
+
const family = typeof name.family === "string" ? name.family : "";
|
|
88
|
+
const given = Array.isArray(name.given) && typeof name.given[0] === "string"
|
|
89
|
+
? name.given[0]
|
|
90
|
+
: "";
|
|
91
|
+
if (family.length === 0 && given.length === 0)
|
|
92
|
+
return "";
|
|
93
|
+
return `${family},${given}`;
|
|
94
|
+
}
|
|
95
|
+
if (source.kind === "string") {
|
|
96
|
+
const value = resource[source.path];
|
|
97
|
+
return typeof value === "string" ? value : "";
|
|
98
|
+
}
|
|
99
|
+
if (source.kind === "codeDisplay") {
|
|
100
|
+
const code = resource[source.path];
|
|
101
|
+
if (!code || typeof code !== "object")
|
|
102
|
+
return "";
|
|
103
|
+
const cc = code;
|
|
104
|
+
if (Array.isArray(cc.coding)) {
|
|
105
|
+
const first = cc.coding[0];
|
|
106
|
+
if (first && typeof first === "object") {
|
|
107
|
+
const display = first.display;
|
|
108
|
+
if (typeof display === "string" && display.length > 0)
|
|
109
|
+
return display;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return typeof cc.text === "string" ? cc.text : "";
|
|
113
|
+
}
|
|
114
|
+
if (source.kind === "identifier") {
|
|
115
|
+
return extractIdentifierValue(resource[source.path]);
|
|
116
|
+
}
|
|
117
|
+
return "";
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Reads `Identifier.value` from a FHIR `Identifier` or `Identifier[]` field.
|
|
121
|
+
* Most FHIR R4 resources expose `identifier` as an array; a few (Bundle,
|
|
122
|
+
* QuestionnaireResponse) use a singular `Identifier`. Returns empty when no
|
|
123
|
+
* usable value is present so the caller's empty-label fallthrough kicks in.
|
|
124
|
+
*/
|
|
125
|
+
function extractIdentifierValue(field) {
|
|
126
|
+
if (Array.isArray(field)) {
|
|
127
|
+
const first = field[0];
|
|
128
|
+
if (!first || typeof first !== "object")
|
|
129
|
+
return "";
|
|
130
|
+
const value = first.value;
|
|
131
|
+
return typeof value === "string" ? value : "";
|
|
132
|
+
}
|
|
133
|
+
if (field && typeof field === "object") {
|
|
134
|
+
const value = field.value;
|
|
135
|
+
return typeof value === "string" ? value : "";
|
|
136
|
+
}
|
|
137
|
+
return "";
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Normalize a natural-language label per DR-004:
|
|
141
|
+
* 1. ASCII-fold common Latin diacritics (ñ→n, é→e, ø→o, …).
|
|
142
|
+
* 2. Lowercase (DynamoDB byte-order sort).
|
|
143
|
+
* 3. Strip apostrophes and periods (so `O'Connor` → `oconnor`).
|
|
144
|
+
* 4. Replace hyphens with spaces (so `García-López` → `garcia lopez`).
|
|
145
|
+
* 5. Strip other punctuation, collapse runs of whitespace, trim.
|
|
146
|
+
*
|
|
147
|
+
* Non-Latin scripts pass through unchanged after ASCII-fold so same-script
|
|
148
|
+
* items sort together. Locale-aware collation is a downstream client
|
|
149
|
+
* concern.
|
|
150
|
+
*/
|
|
151
|
+
export function normalizeLabel(input) {
|
|
152
|
+
return asciiFold(input)
|
|
153
|
+
.toLowerCase()
|
|
154
|
+
.replace(/['’.]/g, "")
|
|
155
|
+
.replace(/-/g, " ")
|
|
156
|
+
.replace(/[^\p{L}\p{N},\s]/gu, " ")
|
|
157
|
+
.replace(/\s+/g, " ")
|
|
158
|
+
.trim();
|
|
159
|
+
}
|
|
160
|
+
function asciiFold(input) {
|
|
161
|
+
// Decompose accents and strip combining marks; covers the common Latin
|
|
162
|
+
// diacritics (é, ñ, ü, …). Non-Latin scripts are unaffected.
|
|
163
|
+
return input.normalize("NFKD").replace(/\p{M}+/gu, "");
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC1zb3J0LWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zb3J0LWtleS9leHRyYWN0LXNvcnQta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRzlEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBMEI7SUFDdkQsTUFBTSxFQUFFLEdBQUcsT0FBTyxRQUFRLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRTlELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FDZixPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxLQUFLLFFBQVE7UUFDNUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVztRQUMzQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsT0FBTyxHQUFHLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUNoQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBMEI7SUFDckQsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lB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RUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFhO0lBQzFDLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQztTQUNwQixXQUFXLEVBQUU7U0FDYixPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztTQUNyQixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztTQUNsQixPQUFPLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDO1NBQ2xDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO1NBQ3BCLElBQUksRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQWE7SUFDOUIsdUVBQXVFO0lBQ3ZFLDZEQUE2RDtJQUM3RCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdXJlIHByb2plY3Rpb24gb2YgYSBGSElSIFI0IHJlc291cmNlIGludG8gaXRzIEdTSTEgc29ydCBrZXkgcGVyIERSLTAwNC5cbiAqXG4gKiAtIExhYmVsZWQgdHlwZXMgKGVudHJpZXMgaW4gYExBQkVMX1BBVEhTYCk6IGA8bm9ybWFsaXplZExhYmVsPiM8aWQ+YFxuICogICBzbyBsaXN0IGVuZHBvaW50cyBzb3J0IGFscGhhYmV0aWNhbGx5IGFuZCBgQkVHSU5TX1dJVEhgIHNlcnZlc1xuICogICBwcmVmaXggcXVlcmllcyBsaWtlIGA/bmFtZT1TbWAuXG4gKiAtIFVubGFiZWxlZCB0eXBlczogYDxJU08tODYwMSBsYXN0VXBkYXRlZD4jPGlkPmAgc28gbGlzdCBlbmRwb2ludHNcbiAqICAgc2VydmUgcmV2ZXJzZS1jaHJvbm9sb2dpY2FsIHdpdGggYFNjYW5JbmRleEZvcndhcmQ9ZmFsc2VgLlxuICpcbiAqIFB1cmU6IG5vIEkvTywgbm8gRHluYW1vREIgYWNjZXNzLCBkZXRlcm1pbmlzdGljIG92ZXIgdGhlIHJlc291cmNlIGFuZFxuICogdGhlIGNvbW1pdHRlZCBgTEFCRUxfUEFUSFNgIHRhYmxlLiBDb25zdW1lZCBieSB0aGUgZGF0YS1wbGFuZSB3cml0ZXJcbiAqIGJlZm9yZSBlYWNoIGBQdXRJdGVtYCAvIGBVcGRhdGVJdGVtYC5cbiAqL1xuXG5pbXBvcnQgeyBMQUJFTF9QQVRIUywgdHlwZSBMYWJlbFNvdXJjZSB9IGZyb20gXCIuL2xhYmVsLXBhdGhzXCI7XG5pbXBvcnQgdHlwZSB7IEZoaXJSZXNvdXJjZUxpa2UgfSBmcm9tIFwiLi4vc3VtbWFyeS9leHRyYWN0LXN1bW1hcnlcIjtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBHU0kxIHNvcnQta2V5IHZhbHVlIGZvciBgcmVzb3VyY2VgLiBUaGUgaWQgaXMgdGhlXG4gKiB0aWUtYnJlYWtlciBzdWZmaXg7IGNhbGxlcnMgbXVzdCBwYXNzIGEgcmVzb3VyY2UgdGhhdCBjYXJyaWVzIGFuIGBpZGBcbiAqIGZvciBhbiBgPGlkPmAgc2VnbWVudCB0byBiZSBwcmVzZW50LCBidXQgYGV4dHJhY3RTb3J0S2V5YCByZXR1cm5zXG4gKiBgPGxhYmVsPiNgIChvciBgPGxhc3RVcGRhdGVkPiNgKSB3aXRoIGFuIGVtcHR5IHRyYWlsaW5nIHNlZ21lbnQgd2hlbiBpZFxuICogaXMgbWlzc2luZyByYXRoZXIgdGhhbiB0aHJvd2luZyDigJQgdGhlIGNhbGxlciB2YWxpZGF0ZXMgaWQgYXQgdGhlXG4gKiB3cml0ZS1wYXRoIGVudHJ5LlxuICpcbiAqIFJlc29sdXRpb24gb3JkZXI6XG4gKiAxLiBgTEFCRUxfUEFUSFNbcmVzb3VyY2VUeXBlXWAg4oCUIHRoZSBjdXJhdGVkLCB0eXBlLWF3YXJlIGV4dHJhY3Rpb24uXG4gKiAyLiBJbnRyb3NwZWN0aW9uIGZhbGxiYWNrIHBlciBBRFItMDExIC8gRFItMDA0OiB0cnkgYHJlc291cmNlLm5hbWVgXG4gKiAgICAod2hlbiBpdCdzIGEgbm9uLWVtcHR5IHN0cmluZyksIHRoZW4gYHJlc291cmNlLnRpdGxlYCAoc2FtZSksIHNvXG4gKiAgICBzcGVjIHR5cGVzIHdpdGggYSBzdHJpbmcgYG5hbWVgL2B0aXRsZWAgcGFydGljaXBhdGUgaW4gYWxwaGFiZXRpY2FsXG4gKiAgICBzb3J0IGFuZCBgQkVHSU5TX1dJVEhgIGV2ZW4gaWYgdGhleSBhcmVuJ3QgaW4gYExBQkVMX1BBVEhTYCB5ZXQuXG4gKiAzLiBVbmxhYmVsZWQgZmFsbGJhY2sg4oCUIGA8SVNPLTg2MDEgbGFzdFVwZGF0ZWQ+IzxpZD5gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFNvcnRLZXkocmVzb3VyY2U6IEZoaXJSZXNvdXJjZUxpa2UpOiBzdHJpbmcge1xuICBjb25zdCBpZCA9IHR5cGVvZiByZXNvdXJjZS5pZCA9PT0gXCJzdHJpbmdcIiA/IHJlc291cmNlLmlkIDogXCJcIjtcblxuICBjb25zdCBsYWJlbCA9IGV4dHJhY3RMYWJlbChyZXNvdXJjZSk7XG4gIGlmIChsYWJlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGAke2xhYmVsfSMke2lkfWA7XG4gIH1cblxuICBjb25zdCBsYXN0VXBkYXRlZCA9XG4gICAgdHlwZW9mIHJlc291cmNlLm1ldGE/Lmxhc3RVcGRhdGVkID09PSBcInN0cmluZ1wiXG4gICAgICA/IHJlc291cmNlLm1ldGEubGFzdFVwZGF0ZWRcbiAgICAgIDogXCJcIjtcbiAgcmV0dXJuIGAke2xhc3RVcGRhdGVkfSMke2lkfWA7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbm9ybWFsaXplZCBuYXR1cmFsIGxhYmVsIGZvciBgcmVzb3VyY2VgLCBvciBgdW5kZWZpbmVkYCB3aGVuXG4gKiBubyBsYWJlbCBjYW4gYmUgZXh0cmFjdGVkLiBVc2VkIGRpcmVjdGx5IGJ5IGNvbnRyb2wtcGxhbmUgd3JpdGVycyB0aGF0XG4gKiBjb21wb3NlIHRoZWlyIG93biBgPGxhYmVsPiM8aWQ+YCB2cyBgPGVudGl0eS5sYXN0VXBkYXRlZD4jPGlkPmAgZmFsbGJhY2ssXG4gKiBhbmQgaW5kaXJlY3RseSBieSBgZXh0cmFjdFNvcnRLZXlgIGZvciB0aGUgZGF0YSBwbGFuZS5cbiAqXG4gKiBSZXNvbHV0aW9uIG9yZGVyIG1hdGNoZXMgYGV4dHJhY3RTb3J0S2V5YDpcbiAqIDEuIGBMQUJFTF9QQVRIU1tyZXNvdXJjZVR5cGVdYCDigJQgY3VyYXRlZCwgdHlwZS1hd2FyZSBleHRyYWN0aW9uLlxuICogMi4gSW50cm9zcGVjdGlvbiBmYWxsYmFjayDigJQgYHJlc291cmNlLm5hbWVgIChzdHJpbmcpLCB0aGVuIGByZXNvdXJjZS50aXRsZWAuXG4gKiAzLiBSZXR1cm5zIGB1bmRlZmluZWRgIHNvIHRoZSBjYWxsZXIgY2FuIGRlY2lkZSBvbiBpdHMgb3duIGZhbGxiYWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExhYmVsKHJlc291cmNlOiBGaGlyUmVzb3VyY2VMaWtlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc291cmNlID0gTEFCRUxfUEFUSFNbcmVzb3VyY2UucmVzb3VyY2VUeXBlXTtcbiAgaWYgKHNvdXJjZSkge1xuICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RMYWJlbEJ5U291cmNlKHJlc291cmNlLCBzb3VyY2UpO1xuICAgIGlmIChyYXcubGVuZ3RoID4gMCkgcmV0dXJuIG5vcm1hbGl6ZUxhYmVsKHJhdyk7XG4gIH1cblxuICBjb25zdCBpbnRyb3NwZWN0ZWQgPVxuICAgIGludHJvc3BlY3RTdHJpbmdGaWVsZChyZXNvdXJjZSwgXCJuYW1lXCIpID8/XG4gICAgaW50cm9zcGVjdFN0cmluZ0ZpZWxkKHJlc291cmNlLCBcInRpdGxlXCIpO1xuICBpZiAoaW50cm9zcGVjdGVkICE9PSB1bmRlZmluZWQpIHJldHVybiBub3JtYWxpemVMYWJlbChpbnRyb3NwZWN0ZWQpO1xuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdmFsdWUgb2YgYGZpZWxkYCBvbiBgcmVzb3VyY2VgIG9ubHkgaWYgaXQncyBhIG5vbi1lbXB0eSBzdHJpbmcuXG4gKiBHdWFyZHMgYWdhaW5zdCBIdW1hbk5hbWUgYXJyYXlzIChQYXRpZW50Lm5hbWUpIGFuZCBvdGhlciBub24tc3RyaW5nIHNoYXBlc1xuICogc28gdGhlIGludHJvc3BlY3Rpb24gZmFsbGJhY2sgbmV2ZXIgcHJvZHVjZXMgYSBrZXkgZnJvbSBhIHR5cGVkIGZpZWxkIGl0XG4gKiBkb2Vzbid0IHVuZGVyc3RhbmQg4oCUIHRoYXQgY2FzZSBzdGF5cyBvbiB0aGUgbGFzdFVwZGF0ZWQgZmFsbGJhY2suXG4gKi9cbmZ1bmN0aW9uIGludHJvc3BlY3RTdHJpbmdGaWVsZChcbiAgcmVzb3VyY2U6IEZoaXJSZXNvdXJjZUxpa2UsXG4gIGZpZWxkOiBzdHJpbmcsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB2YWx1ZSA9IHJlc291cmNlW2ZpZWxkXTtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiB2YWx1ZS5sZW5ndGggPiAwKSByZXR1cm4gdmFsdWU7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RMYWJlbEJ5U291cmNlKFxuICByZXNvdXJjZTogRmhpclJlc291cmNlTGlrZSxcbiAgc291cmNlOiBMYWJlbFNvdXJjZSxcbik6IHN0cmluZyB7XG4gIGlmIChzb3VyY2Uua2luZCA9PT0gXCJodW1hbk5hbWVcIikge1xuICAgIGNvbnN0IG5hbWVzID0gcmVzb3VyY2Vbc291cmNlLnBhdGhdO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShuYW1lcykpIHJldHVybiBcIlwiO1xuICAgIGNvbnN0IGZpcnN0ID0gbmFtZXNbMF07XG4gICAgaWYgKCFmaXJzdCB8fCB0eXBlb2YgZmlyc3QgIT09IFwib2JqZWN0XCIpIHJldHVybiBcIlwiO1xuICAgIGNvbnN0IG5hbWUgPSBmaXJzdCBhcyB7IGZhbWlseT86IHVua25vd247IGdpdmVuPzogdW5rbm93biB9O1xuICAgIGNvbnN0IGZhbWlseSA9IHR5cGVvZiBuYW1lLmZhbWlseSA9PT0gXCJzdHJpbmdcIiA/IG5hbWUuZmFtaWx5IDogXCJcIjtcbiAgICBjb25zdCBnaXZlbiA9XG4gICAgICBBcnJheS5pc0FycmF5KG5hbWUuZ2l2ZW4pICYmIHR5cGVvZiBuYW1lLmdpdmVuWzBdID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gbmFtZS5naXZlblswXVxuICAgICAgICA6IFwiXCI7XG4gICAgaWYgKGZhbWlseS5sZW5ndGggPT09IDAgJiYgZ2l2ZW4ubGVuZ3RoID09PSAwKSByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gYCR7ZmFtaWx5fSwke2dpdmVufWA7XG4gIH1cblxuICBpZiAoc291cmNlLmtpbmQgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHJlc291cmNlW3NvdXJjZS5wYXRoXTtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiBcIlwiO1xuICB9XG5cbiAgaWYgKHNvdXJjZS5raW5kID09PSBcImNvZGVEaXNwbGF5XCIpIHtcbiAgICBjb25zdCBjb2RlID0gcmVzb3VyY2Vbc291cmNlLnBhdGhdO1xuICAgIGlmICghY29kZSB8fCB0eXBlb2YgY29kZSAhPT0gXCJvYmplY3RcIikgcmV0dXJuIFwiXCI7XG4gICAgY29uc3QgY2MgPSBjb2RlIGFzIHtcbiAgICAgIGNvZGluZz86IHVua25vd247XG4gICAgICB0ZXh0PzogdW5rbm93bjtcbiAgICB9O1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNjLmNvZGluZykpIHtcbiAgICAgIGNvbnN0IGZpcnN0ID0gY2MuY29kaW5nWzBdO1xuICAgICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCBkaXNwbGF5ID0gKGZpcnN0IGFzIHsgZGlzcGxheT86IHVua25vd24gfSkuZGlzcGxheTtcbiAgICAgICAgaWYgKHR5cGVvZiBkaXNwbGF5ID09PSBcInN0cmluZ1wiICYmIGRpc3BsYXkubGVuZ3RoID4gMCkgcmV0dXJuIGRpc3BsYXk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgY2MudGV4dCA9PT0gXCJzdHJpbmdcIiA/IGNjLnRleHQgOiBcIlwiO1xuICB9XG5cbiAgaWYgKHNvdXJjZS5raW5kID09PSBcImlkZW50aWZpZXJcIikge1xuICAgIHJldHVybiBleHRyYWN0SWRlbnRpZmllclZhbHVlKHJlc291cmNlW3NvdXJjZS5wYXRoXSk7XG4gIH1cblxuICByZXR1cm4gXCJcIjtcbn1cblxuLyoqXG4gKiBSZWFkcyBgSWRlbnRpZmllci52YWx1ZWAgZnJvbSBhIEZISVIgYElkZW50aWZpZXJgIG9yIGBJZGVudGlmaWVyW11gIGZpZWxkLlxuICogTW9zdCBGSElSIFI0IHJlc291cmNlcyBleHBvc2UgYGlkZW50aWZpZXJgIGFzIGFuIGFycmF5OyBhIGZldyAoQnVuZGxlLFxuICogUXVlc3Rpb25uYWlyZVJlc3BvbnNlKSB1c2UgYSBzaW5ndWxhciBgSWRlbnRpZmllcmAuIFJldHVybnMgZW1wdHkgd2hlbiBub1xuICogdXNhYmxlIHZhbHVlIGlzIHByZXNlbnQgc28gdGhlIGNhbGxlcidzIGVtcHR5LWxhYmVsIGZhbGx0aHJvdWdoIGtpY2tzIGluLlxuICovXG5mdW5jdGlvbiBleHRyYWN0SWRlbnRpZmllclZhbHVlKGZpZWxkOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQpKSB7XG4gICAgY29uc3QgZmlyc3QgPSBmaWVsZFswXTtcbiAgICBpZiAoIWZpcnN0IHx8IHR5cGVvZiBmaXJzdCAhPT0gXCJvYmplY3RcIikgcmV0dXJuIFwiXCI7XG4gICAgY29uc3QgdmFsdWUgPSAoZmlyc3QgYXMgeyB2YWx1ZT86IHVua25vd24gfSkudmFsdWU7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogXCJcIjtcbiAgfVxuICBpZiAoZmllbGQgJiYgdHlwZW9mIGZpZWxkID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZmllbGQgYXMgeyB2YWx1ZT86IHVua25vd24gfSkudmFsdWU7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogXCJcIjtcbiAgfVxuICByZXR1cm4gXCJcIjtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYSBuYXR1cmFsLWxhbmd1YWdlIGxhYmVsIHBlciBEUi0wMDQ6XG4gKiAxLiBBU0NJSS1mb2xkIGNvbW1vbiBMYXRpbiBkaWFjcml0aWNzICjDseKGkm4sIMOp4oaSZSwgw7jihpJvLCDigKYpLlxuICogMi4gTG93ZXJjYXNlIChEeW5hbW9EQiBieXRlLW9yZGVyIHNvcnQpLlxuICogMy4gU3RyaXAgYXBvc3Ryb3BoZXMgYW5kIHBlcmlvZHMgKHNvIGBPJ0Nvbm5vcmAg4oaSIGBvY29ubm9yYCkuXG4gKiA0LiBSZXBsYWNlIGh5cGhlbnMgd2l0aCBzcGFjZXMgKHNvIGBHYXJjw61hLUzDs3BlemAg4oaSIGBnYXJjaWEgbG9wZXpgKS5cbiAqIDUuIFN0cmlwIG90aGVyIHB1bmN0dWF0aW9uLCBjb2xsYXBzZSBydW5zIG9mIHdoaXRlc3BhY2UsIHRyaW0uXG4gKlxuICogTm9uLUxhdGluIHNjcmlwdHMgcGFzcyB0aHJvdWdoIHVuY2hhbmdlZCBhZnRlciBBU0NJSS1mb2xkIHNvIHNhbWUtc2NyaXB0XG4gKiBpdGVtcyBzb3J0IHRvZ2V0aGVyLiBMb2NhbGUtYXdhcmUgY29sbGF0aW9uIGlzIGEgZG93bnN0cmVhbSBjbGllbnRcbiAqIGNvbmNlcm4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVMYWJlbChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGFzY2lpRm9sZChpbnB1dClcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5yZXBsYWNlKC9bJ+KAmS5dL2csIFwiXCIpXG4gICAgLnJlcGxhY2UoLy0vZywgXCIgXCIpXG4gICAgLnJlcGxhY2UoL1teXFxwe0x9XFxwe059LFxcc10vZ3UsIFwiIFwiKVxuICAgIC5yZXBsYWNlKC9cXHMrL2csIFwiIFwiKVxuICAgIC50cmltKCk7XG59XG5cbmZ1bmN0aW9uIGFzY2lpRm9sZChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gRGVjb21wb3NlIGFjY2VudHMgYW5kIHN0cmlwIGNvbWJpbmluZyBtYXJrczsgY292ZXJzIHRoZSBjb21tb24gTGF0aW5cbiAgLy8gZGlhY3JpdGljcyAow6ksIMOxLCDDvCwg4oCmKS4gTm9uLUxhdGluIHNjcmlwdHMgYXJlIHVuYWZmZWN0ZWQuXG4gIHJldHVybiBpbnB1dC5ub3JtYWxpemUoXCJORktEXCIpLnJlcGxhY2UoL1xccHtNfSsvZ3UsIFwiXCIpO1xufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./label-paths";
|
|
2
|
+
export * from "./extract-sort-key";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc29ydC1rZXkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xhYmVsLXBhdGhzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHRyYWN0LXNvcnQta2V5XCI7XG4iXX0=
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `LABEL_PATHS` — per-resource-type label-extraction rule for `extractSortKey`.
|
|
3
|
+
* Hand-curated table per DR-004.
|
|
4
|
+
*
|
|
5
|
+
* Resource types listed here emit GSI1 sort keys of the form
|
|
6
|
+
* `<normalizedLabel>#<id>` so list endpoints return alphabetically sorted by
|
|
7
|
+
* natural label and `BEGINS_WITH` queries serve prefix searches like
|
|
8
|
+
* `?name=Sm` or `?identifier=INV-2024`. Resource types absent from this map
|
|
9
|
+
* fall back to `<ISO-8601 lastUpdated>#<id>`.
|
|
10
|
+
*
|
|
11
|
+
* Five buckets cover the FHIR R4 surface:
|
|
12
|
+
*
|
|
13
|
+
* - **humanName** — `name: HumanName[]` (Patient, Practitioner, Person,
|
|
14
|
+
* RelatedPerson). Label is `family,given`.
|
|
15
|
+
* - **string** with `path: "name"` — plain string `name` fields on
|
|
16
|
+
* directory-style resources (Organization, Location, Account, …) and
|
|
17
|
+
* on conformance resources (StructureDefinition, ValueSet, …).
|
|
18
|
+
* - **string** with `path: "title"` — title-keyed resources where the
|
|
19
|
+
* business label is `title` rather than `name` (CarePlan, Composition,
|
|
20
|
+
* Contract, List, ResearchStudy, …).
|
|
21
|
+
* - **codeDisplay** — primary CodeableConcept on the resource
|
|
22
|
+
* (Condition.code, Observation.code, Immunization.vaccineCode,
|
|
23
|
+
* BodyStructure.morphology, …). Label is `coding[0].display` with
|
|
24
|
+
* `text` fallback.
|
|
25
|
+
* - **identifier** — business identifier on transactional / financial /
|
|
26
|
+
* scheduling resources (Claim.identifier, Invoice.identifier,
|
|
27
|
+
* Encounter.identifier, …). Label is `identifier[0].value`.
|
|
28
|
+
*
|
|
29
|
+
* Resource types not in this table fall through to `<lastUpdated>#<id>` —
|
|
30
|
+
* intentional for event-log and metadata resources (AuditEvent, Bundle,
|
|
31
|
+
* Provenance, Linkage, MessageHeader, VerificationResult) and for the
|
|
32
|
+
* substance / medicinal-product detail families (SubstanceNucleicAcid,
|
|
33
|
+
* MedicinalProductIngredient, …) that are not list-by-name resources.
|
|
34
|
+
*
|
|
35
|
+
* @see openhi-planning DR-004 — FHIR Summary-Attribute and Sort-Key Projection Strategy
|
|
36
|
+
*/
|
|
37
|
+
/** Resource types with curated natural labels. */
|
|
38
|
+
export const LABEL_PATHS = {
|
|
39
|
+
// HumanName arrays
|
|
40
|
+
Patient: { kind: "humanName", path: "name" },
|
|
41
|
+
Person: { kind: "humanName", path: "name" },
|
|
42
|
+
Practitioner: { kind: "humanName", path: "name" },
|
|
43
|
+
RelatedPerson: { kind: "humanName", path: "name" },
|
|
44
|
+
// Plain string `name` (directory-style resources)
|
|
45
|
+
Account: { kind: "string", path: "name" },
|
|
46
|
+
CareTeam: { kind: "string", path: "name" },
|
|
47
|
+
Endpoint: { kind: "string", path: "name" },
|
|
48
|
+
Group: { kind: "string", path: "name" },
|
|
49
|
+
HealthcareService: { kind: "string", path: "name" },
|
|
50
|
+
InsurancePlan: { kind: "string", path: "name" },
|
|
51
|
+
Location: { kind: "string", path: "name" },
|
|
52
|
+
Organization: { kind: "string", path: "name" },
|
|
53
|
+
// Control-plane FHIR types (ADR-2026-03-13-01 — Tenant/Workspace as FHIR types)
|
|
54
|
+
Tenant: { kind: "string", path: "name" },
|
|
55
|
+
Workspace: { kind: "string", path: "name" },
|
|
56
|
+
// `title`-keyed (title is the only or primary human label)
|
|
57
|
+
CarePlan: { kind: "string", path: "title" },
|
|
58
|
+
ChargeItemDefinition: { kind: "string", path: "title" },
|
|
59
|
+
Composition: { kind: "string", path: "title" },
|
|
60
|
+
Contract: { kind: "string", path: "title" },
|
|
61
|
+
List: { kind: "string", path: "title" },
|
|
62
|
+
ResearchStudy: { kind: "string", path: "title" },
|
|
63
|
+
// Conformance resources (string `name` is required; `title` is optional)
|
|
64
|
+
ActivityDefinition: { kind: "string", path: "name" },
|
|
65
|
+
CapabilityStatement: { kind: "string", path: "name" },
|
|
66
|
+
CodeSystem: { kind: "string", path: "name" },
|
|
67
|
+
CompartmentDefinition: { kind: "string", path: "name" },
|
|
68
|
+
ConceptMap: { kind: "string", path: "name" },
|
|
69
|
+
EffectEvidenceSynthesis: { kind: "string", path: "name" },
|
|
70
|
+
EventDefinition: { kind: "string", path: "name" },
|
|
71
|
+
Evidence: { kind: "string", path: "name" },
|
|
72
|
+
EvidenceVariable: { kind: "string", path: "name" },
|
|
73
|
+
ExampleScenario: { kind: "string", path: "name" },
|
|
74
|
+
GraphDefinition: { kind: "string", path: "name" },
|
|
75
|
+
ImplementationGuide: { kind: "string", path: "name" },
|
|
76
|
+
Library: { kind: "string", path: "name" },
|
|
77
|
+
Measure: { kind: "string", path: "name" },
|
|
78
|
+
MessageDefinition: { kind: "string", path: "name" },
|
|
79
|
+
NamingSystem: { kind: "string", path: "name" },
|
|
80
|
+
OperationDefinition: { kind: "string", path: "name" },
|
|
81
|
+
PlanDefinition: { kind: "string", path: "name" },
|
|
82
|
+
Questionnaire: { kind: "string", path: "name" },
|
|
83
|
+
ResearchDefinition: { kind: "string", path: "name" },
|
|
84
|
+
ResearchElementDefinition: { kind: "string", path: "name" },
|
|
85
|
+
RiskEvidenceSynthesis: { kind: "string", path: "name" },
|
|
86
|
+
SearchParameter: { kind: "string", path: "name" },
|
|
87
|
+
StructureDefinition: { kind: "string", path: "name" },
|
|
88
|
+
StructureMap: { kind: "string", path: "name" },
|
|
89
|
+
TerminologyCapabilities: { kind: "string", path: "name" },
|
|
90
|
+
TestReport: { kind: "string", path: "name" },
|
|
91
|
+
TestScript: { kind: "string", path: "name" },
|
|
92
|
+
ValueSet: { kind: "string", path: "name" },
|
|
93
|
+
// Primary CodeableConcept (codeDisplay reads `coding[0].display` with `text` fallback)
|
|
94
|
+
AdverseEvent: { kind: "codeDisplay", path: "event" },
|
|
95
|
+
AllergyIntolerance: { kind: "codeDisplay", path: "code" },
|
|
96
|
+
Basic: { kind: "codeDisplay", path: "code" },
|
|
97
|
+
BodyStructure: { kind: "codeDisplay", path: "morphology" },
|
|
98
|
+
ChargeItem: { kind: "codeDisplay", path: "code" },
|
|
99
|
+
Communication: { kind: "codeDisplay", path: "topic" },
|
|
100
|
+
Condition: { kind: "codeDisplay", path: "code" },
|
|
101
|
+
DetectedIssue: { kind: "codeDisplay", path: "code" },
|
|
102
|
+
DeviceMetric: { kind: "codeDisplay", path: "type" },
|
|
103
|
+
DiagnosticReport: { kind: "codeDisplay", path: "code" },
|
|
104
|
+
DocumentManifest: { kind: "codeDisplay", path: "type" },
|
|
105
|
+
DocumentReference: { kind: "codeDisplay", path: "type" },
|
|
106
|
+
FamilyMemberHistory: { kind: "codeDisplay", path: "relationship" },
|
|
107
|
+
Flag: { kind: "codeDisplay", path: "code" },
|
|
108
|
+
Goal: { kind: "codeDisplay", path: "description" },
|
|
109
|
+
Immunization: { kind: "codeDisplay", path: "vaccineCode" },
|
|
110
|
+
ImmunizationEvaluation: { kind: "codeDisplay", path: "vaccineCode" },
|
|
111
|
+
Medication: { kind: "codeDisplay", path: "code" },
|
|
112
|
+
MedicationKnowledge: { kind: "codeDisplay", path: "code" },
|
|
113
|
+
Observation: { kind: "codeDisplay", path: "code" },
|
|
114
|
+
ObservationDefinition: { kind: "codeDisplay", path: "code" },
|
|
115
|
+
Procedure: { kind: "codeDisplay", path: "code" },
|
|
116
|
+
ServiceRequest: { kind: "codeDisplay", path: "code" },
|
|
117
|
+
Specimen: { kind: "codeDisplay", path: "type" },
|
|
118
|
+
SpecimenDefinition: { kind: "codeDisplay", path: "typeCollected" },
|
|
119
|
+
Substance: { kind: "codeDisplay", path: "code" },
|
|
120
|
+
Task: { kind: "codeDisplay", path: "code" },
|
|
121
|
+
// Business identifier — `identifier[0].value` (singular `Identifier` also supported)
|
|
122
|
+
Appointment: { kind: "identifier", path: "identifier" },
|
|
123
|
+
AppointmentResponse: { kind: "identifier", path: "identifier" },
|
|
124
|
+
CatalogEntry: { kind: "identifier", path: "identifier" },
|
|
125
|
+
Claim: { kind: "identifier", path: "identifier" },
|
|
126
|
+
ClaimResponse: { kind: "identifier", path: "identifier" },
|
|
127
|
+
ClinicalImpression: { kind: "identifier", path: "identifier" },
|
|
128
|
+
CommunicationRequest: { kind: "identifier", path: "identifier" },
|
|
129
|
+
Consent: { kind: "identifier", path: "identifier" },
|
|
130
|
+
Coverage: { kind: "identifier", path: "identifier" },
|
|
131
|
+
CoverageEligibilityRequest: { kind: "identifier", path: "identifier" },
|
|
132
|
+
CoverageEligibilityResponse: { kind: "identifier", path: "identifier" },
|
|
133
|
+
DeviceRequest: { kind: "identifier", path: "identifier" },
|
|
134
|
+
DeviceUseStatement: { kind: "identifier", path: "identifier" },
|
|
135
|
+
Encounter: { kind: "identifier", path: "identifier" },
|
|
136
|
+
EnrollmentRequest: { kind: "identifier", path: "identifier" },
|
|
137
|
+
EnrollmentResponse: { kind: "identifier", path: "identifier" },
|
|
138
|
+
EpisodeOfCare: { kind: "identifier", path: "identifier" },
|
|
139
|
+
ExplanationOfBenefit: { kind: "identifier", path: "identifier" },
|
|
140
|
+
GuidanceResponse: { kind: "identifier", path: "identifier" },
|
|
141
|
+
ImagingStudy: { kind: "identifier", path: "identifier" },
|
|
142
|
+
ImmunizationRecommendation: { kind: "identifier", path: "identifier" },
|
|
143
|
+
Invoice: { kind: "identifier", path: "identifier" },
|
|
144
|
+
MeasureReport: { kind: "identifier", path: "identifier" },
|
|
145
|
+
Media: { kind: "identifier", path: "identifier" },
|
|
146
|
+
MedicationAdministration: { kind: "identifier", path: "identifier" },
|
|
147
|
+
MedicationDispense: { kind: "identifier", path: "identifier" },
|
|
148
|
+
MedicationRequest: { kind: "identifier", path: "identifier" },
|
|
149
|
+
MedicationStatement: { kind: "identifier", path: "identifier" },
|
|
150
|
+
MolecularSequence: { kind: "identifier", path: "identifier" },
|
|
151
|
+
NutritionOrder: { kind: "identifier", path: "identifier" },
|
|
152
|
+
OrganizationAffiliation: { kind: "identifier", path: "identifier" },
|
|
153
|
+
PaymentNotice: { kind: "identifier", path: "identifier" },
|
|
154
|
+
PaymentReconciliation: { kind: "identifier", path: "identifier" },
|
|
155
|
+
PractitionerRole: { kind: "identifier", path: "identifier" },
|
|
156
|
+
QuestionnaireResponse: { kind: "identifier", path: "identifier" },
|
|
157
|
+
RequestGroup: { kind: "identifier", path: "identifier" },
|
|
158
|
+
ResearchSubject: { kind: "identifier", path: "identifier" },
|
|
159
|
+
RiskAssessment: { kind: "identifier", path: "identifier" },
|
|
160
|
+
Schedule: { kind: "identifier", path: "identifier" },
|
|
161
|
+
Slot: { kind: "identifier", path: "identifier" },
|
|
162
|
+
SupplyDelivery: { kind: "identifier", path: "identifier" },
|
|
163
|
+
SupplyRequest: { kind: "identifier", path: "identifier" },
|
|
164
|
+
VisionPrescription: { kind: "identifier", path: "identifier" },
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtcGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc29ydC1rZXkvbGFiZWwtcGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNHO0FBU0gsa0RBQWtEO0FBQ2xELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBZ0M7SUFDdEQsbUJBQW1CO0lBQ25CLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtJQUM1QyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDM0MsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ2pELGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtJQUVsRCxrREFBa0Q7SUFDbEQsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ3pDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtJQUMxQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7SUFDMUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ3ZDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0lBQ25ELGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtJQUMvQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUks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WSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDeEQsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQzNELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUMxRCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDcEQsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ2hELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUMxRCxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7SUFDekQsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7Q0FDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYExBQkVMX1BBVEhTYCDigJQgcGVyLXJlc291cmNlLXR5cGUgbGFiZWwtZXh0cmFjdGlvbiBydWxlIGZvciBgZXh0cmFjdFNvcnRLZXlgLlxuICogSGFuZC1jdXJhdGVkIHRhYmxlIHBlciBEUi0wMDQuXG4gKlxuICogUmVzb3VyY2UgdHlwZXMgbGlzdGVkIGhlcmUgZW1pdCBHU0kxIHNvcnQga2V5cyBvZiB0aGUgZm9ybVxuICogYDxub3JtYWxpemVkTGFiZWw+IzxpZD5gIHNvIGxpc3QgZW5kcG9pbnRzIHJldHVybiBhbHBoYWJldGljYWxseSBzb3J0ZWQgYnlcbiAqIG5hdHVyYWwgbGFiZWwgYW5kIGBCRUdJTlNfV0lUSGAgcXVlcmllcyBzZXJ2ZSBwcmVmaXggc2VhcmNoZXMgbGlrZVxuICogYD9uYW1lPVNtYCBvciBgP2lkZW50aWZpZXI9SU5WLTIwMjRgLiBSZXNvdXJjZSB0eXBlcyBhYnNlbnQgZnJvbSB0aGlzIG1hcFxuICogZmFsbCBiYWNrIHRvIGA8SVNPLTg2MDEgbGFzdFVwZGF0ZWQ+IzxpZD5gLlxuICpcbiAqIEZpdmUgYnVja2V0cyBjb3ZlciB0aGUgRkhJUiBSNCBzdXJmYWNlOlxuICpcbiAqIC0gKipodW1hbk5hbWUqKiDigJQgYG5hbWU6IEh1bWFuTmFtZVtdYCAoUGF0aWVudCwgUHJhY3RpdGlvbmVyLCBQZXJzb24sXG4gKiAgIFJlbGF0ZWRQZXJzb24pLiBMYWJlbCBpcyBgZmFtaWx5LGdpdmVuYC5cbiAqIC0gKipzdHJpbmcqKiB3aXRoIGBwYXRoOiBcIm5hbWVcImAg4oCUIHBsYWluIHN0cmluZyBgbmFtZWAgZmllbGRzIG9uXG4gKiAgIGRpcmVjdG9yeS1zdHlsZSByZXNvdXJjZXMgKE9yZ2FuaXphdGlvbiwgTG9jYXRpb24sIEFjY291bnQsIOKApikgYW5kXG4gKiAgIG9uIGNvbmZvcm1hbmNlIHJlc291cmNlcyAoU3RydWN0dXJlRGVmaW5pdGlvbiwgVmFsdWVTZXQsIOKApikuXG4gKiAtICoqc3RyaW5nKiogd2l0aCBgcGF0aDogXCJ0aXRsZVwiYCDigJQgdGl0bGUta2V5ZWQgcmVzb3VyY2VzIHdoZXJlIHRoZVxuICogICBidXNpbmVzcyBsYWJlbCBpcyBgdGl0bGVgIHJhdGhlciB0aGFuIGBuYW1lYCAoQ2FyZVBsYW4sIENvbXBvc2l0aW9uLFxuICogICBDb250cmFjdCwgTGlzdCwgUmVzZWFyY2hTdHVkeSwg4oCmKS5cbiAqIC0gKipjb2RlRGlzcGxheSoqIOKAlCBwcmltYXJ5IENvZGVhYmxlQ29uY2VwdCBvbiB0aGUgcmVzb3VyY2VcbiAqICAgKENvbmRpdGlvbi5jb2RlLCBPYnNlcnZhdGlvbi5jb2RlLCBJbW11bml6YXRpb24udmFjY2luZUNvZGUsXG4gKiAgIEJvZHlTdHJ1Y3R1cmUubW9ycGhvbG9neSwg4oCmKS4gTGFiZWwgaXMgYGNvZGluZ1swXS5kaXNwbGF5YCB3aXRoXG4gKiAgIGB0ZXh0YCBmYWxsYmFjay5cbiAqIC0gKippZGVudGlmaWVyKiog4oCUIGJ1c2luZXNzIGlkZW50aWZpZXIgb24gdHJhbnNhY3Rpb25hbCAvIGZpbmFuY2lhbCAvXG4gKiAgIHNjaGVkdWxpbmcgcmVzb3VyY2VzIChDbGFpbS5pZGVudGlmaWVyLCBJbnZvaWNlLmlkZW50aWZpZXIsXG4gKiAgIEVuY291bnRlci5pZGVudGlmaWVyLCDigKYpLiBMYWJlbCBpcyBgaWRlbnRpZmllclswXS52YWx1ZWAuXG4gKlxuICogUmVzb3VyY2UgdHlwZXMgbm90IGluIHRoaXMgdGFibGUgZmFsbCB0aHJvdWdoIHRvIGA8bGFzdFVwZGF0ZWQ+IzxpZD5gIOKAlFxuICogaW50ZW50aW9uYWwgZm9yIGV2ZW50LWxvZyBhbmQgbWV0YWRhdGEgcmVzb3VyY2VzIChBdWRpdEV2ZW50LCBCdW5kbGUsXG4gKiBQcm92ZW5hbmNlLCBMaW5rYWdlLCBNZXNzYWdlSGVhZGVyLCBWZXJpZmljYXRpb25SZXN1bHQpIGFuZCBmb3IgdGhlXG4gKiBzdWJzdGFuY2UgLyBtZWRpY2luYWwtcHJvZHVjdCBkZXRhaWwgZmFtaWxpZXMgKFN1YnN0YW5jZU51Y2xlaWNBY2lkLFxuICogTWVkaWNpbmFsUHJvZHVjdEluZ3JlZGllbnQsIOKApikgdGhhdCBhcmUgbm90IGxpc3QtYnktbmFtZSByZXNvdXJjZXMuXG4gKlxuICogQHNlZSBvcGVuaGktcGxhbm5pbmcgRFItMDA0IOKAlCBGSElSIFN1bW1hcnktQXR0cmlidXRlIGFuZCBTb3J0LUtleSBQcm9qZWN0aW9uIFN0cmF0ZWd5XG4gKi9cblxuLyoqIFNvdXJjZSBvZiB0aGUgbmF0dXJhbCBsYWJlbCBmb3IgYSBsYWJlbGVkIHJlc291cmNlIHR5cGUuICovXG5leHBvcnQgdHlwZSBMYWJlbFNvdXJjZSA9XG4gIHwgeyBraW5kOiBcImh1bWFuTmFtZVwiOyBwYXRoOiBzdHJpbmcgfVxuICB8IHsga2luZDogXCJzdHJpbmdcIjsgcGF0aDogc3RyaW5nIH1cbiAgfCB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIjsgcGF0aDogc3RyaW5nIH1cbiAgfCB7IGtpbmQ6IFwiaWRlbnRpZmllclwiOyBwYXRoOiBzdHJpbmcgfTtcblxuLyoqIFJlc291cmNlIHR5cGVzIHdpdGggY3VyYXRlZCBuYXR1cmFsIGxhYmVscy4gKi9cbmV4cG9ydCBjb25zdCBMQUJFTF9QQVRIUzogUmVjb3JkPHN0cmluZywgTGFiZWxTb3VyY2U+ID0ge1xuICAvLyBIdW1hbk5hbWUgYXJyYXlzXG4gIFBhdGllbnQ6IHsga2luZDogXCJodW1hbk5hbWVcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgUGVyc29uOiB7IGtpbmQ6IFwiaHVtYW5OYW1lXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFByYWN0aXRpb25lcjogeyBraW5kOiBcImh1bWFuTmFtZVwiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBSZWxhdGVkUGVyc29uOiB7IGtpbmQ6IFwiaHVtYW5OYW1lXCIsIHBhdGg6IFwibmFtZVwiIH0sXG5cbiAgLy8gUGxhaW4gc3RyaW5nIGBuYW1lYCAoZGlyZWN0b3J5LXN0eWxlIHJlc291cmNlcylcbiAgQWNjb3VudDogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBDYXJlVGVhbTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBFbmRwb2ludDogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBHcm91cDogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBIZWFsdGhjYXJlU2VydmljZTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBJbnN1cmFuY2VQbGFuOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIExvY2F0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIE9yZ2FuaXphdGlvbjogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuXG4gIC8vIENvbnRyb2wtcGxhbmUgRkhJUiB0eXBlcyAoQURSLTIwMjYtMDMtMTMtMDEg4oCUIFRlbmFudC9Xb3Jrc3BhY2UgYXMgRkhJUiB0eXBlcylcbiAgVGVuYW50OiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFdvcmtzcGFjZTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuXG4gIC8vIGB0aXRsZWAta2V5ZWQgKHRpdGxlIGlzIHRoZSBvbmx5IG9yIHByaW1hcnkgaHVtYW4gbGFiZWwpXG4gIENhcmVQbGFuOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwidGl0bGVcIiB9LFxuICBDaGFyZ2VJdGVtRGVmaW5pdGlvbjogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcInRpdGxlXCIgfSxcbiAgQ29tcG9zaXRpb246IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJ0aXRsZVwiIH0sXG4gIENvbnRyYWN0OiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwidGl0bGVcIiB9LFxuICBMaXN0OiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwidGl0bGVcIiB9LFxuICBSZXNlYXJjaFN0dWR5OiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwidGl0bGVcIiB9LFxuXG4gIC8vIENvbmZvcm1hbmNlIHJlc291cmNlcyAoc3RyaW5nIGBuYW1lYCBpcyByZXF1aXJlZDsgYHRpdGxlYCBpcyBvcHRpb25hbClcbiAgQWN0aXZpdHlEZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIENhcGFiaWxpdHlTdGF0ZW1lbnQ6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgQ29kZVN5c3RlbTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBDb21wYXJ0bWVudERlZmluaXRpb246IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgQ29uY2VwdE1hcDogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBFZmZlY3RFdmlkZW5jZVN5bnRoZXNpczogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBFdmVudERlZmluaXRpb246IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgRXZpZGVuY2U6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgRXZpZGVuY2VWYXJpYWJsZTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBFeGFtcGxlU2NlbmFyaW86IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgR3JhcGhEZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIEltcGxlbWVudGF0aW9uR3VpZGU6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgTGlicmFyeTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBNZWFzdXJlOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIE1lc3NhZ2VEZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIE5hbWluZ1N5c3RlbTogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBPcGVyYXRpb25EZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFBsYW5EZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFF1ZXN0aW9ubmFpcmU6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgUmVzZWFyY2hEZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFJlc2VhcmNoRWxlbWVudERlZmluaXRpb246IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgUmlza0V2aWRlbmNlU3ludGhlc2lzOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFNlYXJjaFBhcmFtZXRlcjogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBTdHJ1Y3R1cmVEZWZpbml0aW9uOiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFN0cnVjdHVyZU1hcDogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBUZXJtaW5vbG9neUNhcGFiaWxpdGllczogeyBraW5kOiBcInN0cmluZ1wiLCBwYXRoOiBcIm5hbWVcIiB9LFxuICBUZXN0UmVwb3J0OiB7IGtpbmQ6IFwic3RyaW5nXCIsIHBhdGg6IFwibmFtZVwiIH0sXG4gIFRlc3RTY3JpcHQ6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcbiAgVmFsdWVTZXQ6IHsga2luZDogXCJzdHJpbmdcIiwgcGF0aDogXCJuYW1lXCIgfSxcblxuICAvLyBQcmltYXJ5IENvZGVhYmxlQ29uY2VwdCAoY29kZURpc3BsYXkgcmVhZHMgYGNvZGluZ1swXS5kaXNwbGF5YCB3aXRoIGB0ZXh0YCBmYWxsYmFjaylcbiAgQWR2ZXJzZUV2ZW50OiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJldmVudFwiIH0sXG4gIEFsbGVyZ3lJbnRvbGVyYW5jZTogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIEJhc2ljOiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJjb2RlXCIgfSxcbiAgQm9keVN0cnVjdHVyZTogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwibW9ycGhvbG9neVwiIH0sXG4gIENoYXJnZUl0ZW06IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcImNvZGVcIiB9LFxuICBDb21tdW5pY2F0aW9uOiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJ0b3BpY1wiIH0sXG4gIENvbmRpdGlvbjogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIERldGVjdGVkSXNzdWU6IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcImNvZGVcIiB9LFxuICBEZXZpY2VNZXRyaWM6IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcInR5cGVcIiB9LFxuICBEaWFnbm9zdGljUmVwb3J0OiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJjb2RlXCIgfSxcbiAgRG9jdW1lbnRNYW5pZmVzdDogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwidHlwZVwiIH0sXG4gIERvY3VtZW50UmVmZXJlbmNlOiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJ0eXBlXCIgfSxcbiAgRmFtaWx5TWVtYmVySGlzdG9yeTogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwicmVsYXRpb25zaGlwXCIgfSxcbiAgRmxhZzogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIEdvYWw6IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcImRlc2NyaXB0aW9uXCIgfSxcbiAgSW1tdW5pemF0aW9uOiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJ2YWNjaW5lQ29kZVwiIH0sXG4gIEltbXVuaXphdGlvbkV2YWx1YXRpb246IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcInZhY2NpbmVDb2RlXCIgfSxcbiAgTWVkaWNhdGlvbjogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIE1lZGljYXRpb25Lbm93bGVkZ2U6IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcImNvZGVcIiB9LFxuICBPYnNlcnZhdGlvbjogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIE9ic2VydmF0aW9uRGVmaW5pdGlvbjogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIFByb2NlZHVyZTogeyBraW5kOiBcImNvZGVEaXNwbGF5XCIsIHBhdGg6IFwiY29kZVwiIH0sXG4gIFNlcnZpY2VSZXF1ZXN0OiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJjb2RlXCIgfSxcbiAgU3BlY2ltZW46IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcInR5cGVcIiB9LFxuICBTcGVjaW1lbkRlZmluaXRpb246IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcInR5cGVDb2xsZWN0ZWRcIiB9LFxuICBTdWJzdGFuY2U6IHsga2luZDogXCJjb2RlRGlzcGxheVwiLCBwYXRoOiBcImNvZGVcIiB9LFxuICBUYXNrOiB7IGtpbmQ6IFwiY29kZURpc3BsYXlcIiwgcGF0aDogXCJjb2RlXCIgfSxcblxuICAvLyBCdXNpbmVzcyBpZGVudGlmaWVyIOKAlCBgaWRlbnRpZmllclswXS52YWx1ZWAgKHNpbmd1bGFyIGBJZGVudGlmaWVyYCBhbHNvIHN1cHBvcnRlZClcbiAgQXBwb2ludG1lbnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEFwcG9pbnRtZW50UmVzcG9uc2U6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIENhdGFsb2dFbnRyeTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgQ2xhaW06IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIENsYWltUmVzcG9uc2U6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIENsaW5pY2FsSW1wcmVzc2lvbjogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgQ29tbXVuaWNhdGlvblJlcXVlc3Q6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIENvbnNlbnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIENvdmVyYWdlOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBDb3ZlcmFnZUVsaWdpYmlsaXR5UmVxdWVzdDogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgQ292ZXJhZ2VFbGlnaWJpbGl0eVJlc3BvbnNlOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBEZXZpY2VSZXF1ZXN0OiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBEZXZpY2VVc2VTdGF0ZW1lbnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEVuY291bnRlcjogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgRW5yb2xsbWVudFJlcXVlc3Q6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEVucm9sbG1lbnRSZXNwb25zZTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgRXBpc29kZU9mQ2FyZTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgRXhwbGFuYXRpb25PZkJlbmVmaXQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEd1aWRhbmNlUmVzcG9uc2U6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEltYWdpbmdTdHVkeTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb246IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIEludm9pY2U6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIE1lYXN1cmVSZXBvcnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIE1lZGlhOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb246IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIE1lZGljYXRpb25EaXNwZW5zZTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgTWVkaWNhdGlvblJlcXVlc3Q6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIE1lZGljYXRpb25TdGF0ZW1lbnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIE1vbGVjdWxhclNlcXVlbmNlOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBOdXRyaXRpb25PcmRlcjogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgT3JnYW5pemF0aW9uQWZmaWxpYXRpb246IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIFBheW1lbnROb3RpY2U6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIFBheW1lbnRSZWNvbmNpbGlhdGlvbjogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgUHJhY3RpdGlvbmVyUm9sZTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgUXVlc3Rpb25uYWlyZVJlc3BvbnNlOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBSZXF1ZXN0R3JvdXA6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIFJlc2VhcmNoU3ViamVjdDogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgUmlza0Fzc2Vzc21lbnQ6IHsga2luZDogXCJpZGVudGlmaWVyXCIsIHBhdGg6IFwiaWRlbnRpZmllclwiIH0sXG4gIFNjaGVkdWxlOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBTbG90OiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxuICBTdXBwbHlEZWxpdmVyeTogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgU3VwcGx5UmVxdWVzdDogeyBraW5kOiBcImlkZW50aWZpZXJcIiwgcGF0aDogXCJpZGVudGlmaWVyXCIgfSxcbiAgVmlzaW9uUHJlc2NyaXB0aW9uOiB7IGtpbmQ6IFwiaWRlbnRpZmllclwiLCBwYXRoOiBcImlkZW50aWZpZXJcIiB9LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ergonomic display-label accessors on top of the HL7-published
|
|
3
|
+
* `resource-instance-name` extension
|
|
4
|
+
* (`http://hl7.org/fhir/StructureDefinition/resource-instance-name`).
|
|
5
|
+
*
|
|
6
|
+
* The underlying extension — authored by HL7 and vendored under
|
|
7
|
+
* `sds/hl7-extensions/` — pins a single `valueString` that is "a natural
|
|
8
|
+
* language name for non-conformance and non-terminology resource
|
|
9
|
+
* instances". We expose that as `displayLabel` across the OpenHI surface
|
|
10
|
+
* (summary types, extractSummary output, consumer APIs) because
|
|
11
|
+
* "display label" reads better than "resource instance name" in UI and
|
|
12
|
+
* API code. The wire representation is unchanged: the extension URL on
|
|
13
|
+
* stored FHIR resources is always the HL7 canonical URL, so external
|
|
14
|
+
* FHIR consumers see the spec extension.
|
|
15
|
+
*
|
|
16
|
+
* Prefer these aliases for readability. The underlying
|
|
17
|
+
* `getResourceInstanceName` / `setResourceInstanceName` functions remain
|
|
18
|
+
* exported from `data/extensions/openhi/resource-instance-name` for
|
|
19
|
+
* anyone who wants FHIR-faithful naming.
|
|
20
|
+
*/
|
|
21
|
+
export { getResourceInstanceName as getDisplayLabel, setResourceInstanceName as setDisplayLabel, RESOURCE_INSTANCE_NAME_URL as DISPLAY_LABEL_EXTENSION_URL, } from "../data/extensions/openhi/resource-instance-name";
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdW1tYXJ5L2Rpc3BsYXktbGFiZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxPQUFPLEVBQ0wsdUJBQXVCLElBQUksZUFBZSxFQUMxQyx1QkFBdUIsSUFBSSxlQUFlLEVBQzFDLDBCQUEwQixJQUFJLDJCQUEyQixHQUMxRCxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFcmdvbm9taWMgZGlzcGxheS1sYWJlbCBhY2Nlc3NvcnMgb24gdG9wIG9mIHRoZSBITDctcHVibGlzaGVkXG4gKiBgcmVzb3VyY2UtaW5zdGFuY2UtbmFtZWAgZXh0ZW5zaW9uXG4gKiAoYGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9yZXNvdXJjZS1pbnN0YW5jZS1uYW1lYCkuXG4gKlxuICogVGhlIHVuZGVybHlpbmcgZXh0ZW5zaW9uIOKAlCBhdXRob3JlZCBieSBITDcgYW5kIHZlbmRvcmVkIHVuZGVyXG4gKiBgc2RzL2hsNy1leHRlbnNpb25zL2Ag4oCUIHBpbnMgYSBzaW5nbGUgYHZhbHVlU3RyaW5nYCB0aGF0IGlzIFwiYSBuYXR1cmFsXG4gKiBsYW5ndWFnZSBuYW1lIGZvciBub24tY29uZm9ybWFuY2UgYW5kIG5vbi10ZXJtaW5vbG9neSByZXNvdXJjZVxuICogaW5zdGFuY2VzXCIuIFdlIGV4cG9zZSB0aGF0IGFzIGBkaXNwbGF5TGFiZWxgIGFjcm9zcyB0aGUgT3BlbkhJIHN1cmZhY2VcbiAqIChzdW1tYXJ5IHR5cGVzLCBleHRyYWN0U3VtbWFyeSBvdXRwdXQsIGNvbnN1bWVyIEFQSXMpIGJlY2F1c2VcbiAqIFwiZGlzcGxheSBsYWJlbFwiIHJlYWRzIGJldHRlciB0aGFuIFwicmVzb3VyY2UgaW5zdGFuY2UgbmFtZVwiIGluIFVJIGFuZFxuICogQVBJIGNvZGUuIFRoZSB3aXJlIHJlcHJlc2VudGF0aW9uIGlzIHVuY2hhbmdlZDogdGhlIGV4dGVuc2lvbiBVUkwgb25cbiAqIHN0b3JlZCBGSElSIHJlc291cmNlcyBpcyBhbHdheXMgdGhlIEhMNyBjYW5vbmljYWwgVVJMLCBzbyBleHRlcm5hbFxuICogRkhJUiBjb25zdW1lcnMgc2VlIHRoZSBzcGVjIGV4dGVuc2lvbi5cbiAqXG4gKiBQcmVmZXIgdGhlc2UgYWxpYXNlcyBmb3IgcmVhZGFiaWxpdHkuIFRoZSB1bmRlcmx5aW5nXG4gKiBgZ2V0UmVzb3VyY2VJbnN0YW5jZU5hbWVgIC8gYHNldFJlc291cmNlSW5zdGFuY2VOYW1lYCBmdW5jdGlvbnMgcmVtYWluXG4gKiBleHBvcnRlZCBmcm9tIGBkYXRhL2V4dGVuc2lvbnMvb3BlbmhpL3Jlc291cmNlLWluc3RhbmNlLW5hbWVgIGZvclxuICogYW55b25lIHdobyB3YW50cyBGSElSLWZhaXRoZnVsIG5hbWluZy5cbiAqL1xuZXhwb3J0IHtcbiAgZ2V0UmVzb3VyY2VJbnN0YW5jZU5hbWUgYXMgZ2V0RGlzcGxheUxhYmVsLFxuICBzZXRSZXNvdXJjZUluc3RhbmNlTmFtZSBhcyBzZXREaXNwbGF5TGFiZWwsXG4gIFJFU09VUkNFX0lOU1RBTkNFX05BTUVfVVJMIGFzIERJU1BMQVlfTEFCRUxfRVhURU5TSU9OX1VSTCxcbn0gZnJvbSBcIi4uL2RhdGEvZXh0ZW5zaW9ucy9vcGVuaGkvcmVzb3VyY2UtaW5zdGFuY2UtbmFtZVwiO1xuIl19
|