gdc-common-utils-ts 1.14.9 → 1.14.13
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/README.md +55 -2
- package/dist/claims/claim-list-helpers.d.ts +21 -0
- package/dist/claims/claim-list-helpers.js +50 -0
- package/dist/claims/claims-helpers-allergy-intolerance.d.ts +10 -0
- package/dist/claims/claims-helpers-allergy-intolerance.js +47 -0
- package/dist/claims/claims-helpers-appointment-response.d.ts +8 -0
- package/dist/claims/claims-helpers-appointment-response.js +20 -0
- package/dist/claims/claims-helpers-appointment.d.ts +10 -0
- package/dist/claims/claims-helpers-appointment.js +26 -0
- package/dist/claims/claims-helpers-care-plan.d.ts +8 -0
- package/dist/claims/claims-helpers-care-plan.js +20 -0
- package/dist/claims/claims-helpers-clinical-impression.d.ts +10 -0
- package/dist/claims/claims-helpers-clinical-impression.js +26 -0
- package/dist/claims/claims-helpers-communication.d.ts +17 -0
- package/dist/claims/claims-helpers-communication.js +57 -0
- package/dist/claims/claims-helpers-composition.d.ts +12 -0
- package/dist/claims/claims-helpers-composition.js +32 -0
- package/dist/claims/claims-helpers-condition.d.ts +10 -0
- package/dist/claims/claims-helpers-condition.js +47 -0
- package/dist/claims/claims-helpers-consent.d.ts +112 -0
- package/dist/claims/claims-helpers-consent.js +271 -0
- package/dist/claims/claims-helpers-coverage.d.ts +10 -0
- package/dist/claims/claims-helpers-coverage.js +26 -0
- package/dist/claims/claims-helpers-device-use-statement.d.ts +8 -0
- package/dist/claims/claims-helpers-device-use-statement.js +20 -0
- package/dist/claims/claims-helpers-device.d.ts +8 -0
- package/dist/claims/claims-helpers-device.js +20 -0
- package/dist/claims/claims-helpers-diagnostic-report.d.ts +12 -0
- package/dist/claims/claims-helpers-diagnostic-report.js +32 -0
- package/dist/claims/claims-helpers-document-reference.d.ts +8 -0
- package/dist/claims/claims-helpers-document-reference.js +20 -0
- package/dist/claims/claims-helpers-encounter.d.ts +10 -0
- package/dist/claims/claims-helpers-encounter.js +26 -0
- package/dist/claims/claims-helpers-flag.d.ts +8 -0
- package/dist/claims/claims-helpers-flag.js +20 -0
- package/dist/claims/claims-helpers-immunization.d.ts +8 -0
- package/dist/claims/claims-helpers-immunization.js +20 -0
- package/dist/claims/claims-helpers-location.d.ts +10 -0
- package/dist/claims/claims-helpers-location.js +26 -0
- package/dist/claims/claims-helpers-medication-statement.d.ts +88 -0
- package/dist/claims/claims-helpers-medication-statement.js +259 -0
- package/dist/claims/claims-helpers-observation.d.ts +8 -0
- package/dist/claims/claims-helpers-observation.js +20 -0
- package/dist/claims/claims-helpers-organization.d.ts +12 -0
- package/dist/claims/claims-helpers-organization.js +32 -0
- package/dist/claims/claims-helpers-procedure.d.ts +8 -0
- package/dist/claims/claims-helpers-procedure.js +20 -0
- package/dist/claims/claims-helpers-related-person.d.ts +8 -0
- package/dist/claims/claims-helpers-related-person.js +20 -0
- package/dist/claims/index.d.ts +24 -0
- package/dist/claims/index.js +24 -0
- package/dist/constants/fhir-resource-types.d.ts +16 -0
- package/dist/constants/fhir-resource-types.js +8 -0
- package/dist/convert/convert-allergy-intolerance.d.ts +3 -0
- package/dist/convert/convert-allergy-intolerance.js +34 -0
- package/dist/convert/convert-appointment-response.d.ts +3 -0
- package/dist/convert/convert-appointment-response.js +32 -0
- package/dist/convert/convert-appointment.d.ts +3 -0
- package/dist/convert/convert-appointment.js +61 -0
- package/dist/convert/convert-care-plan.d.ts +3 -0
- package/dist/convert/convert-care-plan.js +58 -0
- package/dist/convert/convert-clinical-impression.d.ts +3 -0
- package/dist/convert/convert-clinical-impression.js +42 -0
- package/dist/convert/convert-composition.d.ts +3 -0
- package/dist/convert/convert-composition.js +35 -0
- package/dist/convert/convert-condition.d.ts +3 -0
- package/dist/convert/convert-condition.js +24 -0
- package/dist/convert/convert-coverage.d.ts +3 -0
- package/dist/convert/convert-coverage.js +51 -0
- package/dist/convert/convert-device-use-statement.d.ts +3 -0
- package/dist/convert/convert-device-use-statement.js +28 -0
- package/dist/convert/convert-device.d.ts +3 -0
- package/dist/convert/convert-device.js +37 -0
- package/dist/convert/convert-diagnostic-report.d.ts +3 -0
- package/dist/convert/convert-diagnostic-report.js +55 -0
- package/dist/convert/convert-document-reference.d.ts +3 -0
- package/dist/convert/convert-document-reference.js +35 -0
- package/dist/convert/convert-encounter.d.ts +3 -0
- package/dist/convert/convert-encounter.js +68 -0
- package/dist/convert/convert-flag.d.ts +3 -0
- package/dist/convert/convert-flag.js +34 -0
- package/dist/convert/convert-immunization.d.ts +3 -0
- package/dist/convert/convert-immunization.js +56 -0
- package/dist/convert/convert-location.d.ts +3 -0
- package/dist/convert/convert-location.js +44 -0
- package/dist/convert/convert-medication-statement.d.ts +3 -0
- package/dist/convert/convert-medication-statement.js +64 -0
- package/dist/convert/convert-observation.d.ts +3 -0
- package/dist/convert/convert-observation.js +57 -0
- package/dist/convert/convert-organization.d.ts +3 -0
- package/dist/convert/convert-organization.js +39 -0
- package/dist/convert/convert-procedure.d.ts +3 -0
- package/dist/convert/convert-procedure.js +50 -0
- package/dist/convert/convert-related-person.d.ts +3 -0
- package/dist/convert/convert-related-person.js +31 -0
- package/dist/convert/convert-shared.d.ts +34 -0
- package/dist/convert/convert-shared.js +179 -0
- package/dist/convert/index.d.ts +22 -0
- package/dist/convert/index.js +22 -0
- package/dist/examples/communication-bundle-document-request.js +2 -2
- package/dist/examples/communication-bundle-session.js +2 -2
- package/dist/examples/shared.d.ts +21 -2
- package/dist/examples/shared.js +74 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/models/bundle.d.ts +13 -1
- package/dist/models/interoperable-claims/appointment-claims.d.ts +23 -1
- package/dist/models/interoperable-claims/appointment-claims.js +22 -1
- package/dist/models/interoperable-claims/appointment-response-claims.d.ts +14 -0
- package/dist/models/interoperable-claims/appointment-response-claims.js +13 -0
- package/dist/models/interoperable-claims/care-plan-claims.d.ts +24 -0
- package/dist/models/interoperable-claims/care-plan-claims.js +44 -0
- package/dist/models/interoperable-claims/clinical-impression-claims.d.ts +17 -0
- package/dist/models/interoperable-claims/clinical-impression-claims.js +30 -0
- package/dist/models/interoperable-claims/coverage-claims.d.ts +16 -0
- package/dist/models/interoperable-claims/coverage-claims.js +28 -0
- package/dist/models/interoperable-claims/device-claims.d.ts +18 -0
- package/dist/models/interoperable-claims/device-claims.js +32 -0
- package/dist/models/interoperable-claims/diagnostic-report-claims.d.ts +2 -2
- package/dist/models/interoperable-claims/diagnostic-report-claims.js +1 -1
- package/dist/models/interoperable-claims/encounter-claims.d.ts +18 -0
- package/dist/models/interoperable-claims/encounter-claims.js +32 -0
- package/dist/models/interoperable-claims/flag-claims.d.ts +16 -0
- package/dist/models/interoperable-claims/flag-claims.js +28 -0
- package/dist/models/interoperable-claims/immunization-claims.d.ts +23 -0
- package/dist/models/interoperable-claims/immunization-claims.js +42 -0
- package/dist/models/interoperable-claims/index.d.ts +12 -0
- package/dist/models/interoperable-claims/index.js +12 -0
- package/dist/models/interoperable-claims/location-claims.d.ts +22 -0
- package/dist/models/interoperable-claims/location-claims.js +34 -0
- package/dist/models/interoperable-claims/observation-claims.d.ts +26 -0
- package/dist/models/interoperable-claims/observation-claims.js +48 -0
- package/dist/models/interoperable-claims/organization-claims.d.ts +18 -0
- package/dist/models/interoperable-claims/organization-claims.js +27 -0
- package/dist/models/interoperable-claims/procedure-claims.d.ts +22 -0
- package/dist/models/interoperable-claims/procedure-claims.js +40 -0
- package/dist/models/interoperable-claims/related-person-claims.d.ts +14 -0
- package/dist/models/interoperable-claims/related-person-claims.js +24 -0
- package/dist/utils/appointment-claim-helpers.d.ts +10 -0
- package/dist/utils/appointment-claim-helpers.js +26 -0
- package/dist/utils/appointment-response-claim-helpers.d.ts +8 -0
- package/dist/utils/appointment-response-claim-helpers.js +20 -0
- package/dist/utils/bundle-document-builder.d.ts +36 -0
- package/dist/utils/bundle-document-builder.js +311 -0
- package/dist/utils/claims-helpers-allergy-intolerance.d.ts +1 -0
- package/dist/utils/claims-helpers-allergy-intolerance.js +1 -0
- package/dist/utils/claims-helpers-appointment-response.d.ts +1 -0
- package/dist/utils/claims-helpers-appointment-response.js +1 -0
- package/dist/utils/claims-helpers-appointment.d.ts +1 -0
- package/dist/utils/claims-helpers-appointment.js +1 -0
- package/dist/utils/claims-helpers-care-plan.d.ts +1 -0
- package/dist/utils/claims-helpers-care-plan.js +1 -0
- package/dist/utils/claims-helpers-clinical-impression.d.ts +1 -0
- package/dist/utils/claims-helpers-clinical-impression.js +1 -0
- package/dist/utils/claims-helpers-communication.d.ts +1 -0
- package/dist/utils/claims-helpers-communication.js +1 -0
- package/dist/utils/claims-helpers-composition.d.ts +1 -0
- package/dist/utils/claims-helpers-composition.js +1 -0
- package/dist/utils/claims-helpers-condition.d.ts +1 -0
- package/dist/utils/claims-helpers-condition.js +1 -0
- package/dist/utils/claims-helpers-consent.d.ts +1 -0
- package/dist/utils/claims-helpers-consent.js +1 -0
- package/dist/utils/claims-helpers-coverage.d.ts +1 -0
- package/dist/utils/claims-helpers-coverage.js +1 -0
- package/dist/utils/claims-helpers-device-use-statement.d.ts +1 -0
- package/dist/utils/claims-helpers-device-use-statement.js +1 -0
- package/dist/utils/claims-helpers-device.d.ts +1 -0
- package/dist/utils/claims-helpers-device.js +1 -0
- package/dist/utils/claims-helpers-diagnostic-report.d.ts +1 -0
- package/dist/utils/claims-helpers-diagnostic-report.js +1 -0
- package/dist/utils/claims-helpers-document-reference.d.ts +1 -0
- package/dist/utils/claims-helpers-document-reference.js +1 -0
- package/dist/utils/claims-helpers-encounter.d.ts +1 -0
- package/dist/utils/claims-helpers-encounter.js +1 -0
- package/dist/utils/claims-helpers-flag.d.ts +1 -0
- package/dist/utils/claims-helpers-flag.js +1 -0
- package/dist/utils/claims-helpers-immunization.d.ts +1 -0
- package/dist/utils/claims-helpers-immunization.js +1 -0
- package/dist/utils/claims-helpers-location.d.ts +1 -0
- package/dist/utils/claims-helpers-location.js +1 -0
- package/dist/utils/claims-helpers-medication-statement.d.ts +1 -0
- package/dist/utils/claims-helpers-medication-statement.js +1 -0
- package/dist/utils/claims-helpers-observation.d.ts +1 -0
- package/dist/utils/claims-helpers-observation.js +1 -0
- package/dist/utils/claims-helpers-organization.d.ts +1 -0
- package/dist/utils/claims-helpers-organization.js +1 -0
- package/dist/utils/claims-helpers-procedure.d.ts +1 -0
- package/dist/utils/claims-helpers-procedure.js +1 -0
- package/dist/utils/claims-helpers-related-person.d.ts +1 -0
- package/dist/utils/claims-helpers-related-person.js +1 -0
- package/dist/utils/clinical-impression-claim-helpers.d.ts +10 -0
- package/dist/utils/clinical-impression-claim-helpers.js +26 -0
- package/dist/utils/clinical-resource-converters.d.ts +91 -62
- package/dist/utils/clinical-resource-converters.js +135 -273
- package/dist/utils/communication-bundle-document-request.d.ts +6 -4
- package/dist/utils/communication-bundle-document-request.js +7 -5
- package/dist/utils/communication-bundle-session.js +1 -1
- package/dist/utils/composition-claim-helpers.d.ts +12 -0
- package/dist/utils/composition-claim-helpers.js +32 -0
- package/dist/utils/consent-claim-helpers.d.ts +2 -2
- package/dist/utils/consent-claim-helpers.js +2 -2
- package/dist/utils/convert-allergy-intolerance.d.ts +3 -0
- package/dist/utils/convert-allergy-intolerance.js +34 -0
- package/dist/utils/convert-appointment-response.d.ts +3 -0
- package/dist/utils/convert-appointment-response.js +32 -0
- package/dist/utils/convert-appointment.d.ts +3 -0
- package/dist/utils/convert-appointment.js +61 -0
- package/dist/utils/convert-care-plan.d.ts +3 -0
- package/dist/utils/convert-care-plan.js +58 -0
- package/dist/utils/convert-clinical-impression.d.ts +3 -0
- package/dist/utils/convert-clinical-impression.js +42 -0
- package/dist/utils/convert-composition.d.ts +3 -0
- package/dist/utils/convert-composition.js +35 -0
- package/dist/utils/convert-condition.d.ts +3 -0
- package/dist/utils/convert-condition.js +24 -0
- package/dist/utils/convert-coverage.d.ts +3 -0
- package/dist/utils/convert-coverage.js +51 -0
- package/dist/utils/convert-device-use-statement.d.ts +3 -0
- package/dist/utils/convert-device-use-statement.js +28 -0
- package/dist/utils/convert-device.d.ts +3 -0
- package/dist/utils/convert-device.js +37 -0
- package/dist/utils/convert-diagnostic-report.d.ts +3 -0
- package/dist/utils/convert-diagnostic-report.js +55 -0
- package/dist/utils/convert-document-reference.d.ts +3 -0
- package/dist/utils/convert-document-reference.js +35 -0
- package/dist/utils/convert-encounter.d.ts +3 -0
- package/dist/utils/convert-encounter.js +68 -0
- package/dist/utils/convert-flag.d.ts +3 -0
- package/dist/utils/convert-flag.js +34 -0
- package/dist/utils/convert-immunization.d.ts +3 -0
- package/dist/utils/convert-immunization.js +56 -0
- package/dist/utils/convert-medication-statement.d.ts +3 -0
- package/dist/utils/convert-medication-statement.js +64 -0
- package/dist/utils/convert-observation.d.ts +3 -0
- package/dist/utils/convert-observation.js +57 -0
- package/dist/utils/convert-procedure.d.ts +3 -0
- package/dist/utils/convert-procedure.js +50 -0
- package/dist/utils/convert-related-person.d.ts +3 -0
- package/dist/utils/convert-related-person.js +31 -0
- package/dist/utils/convert-shared.d.ts +34 -0
- package/dist/utils/convert-shared.js +179 -0
- package/dist/utils/coverage-claim-helpers.d.ts +10 -0
- package/dist/utils/coverage-claim-helpers.js +26 -0
- package/dist/utils/diagnostic-report-claim-helpers.d.ts +12 -0
- package/dist/utils/diagnostic-report-claim-helpers.js +32 -0
- package/dist/utils/encounter-claim-helpers.d.ts +10 -0
- package/dist/utils/encounter-claim-helpers.js +26 -0
- package/dist/utils/fhir-cid.d.ts +49 -0
- package/dist/utils/fhir-cid.js +75 -0
- package/dist/utils/index.d.ts +4 -6
- package/dist/utils/index.js +4 -6
- package/dist/utils/ips-bundle-claims.d.ts +52 -0
- package/dist/utils/ips-bundle-claims.js +104 -0
- package/dist/utils/jwt.d.ts +16 -0
- package/dist/utils/jwt.js +21 -0
- package/dist/utils/related-person-claim-helpers.d.ts +8 -0
- package/dist/utils/related-person-claim-helpers.js +20 -0
- package/package.json +17 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ClinicalImpressionClaim } from '../models/interoperable-claims/clinical-impression-claims.js';
|
|
2
|
+
import { addClaimValues, getClaimValues, normalizeClaimScalar, removeClaimValues, setClaimValues, } from './claim-list-helpers.js';
|
|
3
|
+
export function getClinicalImpressionClaimList(claims, claimKey) {
|
|
4
|
+
return getClaimValues(claims, claimKey);
|
|
5
|
+
}
|
|
6
|
+
export function setClinicalImpressionClaimList(claims, claimKey, values) {
|
|
7
|
+
return setClaimValues(claims, claimKey, values);
|
|
8
|
+
}
|
|
9
|
+
export function addClinicalImpressionClaimList(claims, claimKey, values) {
|
|
10
|
+
return addClaimValues(claims, claimKey, values);
|
|
11
|
+
}
|
|
12
|
+
export function removeClinicalImpressionClaimList(claims, claimKey, values) {
|
|
13
|
+
return removeClaimValues(claims, claimKey, values);
|
|
14
|
+
}
|
|
15
|
+
export function getClinicalImpressionIdentifier(claims) {
|
|
16
|
+
return normalizeClaimScalar(claims[ClinicalImpressionClaim.Identifier]);
|
|
17
|
+
}
|
|
18
|
+
export function setClinicalImpressionIdentifier(claims, value) {
|
|
19
|
+
return { ...claims, [ClinicalImpressionClaim.Identifier]: normalizeClaimScalar(value) };
|
|
20
|
+
}
|
|
21
|
+
export function getClinicalImpressionProblemList(claims) {
|
|
22
|
+
return getClinicalImpressionClaimList(claims, ClinicalImpressionClaim.Problem);
|
|
23
|
+
}
|
|
24
|
+
export function setClinicalImpressionProblemList(claims, values) {
|
|
25
|
+
return setClinicalImpressionClaimList(claims, ClinicalImpressionClaim.Problem, values);
|
|
26
|
+
}
|
|
@@ -1,64 +1,93 @@
|
|
|
1
|
-
export type FlatClaims
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
};
|
|
1
|
+
export type { FlatClaims, FhirResource } from '../convert/convert-shared';
|
|
2
|
+
export { flatClaimsToFhirResource, fhirResourceToFlatClaims, } from '../convert/convert-shared';
|
|
3
|
+
export { medicationStatementFlatToFhirR4, medicationStatementFhirR4ToFlat, } from '../convert/convert-medication-statement';
|
|
4
|
+
export { allergyIntoleranceFlatToFhirR4, allergyIntoleranceFhirR4ToFlat, } from '../convert/convert-allergy-intolerance';
|
|
5
|
+
export { conditionFlatToFhirR4, conditionFhirR4ToFlat, } from '../convert/convert-condition';
|
|
6
|
+
export { deviceUseStatementFlatToFhirR4, deviceUseStatementFhirR4ToFlat, } from '../convert/convert-device-use-statement';
|
|
7
|
+
export { documentReferenceFlatToFhirR4, documentReferenceFhirR4ToFlat, } from '../convert/convert-document-reference';
|
|
8
|
+
export { immunizationFlatToFhirR4, immunizationFhirR4ToFlat, } from '../convert/convert-immunization';
|
|
9
|
+
export { locationFlatToFhirR4, locationFhirR4ToFlat, } from '../convert/convert-location';
|
|
10
|
+
export { observationFlatToFhirR4, observationFhirR4ToFlat, } from '../convert/convert-observation';
|
|
11
|
+
export { organizationFlatToFhirR4, organizationFhirR4ToFlat, } from '../convert/convert-organization';
|
|
12
|
+
export { procedureFlatToFhirR4, procedureFhirR4ToFlat, } from '../convert/convert-procedure';
|
|
13
|
+
export { deviceFlatToFhirR4, deviceFhirR4ToFlat, } from '../convert/convert-device';
|
|
14
|
+
export { flagFlatToFhirR4, flagFhirR4ToFlat, } from '../convert/convert-flag';
|
|
15
|
+
export { carePlanFlatToFhirR4, carePlanFhirR4ToFlat, } from '../convert/convert-care-plan';
|
|
16
|
+
export { diagnosticReportFlatToFhirR4, diagnosticReportFhirR4ToFlat, } from '../convert/convert-diagnostic-report';
|
|
17
|
+
export { compositionFlatToFhirR4, compositionFhirR4ToFlat, } from '../convert/convert-composition';
|
|
18
|
+
export { appointmentFlatToFhirR4, appointmentFhirR4ToFlat, } from '../convert/convert-appointment';
|
|
19
|
+
export { appointmentResponseFlatToFhirR4, appointmentResponseFhirR4ToFlat, } from '../convert/convert-appointment-response';
|
|
20
|
+
export { encounterFlatToFhirR4, encounterFhirR4ToFlat, } from '../convert/convert-encounter';
|
|
21
|
+
export { relatedPersonFlatToFhirR4, relatedPersonFhirR4ToFlat, } from '../convert/convert-related-person';
|
|
22
|
+
export { coverageFlatToFhirR4, coverageFhirR4ToFlat, } from '../convert/convert-coverage';
|
|
23
|
+
export { clinicalImpressionFlatToFhirR4, clinicalImpressionFhirR4ToFlat, } from '../convert/convert-clinical-impression';
|
|
24
|
+
import type { FhirResource, FlatClaims } from '../convert/convert-shared';
|
|
25
|
+
import { medicationStatementFhirR4ToFlat, medicationStatementFlatToFhirR4 } from '../convert/convert-medication-statement';
|
|
26
|
+
import { allergyIntoleranceFhirR4ToFlat, allergyIntoleranceFlatToFhirR4 } from '../convert/convert-allergy-intolerance';
|
|
27
|
+
import { conditionFhirR4ToFlat, conditionFlatToFhirR4 } from '../convert/convert-condition';
|
|
28
|
+
import { deviceUseStatementFhirR4ToFlat, deviceUseStatementFlatToFhirR4 } from '../convert/convert-device-use-statement';
|
|
29
|
+
import { documentReferenceFhirR4ToFlat, documentReferenceFlatToFhirR4 } from '../convert/convert-document-reference';
|
|
30
|
+
import { immunizationFhirR4ToFlat, immunizationFlatToFhirR4 } from '../convert/convert-immunization';
|
|
31
|
+
import { locationFhirR4ToFlat, locationFlatToFhirR4 } from '../convert/convert-location';
|
|
32
|
+
import { observationFhirR4ToFlat, observationFlatToFhirR4 } from '../convert/convert-observation';
|
|
33
|
+
import { organizationFhirR4ToFlat, organizationFlatToFhirR4 } from '../convert/convert-organization';
|
|
34
|
+
import { procedureFhirR4ToFlat, procedureFlatToFhirR4 } from '../convert/convert-procedure';
|
|
35
|
+
import { deviceFhirR4ToFlat, deviceFlatToFhirR4 } from '../convert/convert-device';
|
|
36
|
+
import { flagFhirR4ToFlat, flagFlatToFhirR4 } from '../convert/convert-flag';
|
|
37
|
+
import { carePlanFhirR4ToFlat, carePlanFlatToFhirR4 } from '../convert/convert-care-plan';
|
|
38
|
+
import { diagnosticReportFhirR4ToFlat, diagnosticReportFlatToFhirR4 } from '../convert/convert-diagnostic-report';
|
|
39
|
+
import { compositionFhirR4ToFlat, compositionFlatToFhirR4 } from '../convert/convert-composition';
|
|
40
|
+
import { appointmentFhirR4ToFlat, appointmentFlatToFhirR4 } from '../convert/convert-appointment';
|
|
41
|
+
import { appointmentResponseFhirR4ToFlat, appointmentResponseFlatToFhirR4 } from '../convert/convert-appointment-response';
|
|
42
|
+
import { encounterFhirR4ToFlat, encounterFlatToFhirR4 } from '../convert/convert-encounter';
|
|
43
|
+
import { relatedPersonFhirR4ToFlat, relatedPersonFlatToFhirR4 } from '../convert/convert-related-person';
|
|
44
|
+
import { coverageFhirR4ToFlat, coverageFlatToFhirR4 } from '../convert/convert-coverage';
|
|
45
|
+
import { clinicalImpressionFhirR4ToFlat, clinicalImpressionFlatToFhirR4 } from '../convert/convert-clinical-impression';
|
|
46
|
+
export declare const medicationStatementFlatToFhir: typeof medicationStatementFlatToFhirR4;
|
|
47
|
+
export declare const medicationStatementFhirToFlat: typeof medicationStatementFhirR4ToFlat;
|
|
48
|
+
export declare const allergyIntoleranceFlatToFhir: typeof allergyIntoleranceFlatToFhirR4;
|
|
49
|
+
export declare const allergyIntoleranceFhirToFlat: typeof allergyIntoleranceFhirR4ToFlat;
|
|
50
|
+
export declare const conditionFlatToFhir: typeof conditionFlatToFhirR4;
|
|
51
|
+
export declare const conditionFhirToFlat: typeof conditionFhirR4ToFlat;
|
|
52
|
+
export declare const deviceUseStatementFlatToFhir: typeof deviceUseStatementFlatToFhirR4;
|
|
53
|
+
export declare const deviceUseStatementFhirToFlat: typeof deviceUseStatementFhirR4ToFlat;
|
|
54
|
+
export declare const documentReferenceFlatToFhir: typeof documentReferenceFlatToFhirR4;
|
|
55
|
+
export declare const documentReferenceFhirToFlat: typeof documentReferenceFhirR4ToFlat;
|
|
56
|
+
export declare const immunizationFlatToFhir: typeof immunizationFlatToFhirR4;
|
|
57
|
+
export declare const immunizationFhirToFlat: typeof immunizationFhirR4ToFlat;
|
|
58
|
+
export declare const locationFlatToFhir: typeof locationFlatToFhirR4;
|
|
59
|
+
export declare const locationFhirToFlat: typeof locationFhirR4ToFlat;
|
|
60
|
+
export declare const observationFlatToFhir: typeof observationFlatToFhirR4;
|
|
61
|
+
export declare const observationFhirToFlat: typeof observationFhirR4ToFlat;
|
|
62
|
+
export declare const organizationFlatToFhir: typeof organizationFlatToFhirR4;
|
|
63
|
+
export declare const organizationFhirToFlat: typeof organizationFhirR4ToFlat;
|
|
64
|
+
export declare const procedureFlatToFhir: typeof procedureFlatToFhirR4;
|
|
65
|
+
export declare const procedureFhirToFlat: typeof procedureFhirR4ToFlat;
|
|
66
|
+
export declare const deviceFlatToFhir: typeof deviceFlatToFhirR4;
|
|
67
|
+
export declare const deviceFhirToFlat: typeof deviceFhirR4ToFlat;
|
|
68
|
+
export declare const flagFlatToFhir: typeof flagFlatToFhirR4;
|
|
69
|
+
export declare const flagFhirToFlat: typeof flagFhirR4ToFlat;
|
|
70
|
+
export declare const carePlanFlatToFhir: typeof carePlanFlatToFhirR4;
|
|
71
|
+
export declare const carePlanFhirToFlat: typeof carePlanFhirR4ToFlat;
|
|
72
|
+
export declare const diagnosticReportFlatToFhir: typeof diagnosticReportFlatToFhirR4;
|
|
73
|
+
export declare const diagnosticReportFhirToFlat: typeof diagnosticReportFhirR4ToFlat;
|
|
74
|
+
export declare const compositionFlatToFhir: typeof compositionFlatToFhirR4;
|
|
75
|
+
export declare const compositionFhirToFlat: typeof compositionFhirR4ToFlat;
|
|
76
|
+
export declare const appointmentFlatToFhir: typeof appointmentFlatToFhirR4;
|
|
77
|
+
export declare const appointmentFhirToFlat: typeof appointmentFhirR4ToFlat;
|
|
78
|
+
export declare const appointmentResponseFlatToFhir: typeof appointmentResponseFlatToFhirR4;
|
|
79
|
+
export declare const appointmentResponseFhirToFlat: typeof appointmentResponseFhirR4ToFlat;
|
|
80
|
+
export declare const encounterFlatToFhir: typeof encounterFlatToFhirR4;
|
|
81
|
+
export declare const encounterFhirToFlat: typeof encounterFhirR4ToFlat;
|
|
82
|
+
export declare const relatedPersonFlatToFhir: typeof relatedPersonFlatToFhirR4;
|
|
83
|
+
export declare const relatedPersonFhirToFlat: typeof relatedPersonFhirR4ToFlat;
|
|
84
|
+
export declare const coverageFlatToFhir: typeof coverageFlatToFhirR4;
|
|
85
|
+
export declare const coverageFhirToFlat: typeof coverageFhirR4ToFlat;
|
|
86
|
+
export declare const clinicalImpressionFlatToFhir: typeof clinicalImpressionFlatToFhirR4;
|
|
87
|
+
export declare const clinicalImpressionFhirToFlat: typeof clinicalImpressionFhirR4ToFlat;
|
|
5
88
|
/**
|
|
6
|
-
* Converts
|
|
7
|
-
*
|
|
8
|
-
*
|
|
89
|
+
* Converts a FHIR resource to the semantic flat-claims contract when a
|
|
90
|
+
* resource-specific converter exists. Unsupported resources fall back to the
|
|
91
|
+
* generic structural flattening.
|
|
9
92
|
*/
|
|
10
|
-
export declare function
|
|
11
|
-
/**
|
|
12
|
-
* Converts a minimal MedicationStatement resource to flat claims.
|
|
13
|
-
*
|
|
14
|
-
* @param resource FHIR `MedicationStatement` resource.
|
|
15
|
-
*/
|
|
16
|
-
export declare function medicationStatementFhirToFlat(resource: FhirResource): FlatClaims;
|
|
17
|
-
/**
|
|
18
|
-
* Converts flat claims into a minimal AllergyIntolerance resource.
|
|
19
|
-
*
|
|
20
|
-
* @param claims Flat allergy/intolerance claims map.
|
|
21
|
-
*/
|
|
22
|
-
export declare function allergyIntoleranceFlatToFhir(claims: FlatClaims): FhirResource;
|
|
23
|
-
/**
|
|
24
|
-
* Converts a minimal AllergyIntolerance resource to flat claims.
|
|
25
|
-
*
|
|
26
|
-
* @param resource FHIR `AllergyIntolerance` resource.
|
|
27
|
-
*/
|
|
28
|
-
export declare function allergyIntoleranceFhirToFlat(resource: FhirResource): FlatClaims;
|
|
29
|
-
/**
|
|
30
|
-
* Converts flat claims into a minimal Condition resource.
|
|
31
|
-
*
|
|
32
|
-
* @param claims Flat condition claims map.
|
|
33
|
-
*/
|
|
34
|
-
export declare function conditionFlatToFhir(claims: FlatClaims): FhirResource;
|
|
35
|
-
/**
|
|
36
|
-
* Converts a minimal Condition resource to flat claims.
|
|
37
|
-
*
|
|
38
|
-
* @param resource FHIR `Condition` resource.
|
|
39
|
-
*/
|
|
40
|
-
export declare function conditionFhirToFlat(resource: FhirResource): FlatClaims;
|
|
41
|
-
/**
|
|
42
|
-
* Converts flat claims into a minimal DeviceUseStatement resource.
|
|
43
|
-
*
|
|
44
|
-
* @param claims Flat device-use claims map.
|
|
45
|
-
*/
|
|
46
|
-
export declare function deviceUseStatementFlatToFhir(claims: FlatClaims): FhirResource;
|
|
47
|
-
/**
|
|
48
|
-
* Converts a minimal DeviceUseStatement resource to flat claims.
|
|
49
|
-
*
|
|
50
|
-
* @param resource FHIR `DeviceUseStatement` resource.
|
|
51
|
-
*/
|
|
52
|
-
export declare function deviceUseStatementFhirToFlat(resource: FhirResource): FlatClaims;
|
|
53
|
-
/**
|
|
54
|
-
* Converts flat claims into a minimal DocumentReference resource.
|
|
55
|
-
*
|
|
56
|
-
* @param claims Flat document reference claims map.
|
|
57
|
-
*/
|
|
58
|
-
export declare function documentReferenceFlatToFhir(claims: FlatClaims): FhirResource;
|
|
59
|
-
/**
|
|
60
|
-
* Converts a minimal DocumentReference resource to flat claims.
|
|
61
|
-
*
|
|
62
|
-
* @param resource FHIR `DocumentReference` resource.
|
|
63
|
-
*/
|
|
64
|
-
export declare function documentReferenceFhirToFlat(resource: FhirResource): FlatClaims;
|
|
93
|
+
export declare function convertFhirResourceToClaims(resource: FhirResource, context?: string): FlatClaims;
|
|
@@ -1,279 +1,141 @@
|
|
|
1
1
|
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
2
|
// File: src/utils/clinical-resource-converters.ts
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Converts a minimal MedicationStatement resource to flat claims.
|
|
93
|
-
*
|
|
94
|
-
* @param resource FHIR `MedicationStatement` resource.
|
|
95
|
-
*/
|
|
96
|
-
export function medicationStatementFhirToFlat(resource) {
|
|
97
|
-
const medicationReference = resource.medicationReference?.reference;
|
|
98
|
-
const containedResources = Array.isArray(resource.contained) ? resource.contained : [];
|
|
99
|
-
const containedMedication = medicationReference?.startsWith('#')
|
|
100
|
-
? containedResources.find((item) => item?.resourceType === 'Medication' && String(item?.id || '') === medicationReference.slice(1))
|
|
101
|
-
: containedResources.find((item) => item?.resourceType === 'Medication');
|
|
102
|
-
const containedMedicationIdentifier = containedMedication?.identifier?.[0]?.value;
|
|
103
|
-
const containedMedicationText = containedMedication?.code?.text;
|
|
104
|
-
const batch = containedMedication?.batch;
|
|
105
|
-
const dosageInstructionText = resource.dosage?.[0]?.text;
|
|
106
|
-
const noteText = resource.note?.[0]?.text;
|
|
107
|
-
const medicationCode = codingToValue(resource.medicationCodeableConcept?.coding?.[0]);
|
|
108
|
-
const medicationText = containedMedicationText
|
|
109
|
-
|| resource.medicationCodeableConcept?.text
|
|
110
|
-
|| undefined;
|
|
111
|
-
return {
|
|
112
|
-
[MedicationStatementClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
113
|
-
[MedicationStatementClaim.Subject]: resource.subject?.reference,
|
|
114
|
-
[MedicationStatementClaim.Status]: resource.status,
|
|
115
|
-
[MedicationStatementClaim.Effective]: resource.effectiveDateTime,
|
|
116
|
-
[MedicationStatementClaim.Code]: medicationCode,
|
|
117
|
-
[MedicationStatementClaim.MedicationText]: medicationText,
|
|
118
|
-
[MedicationStatementClaim.Note]: noteText,
|
|
119
|
-
[MedicationStatementClaim.DosageInstruction]: dosageInstructionText,
|
|
120
|
-
[MedicationStatementClaim.MedicationIdentifier]: containedMedicationIdentifier,
|
|
121
|
-
[MedicationStatementClaim.MedicationSerialNumber]: batch?.lotNumber,
|
|
122
|
-
[MedicationStatementClaim.MedicationExpirationDate]: batch?.expirationDate,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
3
|
+
export { flatClaimsToFhirResource, fhirResourceToFlatClaims, } from '../convert/convert-shared.js';
|
|
4
|
+
export { medicationStatementFlatToFhirR4, medicationStatementFhirR4ToFlat, } from '../convert/convert-medication-statement.js';
|
|
5
|
+
export { allergyIntoleranceFlatToFhirR4, allergyIntoleranceFhirR4ToFlat, } from '../convert/convert-allergy-intolerance.js';
|
|
6
|
+
export { conditionFlatToFhirR4, conditionFhirR4ToFlat, } from '../convert/convert-condition.js';
|
|
7
|
+
export { deviceUseStatementFlatToFhirR4, deviceUseStatementFhirR4ToFlat, } from '../convert/convert-device-use-statement.js';
|
|
8
|
+
export { documentReferenceFlatToFhirR4, documentReferenceFhirR4ToFlat, } from '../convert/convert-document-reference.js';
|
|
9
|
+
export { immunizationFlatToFhirR4, immunizationFhirR4ToFlat, } from '../convert/convert-immunization.js';
|
|
10
|
+
export { locationFlatToFhirR4, locationFhirR4ToFlat, } from '../convert/convert-location.js';
|
|
11
|
+
export { observationFlatToFhirR4, observationFhirR4ToFlat, } from '../convert/convert-observation.js';
|
|
12
|
+
export { organizationFlatToFhirR4, organizationFhirR4ToFlat, } from '../convert/convert-organization.js';
|
|
13
|
+
export { procedureFlatToFhirR4, procedureFhirR4ToFlat, } from '../convert/convert-procedure.js';
|
|
14
|
+
export { deviceFlatToFhirR4, deviceFhirR4ToFlat, } from '../convert/convert-device.js';
|
|
15
|
+
export { flagFlatToFhirR4, flagFhirR4ToFlat, } from '../convert/convert-flag.js';
|
|
16
|
+
export { carePlanFlatToFhirR4, carePlanFhirR4ToFlat, } from '../convert/convert-care-plan.js';
|
|
17
|
+
export { diagnosticReportFlatToFhirR4, diagnosticReportFhirR4ToFlat, } from '../convert/convert-diagnostic-report.js';
|
|
18
|
+
export { compositionFlatToFhirR4, compositionFhirR4ToFlat, } from '../convert/convert-composition.js';
|
|
19
|
+
export { appointmentFlatToFhirR4, appointmentFhirR4ToFlat, } from '../convert/convert-appointment.js';
|
|
20
|
+
export { appointmentResponseFlatToFhirR4, appointmentResponseFhirR4ToFlat, } from '../convert/convert-appointment-response.js';
|
|
21
|
+
export { encounterFlatToFhirR4, encounterFhirR4ToFlat, } from '../convert/convert-encounter.js';
|
|
22
|
+
export { relatedPersonFlatToFhirR4, relatedPersonFhirR4ToFlat, } from '../convert/convert-related-person.js';
|
|
23
|
+
export { coverageFlatToFhirR4, coverageFhirR4ToFlat, } from '../convert/convert-coverage.js';
|
|
24
|
+
export { clinicalImpressionFlatToFhirR4, clinicalImpressionFhirR4ToFlat, } from '../convert/convert-clinical-impression.js';
|
|
25
|
+
import { fhirResourceToFlatClaims } from '../convert/convert-shared.js';
|
|
26
|
+
import { medicationStatementFhirR4ToFlat, medicationStatementFlatToFhirR4 } from '../convert/convert-medication-statement.js';
|
|
27
|
+
import { allergyIntoleranceFhirR4ToFlat, allergyIntoleranceFlatToFhirR4 } from '../convert/convert-allergy-intolerance.js';
|
|
28
|
+
import { conditionFhirR4ToFlat, conditionFlatToFhirR4 } from '../convert/convert-condition.js';
|
|
29
|
+
import { deviceUseStatementFhirR4ToFlat, deviceUseStatementFlatToFhirR4 } from '../convert/convert-device-use-statement.js';
|
|
30
|
+
import { documentReferenceFhirR4ToFlat, documentReferenceFlatToFhirR4 } from '../convert/convert-document-reference.js';
|
|
31
|
+
import { immunizationFhirR4ToFlat, immunizationFlatToFhirR4 } from '../convert/convert-immunization.js';
|
|
32
|
+
import { locationFhirR4ToFlat, locationFlatToFhirR4 } from '../convert/convert-location.js';
|
|
33
|
+
import { observationFhirR4ToFlat, observationFlatToFhirR4 } from '../convert/convert-observation.js';
|
|
34
|
+
import { organizationFhirR4ToFlat, organizationFlatToFhirR4 } from '../convert/convert-organization.js';
|
|
35
|
+
import { procedureFhirR4ToFlat, procedureFlatToFhirR4 } from '../convert/convert-procedure.js';
|
|
36
|
+
import { deviceFhirR4ToFlat, deviceFlatToFhirR4 } from '../convert/convert-device.js';
|
|
37
|
+
import { flagFhirR4ToFlat, flagFlatToFhirR4 } from '../convert/convert-flag.js';
|
|
38
|
+
import { carePlanFhirR4ToFlat, carePlanFlatToFhirR4 } from '../convert/convert-care-plan.js';
|
|
39
|
+
import { diagnosticReportFhirR4ToFlat, diagnosticReportFlatToFhirR4 } from '../convert/convert-diagnostic-report.js';
|
|
40
|
+
import { compositionFhirR4ToFlat, compositionFlatToFhirR4 } from '../convert/convert-composition.js';
|
|
41
|
+
import { appointmentFhirR4ToFlat, appointmentFlatToFhirR4 } from '../convert/convert-appointment.js';
|
|
42
|
+
import { appointmentResponseFhirR4ToFlat, appointmentResponseFlatToFhirR4 } from '../convert/convert-appointment-response.js';
|
|
43
|
+
import { encounterFhirR4ToFlat, encounterFlatToFhirR4 } from '../convert/convert-encounter.js';
|
|
44
|
+
import { relatedPersonFhirR4ToFlat, relatedPersonFlatToFhirR4 } from '../convert/convert-related-person.js';
|
|
45
|
+
import { coverageFhirR4ToFlat, coverageFlatToFhirR4 } from '../convert/convert-coverage.js';
|
|
46
|
+
import { clinicalImpressionFhirR4ToFlat, clinicalImpressionFlatToFhirR4 } from '../convert/convert-clinical-impression.js';
|
|
47
|
+
export const medicationStatementFlatToFhir = medicationStatementFlatToFhirR4;
|
|
48
|
+
export const medicationStatementFhirToFlat = medicationStatementFhirR4ToFlat;
|
|
49
|
+
export const allergyIntoleranceFlatToFhir = allergyIntoleranceFlatToFhirR4;
|
|
50
|
+
export const allergyIntoleranceFhirToFlat = allergyIntoleranceFhirR4ToFlat;
|
|
51
|
+
export const conditionFlatToFhir = conditionFlatToFhirR4;
|
|
52
|
+
export const conditionFhirToFlat = conditionFhirR4ToFlat;
|
|
53
|
+
export const deviceUseStatementFlatToFhir = deviceUseStatementFlatToFhirR4;
|
|
54
|
+
export const deviceUseStatementFhirToFlat = deviceUseStatementFhirR4ToFlat;
|
|
55
|
+
export const documentReferenceFlatToFhir = documentReferenceFlatToFhirR4;
|
|
56
|
+
export const documentReferenceFhirToFlat = documentReferenceFhirR4ToFlat;
|
|
57
|
+
export const immunizationFlatToFhir = immunizationFlatToFhirR4;
|
|
58
|
+
export const immunizationFhirToFlat = immunizationFhirR4ToFlat;
|
|
59
|
+
export const locationFlatToFhir = locationFlatToFhirR4;
|
|
60
|
+
export const locationFhirToFlat = locationFhirR4ToFlat;
|
|
61
|
+
export const observationFlatToFhir = observationFlatToFhirR4;
|
|
62
|
+
export const observationFhirToFlat = observationFhirR4ToFlat;
|
|
63
|
+
export const organizationFlatToFhir = organizationFlatToFhirR4;
|
|
64
|
+
export const organizationFhirToFlat = organizationFhirR4ToFlat;
|
|
65
|
+
export const procedureFlatToFhir = procedureFlatToFhirR4;
|
|
66
|
+
export const procedureFhirToFlat = procedureFhirR4ToFlat;
|
|
67
|
+
export const deviceFlatToFhir = deviceFlatToFhirR4;
|
|
68
|
+
export const deviceFhirToFlat = deviceFhirR4ToFlat;
|
|
69
|
+
export const flagFlatToFhir = flagFlatToFhirR4;
|
|
70
|
+
export const flagFhirToFlat = flagFhirR4ToFlat;
|
|
71
|
+
export const carePlanFlatToFhir = carePlanFlatToFhirR4;
|
|
72
|
+
export const carePlanFhirToFlat = carePlanFhirR4ToFlat;
|
|
73
|
+
export const diagnosticReportFlatToFhir = diagnosticReportFlatToFhirR4;
|
|
74
|
+
export const diagnosticReportFhirToFlat = diagnosticReportFhirR4ToFlat;
|
|
75
|
+
export const compositionFlatToFhir = compositionFlatToFhirR4;
|
|
76
|
+
export const compositionFhirToFlat = compositionFhirR4ToFlat;
|
|
77
|
+
export const appointmentFlatToFhir = appointmentFlatToFhirR4;
|
|
78
|
+
export const appointmentFhirToFlat = appointmentFhirR4ToFlat;
|
|
79
|
+
export const appointmentResponseFlatToFhir = appointmentResponseFlatToFhirR4;
|
|
80
|
+
export const appointmentResponseFhirToFlat = appointmentResponseFhirR4ToFlat;
|
|
81
|
+
export const encounterFlatToFhir = encounterFlatToFhirR4;
|
|
82
|
+
export const encounterFhirToFlat = encounterFhirR4ToFlat;
|
|
83
|
+
export const relatedPersonFlatToFhir = relatedPersonFlatToFhirR4;
|
|
84
|
+
export const relatedPersonFhirToFlat = relatedPersonFhirR4ToFlat;
|
|
85
|
+
export const coverageFlatToFhir = coverageFlatToFhirR4;
|
|
86
|
+
export const coverageFhirToFlat = coverageFhirR4ToFlat;
|
|
87
|
+
export const clinicalImpressionFlatToFhir = clinicalImpressionFlatToFhirR4;
|
|
88
|
+
export const clinicalImpressionFhirToFlat = clinicalImpressionFhirR4ToFlat;
|
|
125
89
|
/**
|
|
126
|
-
* Converts
|
|
127
|
-
*
|
|
128
|
-
*
|
|
90
|
+
* Converts a FHIR resource to the semantic flat-claims contract when a
|
|
91
|
+
* resource-specific converter exists. Unsupported resources fall back to the
|
|
92
|
+
* generic structural flattening.
|
|
129
93
|
*/
|
|
130
|
-
export function
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
94
|
+
export function convertFhirResourceToClaims(resource, context = 'org.hl7.fhir.r4') {
|
|
95
|
+
switch (resource.resourceType) {
|
|
96
|
+
case 'MedicationStatement':
|
|
97
|
+
return medicationStatementFhirR4ToFlat(resource);
|
|
98
|
+
case 'AllergyIntolerance':
|
|
99
|
+
return allergyIntoleranceFhirR4ToFlat(resource);
|
|
100
|
+
case 'Condition':
|
|
101
|
+
return conditionFhirR4ToFlat(resource);
|
|
102
|
+
case 'DocumentReference':
|
|
103
|
+
return documentReferenceFhirR4ToFlat(resource);
|
|
104
|
+
case 'DeviceUseStatement':
|
|
105
|
+
return deviceUseStatementFhirR4ToFlat(resource);
|
|
106
|
+
case 'Immunization':
|
|
107
|
+
return immunizationFhirR4ToFlat(resource);
|
|
108
|
+
case 'Location':
|
|
109
|
+
return locationFhirR4ToFlat(resource);
|
|
110
|
+
case 'Observation':
|
|
111
|
+
return observationFhirR4ToFlat(resource);
|
|
112
|
+
case 'Organization':
|
|
113
|
+
return organizationFhirR4ToFlat(resource);
|
|
114
|
+
case 'Procedure':
|
|
115
|
+
return procedureFhirR4ToFlat(resource);
|
|
116
|
+
case 'Device':
|
|
117
|
+
return deviceFhirR4ToFlat(resource);
|
|
118
|
+
case 'Flag':
|
|
119
|
+
return flagFhirR4ToFlat(resource);
|
|
120
|
+
case 'CarePlan':
|
|
121
|
+
return carePlanFhirR4ToFlat(resource);
|
|
122
|
+
case 'DiagnosticReport':
|
|
123
|
+
return diagnosticReportFhirR4ToFlat(resource);
|
|
124
|
+
case 'Composition':
|
|
125
|
+
return compositionFhirR4ToFlat(resource);
|
|
126
|
+
case 'Appointment':
|
|
127
|
+
return appointmentFhirR4ToFlat(resource);
|
|
128
|
+
case 'AppointmentResponse':
|
|
129
|
+
return appointmentResponseFhirR4ToFlat(resource);
|
|
130
|
+
case 'Encounter':
|
|
131
|
+
return encounterFhirR4ToFlat(resource);
|
|
132
|
+
case 'RelatedPerson':
|
|
133
|
+
return relatedPersonFhirR4ToFlat(resource);
|
|
134
|
+
case 'Coverage':
|
|
135
|
+
return coverageFhirR4ToFlat(resource);
|
|
136
|
+
case 'ClinicalImpression':
|
|
137
|
+
return clinicalImpressionFhirR4ToFlat(resource);
|
|
138
|
+
default:
|
|
139
|
+
return fhirResourceToFlatClaims(resource, context);
|
|
139
140
|
}
|
|
140
|
-
return {
|
|
141
|
-
resourceType: 'AllergyIntolerance',
|
|
142
|
-
identifier: claims[AllergyIntoleranceClaim.Identifier] ? [{ value: claims[AllergyIntoleranceClaim.Identifier] }] : undefined,
|
|
143
|
-
patient: { reference: patient },
|
|
144
|
-
code: claims[AllergyIntoleranceClaim.Code] ? { coding: codingFromValue(claims[AllergyIntoleranceClaim.Code]) } : undefined,
|
|
145
|
-
clinicalStatus: claims[AllergyIntoleranceClaim.ClinicalStatus]
|
|
146
|
-
? { coding: [{ code: claims[AllergyIntoleranceClaim.ClinicalStatus] }] }
|
|
147
|
-
: undefined,
|
|
148
|
-
verificationStatus: claims[AllergyIntoleranceClaim.VerificationStatus]
|
|
149
|
-
? { coding: [{ code: claims[AllergyIntoleranceClaim.VerificationStatus] }] }
|
|
150
|
-
: undefined,
|
|
151
|
-
recorder: recorder ? { reference: recorder } : undefined,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Converts a minimal AllergyIntolerance resource to flat claims.
|
|
156
|
-
*
|
|
157
|
-
* @param resource FHIR `AllergyIntolerance` resource.
|
|
158
|
-
*/
|
|
159
|
-
export function allergyIntoleranceFhirToFlat(resource) {
|
|
160
|
-
const subject = resource.patient?.reference;
|
|
161
|
-
return {
|
|
162
|
-
[AllergyIntoleranceClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
163
|
-
[AllergyIntoleranceClaim.Subject]: subject,
|
|
164
|
-
[AllergyIntoleranceClaim.Patient]: subject,
|
|
165
|
-
[AllergyIntoleranceClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
166
|
-
[AllergyIntoleranceClaim.ClinicalStatus]: resource.clinicalStatus?.coding?.[0]?.code,
|
|
167
|
-
[AllergyIntoleranceClaim.VerificationStatus]: resource.verificationStatus?.coding?.[0]?.code,
|
|
168
|
-
[AllergyIntoleranceClaim.Recorder]: resource.recorder?.reference,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Converts flat claims into a minimal Condition resource.
|
|
173
|
-
*
|
|
174
|
-
* @param claims Flat condition claims map.
|
|
175
|
-
*/
|
|
176
|
-
export function conditionFlatToFhir(claims) {
|
|
177
|
-
const subject = requireClaim(claims, ConditionClaim.Subject);
|
|
178
|
-
return {
|
|
179
|
-
resourceType: 'Condition',
|
|
180
|
-
identifier: claims[ConditionClaim.Identifier] ? [{ value: claims[ConditionClaim.Identifier] }] : undefined,
|
|
181
|
-
subject: { reference: subject },
|
|
182
|
-
code: claims[ConditionClaim.Code] ? { coding: codingFromValue(claims[ConditionClaim.Code]) } : undefined,
|
|
183
|
-
clinicalStatus: claims[ConditionClaim.ClinicalStatus] ? { coding: [{ code: claims[ConditionClaim.ClinicalStatus] }] } : undefined,
|
|
184
|
-
verificationStatus: claims[ConditionClaim.VerificationStatus] ? { coding: [{ code: claims[ConditionClaim.VerificationStatus] }] } : undefined,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Converts a minimal Condition resource to flat claims.
|
|
189
|
-
*
|
|
190
|
-
* @param resource FHIR `Condition` resource.
|
|
191
|
-
*/
|
|
192
|
-
export function conditionFhirToFlat(resource) {
|
|
193
|
-
return {
|
|
194
|
-
[ConditionClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
195
|
-
[ConditionClaim.Subject]: resource.subject?.reference,
|
|
196
|
-
[ConditionClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
197
|
-
[ConditionClaim.ClinicalStatus]: resource.clinicalStatus?.coding?.[0]?.code,
|
|
198
|
-
[ConditionClaim.VerificationStatus]: resource.verificationStatus?.coding?.[0]?.code,
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Converts flat claims into a minimal DeviceUseStatement resource.
|
|
203
|
-
*
|
|
204
|
-
* @param claims Flat device-use claims map.
|
|
205
|
-
*/
|
|
206
|
-
export function deviceUseStatementFlatToFhir(claims) {
|
|
207
|
-
const subject = requireClaim(claims, DeviceUseStatementClaim.Subject);
|
|
208
|
-
const device = requireClaim(claims, DeviceUseStatementClaim.Device);
|
|
209
|
-
const status = requireClaim(claims, DeviceUseStatementClaim.Status);
|
|
210
|
-
return {
|
|
211
|
-
resourceType: 'DeviceUseStatement',
|
|
212
|
-
identifier: claims[DeviceUseStatementClaim.Identifier] ? [{ value: claims[DeviceUseStatementClaim.Identifier] }] : undefined,
|
|
213
|
-
subject: { reference: subject },
|
|
214
|
-
device: { reference: device },
|
|
215
|
-
status,
|
|
216
|
-
recordedOn: claims[DeviceUseStatementClaim.RecordedOn],
|
|
217
|
-
timingDateTime: claims[DeviceUseStatementClaim.TimingDateTime],
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Converts a minimal DeviceUseStatement resource to flat claims.
|
|
222
|
-
*
|
|
223
|
-
* @param resource FHIR `DeviceUseStatement` resource.
|
|
224
|
-
*/
|
|
225
|
-
export function deviceUseStatementFhirToFlat(resource) {
|
|
226
|
-
return {
|
|
227
|
-
[DeviceUseStatementClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
228
|
-
[DeviceUseStatementClaim.Subject]: resource.subject?.reference,
|
|
229
|
-
[DeviceUseStatementClaim.Device]: resource.device?.reference,
|
|
230
|
-
[DeviceUseStatementClaim.Status]: resource.status,
|
|
231
|
-
[DeviceUseStatementClaim.RecordedOn]: resource.recordedOn,
|
|
232
|
-
[DeviceUseStatementClaim.TimingDateTime]: resource.timingDateTime,
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Converts flat claims into a minimal DocumentReference resource.
|
|
237
|
-
*
|
|
238
|
-
* @param claims Flat document reference claims map.
|
|
239
|
-
*/
|
|
240
|
-
export function documentReferenceFlatToFhir(claims) {
|
|
241
|
-
const subject = requireClaim(claims, DocumentReferenceClaim.Subject);
|
|
242
|
-
return {
|
|
243
|
-
resourceType: 'DocumentReference',
|
|
244
|
-
identifier: claims[DocumentReferenceClaim.Identifier] ? [{ value: claims[DocumentReferenceClaim.Identifier] }] : undefined,
|
|
245
|
-
subject: { reference: subject },
|
|
246
|
-
description: claims[DocumentReferenceClaim.Description],
|
|
247
|
-
date: claims[DocumentReferenceClaim.Date],
|
|
248
|
-
content: [
|
|
249
|
-
{
|
|
250
|
-
attachment: {
|
|
251
|
-
contentType: claims[DocumentReferenceClaim.ContentType],
|
|
252
|
-
data: claims[DocumentReferenceClaim.ContentData],
|
|
253
|
-
url: claims[DocumentReferenceClaim.Location],
|
|
254
|
-
hash: claims[DocumentReferenceClaim.ContentHash],
|
|
255
|
-
language: claims[DocumentReferenceClaim.Language],
|
|
256
|
-
},
|
|
257
|
-
},
|
|
258
|
-
],
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Converts a minimal DocumentReference resource to flat claims.
|
|
263
|
-
*
|
|
264
|
-
* @param resource FHIR `DocumentReference` resource.
|
|
265
|
-
*/
|
|
266
|
-
export function documentReferenceFhirToFlat(resource) {
|
|
267
|
-
const attachment = resource.content?.[0]?.attachment;
|
|
268
|
-
return {
|
|
269
|
-
[DocumentReferenceClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
270
|
-
[DocumentReferenceClaim.Subject]: resource.subject?.reference,
|
|
271
|
-
[DocumentReferenceClaim.Description]: resource.description,
|
|
272
|
-
[DocumentReferenceClaim.Date]: resource.date,
|
|
273
|
-
[DocumentReferenceClaim.ContentType]: attachment?.contentType,
|
|
274
|
-
[DocumentReferenceClaim.ContentData]: attachment?.data,
|
|
275
|
-
[DocumentReferenceClaim.Location]: attachment?.url,
|
|
276
|
-
[DocumentReferenceClaim.ContentHash]: attachment?.hash,
|
|
277
|
-
[DocumentReferenceClaim.Language]: attachment?.language,
|
|
278
|
-
};
|
|
279
141
|
}
|
|
@@ -136,8 +136,8 @@ export declare function buildBundleSearchReferenceUrl(input: Readonly<{
|
|
|
136
136
|
*/
|
|
137
137
|
export declare function createSummaryOperationRequestParameters(subjectIdOrInput: string | CreateSummaryOperationParametersInput, filterSections?: string[]): ReadonlyArray<ParameterData>;
|
|
138
138
|
/**
|
|
139
|
-
* Flattens semantic summary-operation parameters to the relative
|
|
140
|
-
* currently stored in `Communication.content-reference`.
|
|
139
|
+
* Flattens semantic summary-operation parameters to the relative `Bundle/_search`
|
|
140
|
+
* path currently stored in `Communication.content-reference`.
|
|
141
141
|
*/
|
|
142
142
|
export declare function createSummaryOperationRequestReferencePath(parameters: ReadonlyArray<ParameterData>): string;
|
|
143
143
|
/**
|
|
@@ -187,8 +187,10 @@ export declare const communication: Readonly<{
|
|
|
187
187
|
*/
|
|
188
188
|
newIpsSummarySearchCommunication: typeof createIpsSummarySearchCommunicationClaims;
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
190
|
+
* Compatibility helper for current DIDComm transport flows.
|
|
191
|
+
*
|
|
192
|
+
* Prefer `newIpsSummarySearchCommunication(...)` in `common-utils` 101 docs.
|
|
193
|
+
* DIDComm/outbox orchestration belongs to the next SDK layer.
|
|
192
194
|
*/
|
|
193
195
|
newIpsSummarySearchDidcommMessage: typeof createIpsSummarySearchDidcommMessage;
|
|
194
196
|
/**
|