gdc-common-utils-ts 2.0.12 → 2.0.14
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 +6 -2
- package/dist/examples/employee.d.ts +9 -1
- package/dist/examples/employee.js +7 -4
- package/dist/examples/shared.d.ts +1 -1
- package/dist/examples/shared.js +6 -2
- package/dist/utils/actor.d.ts +3 -1
- package/dist/utils/medication-claim-helpers.d.ts +5 -85
- package/dist/utils/medication-claim-helpers.js +5 -255
- package/package.json +1 -5
- package/dist/examples/communication-bundle-session.d.ts +0 -22
- package/dist/examples/communication-bundle-session.js +0 -79
- package/dist/interfaces/IWallet.d.ts +0 -55
- package/dist/interfaces/IWallet.js +0 -3
- package/dist/models/fhir-related-person.d.ts +0 -61
- package/dist/models/fhir-related-person.js +0 -108
- package/dist/models/related-profile.d.ts +0 -42
- package/dist/models/related-profile.js +0 -16
- package/dist/utils/allergy-intolerance-claim-helpers.d.ts +0 -10
- package/dist/utils/allergy-intolerance-claim-helpers.js +0 -47
- package/dist/utils/appointment-claim-helpers.d.ts +0 -10
- package/dist/utils/appointment-claim-helpers.js +0 -26
- package/dist/utils/appointment-response-claim-helpers.d.ts +0 -8
- package/dist/utils/appointment-response-claim-helpers.js +0 -20
- package/dist/utils/claim-list-helpers.d.ts +0 -21
- package/dist/utils/claim-list-helpers.js +0 -50
- package/dist/utils/clinical-impression-claim-helpers.d.ts +0 -10
- package/dist/utils/clinical-impression-claim-helpers.js +0 -26
- package/dist/utils/communication-bundle-session.d.ts +0 -175
- package/dist/utils/communication-bundle-session.js +0 -524
- package/dist/utils/composition-claim-helpers.d.ts +0 -12
- package/dist/utils/composition-claim-helpers.js +0 -32
- package/dist/utils/condition-claim-helpers.d.ts +0 -10
- package/dist/utils/condition-claim-helpers.js +0 -47
- package/dist/utils/convert-allergy-intolerance.d.ts +0 -3
- package/dist/utils/convert-allergy-intolerance.js +0 -34
- package/dist/utils/convert-appointment-response.d.ts +0 -3
- package/dist/utils/convert-appointment-response.js +0 -32
- package/dist/utils/convert-appointment.d.ts +0 -3
- package/dist/utils/convert-appointment.js +0 -61
- package/dist/utils/convert-care-plan.d.ts +0 -3
- package/dist/utils/convert-care-plan.js +0 -58
- package/dist/utils/convert-clinical-impression.d.ts +0 -3
- package/dist/utils/convert-clinical-impression.js +0 -42
- package/dist/utils/convert-composition.d.ts +0 -3
- package/dist/utils/convert-composition.js +0 -35
- package/dist/utils/convert-condition.d.ts +0 -3
- package/dist/utils/convert-condition.js +0 -24
- package/dist/utils/convert-coverage.d.ts +0 -3
- package/dist/utils/convert-coverage.js +0 -51
- package/dist/utils/convert-device-use-statement.d.ts +0 -3
- package/dist/utils/convert-device-use-statement.js +0 -28
- package/dist/utils/convert-device.d.ts +0 -3
- package/dist/utils/convert-device.js +0 -37
- package/dist/utils/convert-diagnostic-report.d.ts +0 -3
- package/dist/utils/convert-diagnostic-report.js +0 -55
- package/dist/utils/convert-document-reference.d.ts +0 -3
- package/dist/utils/convert-document-reference.js +0 -35
- package/dist/utils/convert-encounter.d.ts +0 -3
- package/dist/utils/convert-encounter.js +0 -68
- package/dist/utils/convert-flag.d.ts +0 -3
- package/dist/utils/convert-flag.js +0 -34
- package/dist/utils/convert-immunization.d.ts +0 -3
- package/dist/utils/convert-immunization.js +0 -56
- package/dist/utils/convert-medication-statement.d.ts +0 -3
- package/dist/utils/convert-medication-statement.js +0 -64
- package/dist/utils/convert-observation.d.ts +0 -3
- package/dist/utils/convert-observation.js +0 -57
- package/dist/utils/convert-procedure.d.ts +0 -3
- package/dist/utils/convert-procedure.js +0 -50
- package/dist/utils/convert-related-person.d.ts +0 -3
- package/dist/utils/convert-related-person.js +0 -31
- package/dist/utils/convert-shared.d.ts +0 -34
- package/dist/utils/convert-shared.js +0 -179
- package/dist/utils/coverage-claim-helpers.d.ts +0 -10
- package/dist/utils/coverage-claim-helpers.js +0 -26
- package/dist/utils/diagnostic-report-claim-helpers.d.ts +0 -12
- package/dist/utils/diagnostic-report-claim-helpers.js +0 -32
- package/dist/utils/employee-editor.d.ts +0 -24
- package/dist/utils/employee-editor.js +0 -41
- package/dist/utils/encounter-claim-helpers.d.ts +0 -10
- package/dist/utils/encounter-claim-helpers.js +0 -26
- package/dist/utils/gateway-index-params.d.ts +0 -44
- package/dist/utils/gateway-index-params.js +0 -80
- package/dist/utils/normalize-subject-uuid.d.ts +0 -1
- package/dist/utils/normalize-subject-uuid.js +0 -24
- package/dist/utils/related-person-claim-helpers.d.ts +0 -8
- package/dist/utils/related-person-claim-helpers.js +0 -20
- package/dist/utils/search-parameter-catalog.d.ts +0 -31
- package/dist/utils/search-parameter-catalog.js +0 -81
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-diagnostic-report.ts
|
|
3
|
-
import { DiagnosticReportClaim } from '../models/interoperable-claims/diagnostic-report-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceListToCsv, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function diagnosticReportFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[DiagnosticReportClaim.Subject] ?? claims[DiagnosticReportClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'DiagnosticReport',
|
|
9
|
-
identifier: claims[DiagnosticReportClaim.Identifier] ? [{ value: claims[DiagnosticReportClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[DiagnosticReportClaim.Status],
|
|
11
|
-
category: claims[DiagnosticReportClaim.Category] ? [{ coding: codingFromValue(claims[DiagnosticReportClaim.Category]) }] : undefined,
|
|
12
|
-
code: claims[DiagnosticReportClaim.Code] ? { coding: codingFromValue(claims[DiagnosticReportClaim.Code]) } : undefined,
|
|
13
|
-
subject: subject ? { reference: subject } : undefined,
|
|
14
|
-
encounter: claims[DiagnosticReportClaim.Encounter] ? { reference: claims[DiagnosticReportClaim.Encounter] } : undefined,
|
|
15
|
-
effectiveDateTime: claims[DiagnosticReportClaim.Date],
|
|
16
|
-
basedOn: claims[DiagnosticReportClaim.BasedOn] ? claims[DiagnosticReportClaim.BasedOn].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
17
|
-
performer: claims[DiagnosticReportClaim.Performer] ? claims[DiagnosticReportClaim.Performer].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
18
|
-
result: claims[DiagnosticReportClaim.Result] ? claims[DiagnosticReportClaim.Result].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
19
|
-
resultsInterpreter: claims[DiagnosticReportClaim.ResultsInterpreter] ? claims[DiagnosticReportClaim.ResultsInterpreter].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
20
|
-
specimen: claims[DiagnosticReportClaim.Specimen] ? claims[DiagnosticReportClaim.Specimen].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
21
|
-
media: claims[DiagnosticReportClaim.Media] ? claims[DiagnosticReportClaim.Media].split(',').map((reference) => ({ link: { reference: reference.trim() } })) : undefined,
|
|
22
|
-
presentedForm: (claims[DiagnosticReportClaim.PresentedFormContentType] || claims[DiagnosticReportClaim.PresentedFormData] || claims[DiagnosticReportClaim.PresentedFormUrl]) ? [{
|
|
23
|
-
contentType: claims[DiagnosticReportClaim.PresentedFormContentType],
|
|
24
|
-
data: claims[DiagnosticReportClaim.PresentedFormData],
|
|
25
|
-
url: claims[DiagnosticReportClaim.PresentedFormUrl],
|
|
26
|
-
}] : undefined,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export function diagnosticReportFhirR4ToFlat(resource) {
|
|
30
|
-
const form = Array.isArray(resource.presentedForm) ? resource.presentedForm[0] : undefined;
|
|
31
|
-
const media = Array.isArray(resource.media)
|
|
32
|
-
? resource.media
|
|
33
|
-
.map((item) => referenceToValue(item?.link))
|
|
34
|
-
.filter((item) => Boolean(item))
|
|
35
|
-
: [];
|
|
36
|
-
return {
|
|
37
|
-
[DiagnosticReportClaim.BasedOn]: referenceListToCsv(resource.basedOn),
|
|
38
|
-
[DiagnosticReportClaim.Category]: codingToValue(resource.category?.[0]?.coding?.[0]),
|
|
39
|
-
[DiagnosticReportClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
40
|
-
[DiagnosticReportClaim.Date]: resource.effectiveDateTime || resource.issued,
|
|
41
|
-
[DiagnosticReportClaim.Encounter]: referenceToValue(resource.encounter),
|
|
42
|
-
[DiagnosticReportClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
43
|
-
[DiagnosticReportClaim.Media]: media.length ? media.join(',') : undefined,
|
|
44
|
-
[DiagnosticReportClaim.Patient]: referenceToValue(resource.subject),
|
|
45
|
-
[DiagnosticReportClaim.Performer]: referenceListToCsv(resource.performer),
|
|
46
|
-
[DiagnosticReportClaim.Result]: referenceListToCsv(resource.result),
|
|
47
|
-
[DiagnosticReportClaim.ResultsInterpreter]: referenceListToCsv(resource.resultsInterpreter),
|
|
48
|
-
[DiagnosticReportClaim.Specimen]: referenceListToCsv(resource.specimen),
|
|
49
|
-
[DiagnosticReportClaim.Status]: resource.status,
|
|
50
|
-
[DiagnosticReportClaim.Subject]: referenceToValue(resource.subject),
|
|
51
|
-
[DiagnosticReportClaim.PresentedFormContentType]: form?.contentType,
|
|
52
|
-
[DiagnosticReportClaim.PresentedFormData]: form?.data,
|
|
53
|
-
[DiagnosticReportClaim.PresentedFormUrl]: form?.url,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-document-reference.ts
|
|
3
|
-
import { DocumentReferenceClaim } from '../models/interoperable-claims/document-reference-claims.js';
|
|
4
|
-
import { requireClaim } from './convert-shared.js';
|
|
5
|
-
export function documentReferenceFlatToFhirR4(claims) {
|
|
6
|
-
const subject = requireClaim(claims, DocumentReferenceClaim.Subject);
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'DocumentReference',
|
|
9
|
-
identifier: claims[DocumentReferenceClaim.Identifier] ? [{ value: claims[DocumentReferenceClaim.Identifier] }] : undefined,
|
|
10
|
-
subject: { reference: subject },
|
|
11
|
-
description: claims[DocumentReferenceClaim.Description],
|
|
12
|
-
date: claims[DocumentReferenceClaim.Date],
|
|
13
|
-
content: [{ attachment: {
|
|
14
|
-
contentType: claims[DocumentReferenceClaim.ContentType],
|
|
15
|
-
data: claims[DocumentReferenceClaim.ContentData],
|
|
16
|
-
url: claims[DocumentReferenceClaim.Location],
|
|
17
|
-
hash: claims[DocumentReferenceClaim.ContentHash],
|
|
18
|
-
language: claims[DocumentReferenceClaim.Language],
|
|
19
|
-
} }],
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export function documentReferenceFhirR4ToFlat(resource) {
|
|
23
|
-
const attachment = resource.content?.[0]?.attachment;
|
|
24
|
-
return {
|
|
25
|
-
[DocumentReferenceClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
26
|
-
[DocumentReferenceClaim.Subject]: resource.subject?.reference,
|
|
27
|
-
[DocumentReferenceClaim.Description]: resource.description,
|
|
28
|
-
[DocumentReferenceClaim.Date]: resource.date,
|
|
29
|
-
[DocumentReferenceClaim.ContentType]: attachment?.contentType,
|
|
30
|
-
[DocumentReferenceClaim.ContentData]: attachment?.data,
|
|
31
|
-
[DocumentReferenceClaim.Location]: attachment?.url,
|
|
32
|
-
[DocumentReferenceClaim.ContentHash]: attachment?.hash,
|
|
33
|
-
[DocumentReferenceClaim.Language]: attachment?.language,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-encounter.ts
|
|
3
|
-
import { EncounterClaim } from '../models/interoperable-claims/encounter-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function encounterFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[EncounterClaim.Subject] ?? claims[EncounterClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'Encounter',
|
|
9
|
-
identifier: claims[EncounterClaim.Identifier] ? [{ value: claims[EncounterClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[EncounterClaim.Status],
|
|
11
|
-
class: claims[EncounterClaim.Class]
|
|
12
|
-
? (() => {
|
|
13
|
-
const [system, code] = claims[EncounterClaim.Class].split('|');
|
|
14
|
-
return code ? { system, code } : { code: system };
|
|
15
|
-
})()
|
|
16
|
-
: undefined,
|
|
17
|
-
type: claims[EncounterClaim.Type] ? [{ coding: codingFromValue(claims[EncounterClaim.Type]) }] : undefined,
|
|
18
|
-
subject: subject ? { reference: subject } : undefined,
|
|
19
|
-
participant: claims[EncounterClaim.Participant]
|
|
20
|
-
? claims[EncounterClaim.Participant].split(',').map((reference) => ({ individual: { reference: reference.trim() } }))
|
|
21
|
-
: undefined,
|
|
22
|
-
serviceProvider: claims[EncounterClaim.ServiceProvider] ? { reference: claims[EncounterClaim.ServiceProvider] } : undefined,
|
|
23
|
-
period: (claims[EncounterClaim.PeriodStart] || claims[EncounterClaim.PeriodEnd]) ? {
|
|
24
|
-
start: claims[EncounterClaim.PeriodStart],
|
|
25
|
-
end: claims[EncounterClaim.PeriodEnd],
|
|
26
|
-
} : undefined,
|
|
27
|
-
reasonCode: claims[EncounterClaim.ReasonCode] ? [{ coding: codingFromValue(claims[EncounterClaim.ReasonCode]) }] : undefined,
|
|
28
|
-
diagnosis: claims[EncounterClaim.Diagnosis]
|
|
29
|
-
? claims[EncounterClaim.Diagnosis].split(',').map((reference) => ({ condition: { reference: reference.trim() } }))
|
|
30
|
-
: undefined,
|
|
31
|
-
location: claims[EncounterClaim.Location]
|
|
32
|
-
? claims[EncounterClaim.Location].split(',').map((reference) => ({ location: { reference: reference.trim() } }))
|
|
33
|
-
: undefined,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export function encounterFhirR4ToFlat(resource) {
|
|
37
|
-
const klass = resource.class;
|
|
38
|
-
return {
|
|
39
|
-
[EncounterClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
40
|
-
[EncounterClaim.Status]: resource.status,
|
|
41
|
-
[EncounterClaim.Class]: klass?.code ? (klass.system ? `${klass.system}|${klass.code}` : klass.code) : undefined,
|
|
42
|
-
[EncounterClaim.Type]: codingToValue(resource.type?.[0]?.coding?.[0]),
|
|
43
|
-
[EncounterClaim.Subject]: referenceToValue(resource.subject),
|
|
44
|
-
[EncounterClaim.Patient]: referenceToValue(resource.subject),
|
|
45
|
-
[EncounterClaim.Participant]: Array.isArray(resource.participant)
|
|
46
|
-
? resource.participant
|
|
47
|
-
.map((item) => referenceToValue(item?.individual))
|
|
48
|
-
.filter((item) => Boolean(item))
|
|
49
|
-
.join(',')
|
|
50
|
-
: undefined,
|
|
51
|
-
[EncounterClaim.ServiceProvider]: referenceToValue(resource.serviceProvider),
|
|
52
|
-
[EncounterClaim.PeriodStart]: resource.period?.start,
|
|
53
|
-
[EncounterClaim.PeriodEnd]: resource.period?.end,
|
|
54
|
-
[EncounterClaim.ReasonCode]: codingToValue(resource.reasonCode?.[0]?.coding?.[0]),
|
|
55
|
-
[EncounterClaim.Diagnosis]: Array.isArray(resource.diagnosis)
|
|
56
|
-
? resource.diagnosis
|
|
57
|
-
.map((item) => referenceToValue(item?.condition))
|
|
58
|
-
.filter((item) => Boolean(item))
|
|
59
|
-
.join(',')
|
|
60
|
-
: undefined,
|
|
61
|
-
[EncounterClaim.Location]: Array.isArray(resource.location)
|
|
62
|
-
? resource.location
|
|
63
|
-
.map((item) => referenceToValue(item?.location))
|
|
64
|
-
.filter((item) => Boolean(item))
|
|
65
|
-
.join(',')
|
|
66
|
-
: undefined,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-flag.ts
|
|
3
|
-
import { FlagClaim } from '../models/interoperable-claims/flag-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function flagFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[FlagClaim.Subject] ?? claims[FlagClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'Flag',
|
|
9
|
-
identifier: claims[FlagClaim.Identifier] ? [{ value: claims[FlagClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[FlagClaim.Status],
|
|
11
|
-
category: claims[FlagClaim.Category] ? { coding: codingFromValue(claims[FlagClaim.Category]) } : undefined,
|
|
12
|
-
code: claims[FlagClaim.Code] ? { coding: codingFromValue(claims[FlagClaim.Code]) } : undefined,
|
|
13
|
-
subject: subject ? { reference: subject } : undefined,
|
|
14
|
-
author: claims[FlagClaim.Author] ? { reference: claims[FlagClaim.Author] } : undefined,
|
|
15
|
-
encounter: claims[FlagClaim.Encounter] ? { reference: claims[FlagClaim.Encounter] } : undefined,
|
|
16
|
-
period: (claims[FlagClaim.PeriodStart] || claims[FlagClaim.PeriodEnd]) ? { start: claims[FlagClaim.PeriodStart], end: claims[FlagClaim.PeriodEnd] } : undefined,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export function flagFhirR4ToFlat(resource) {
|
|
20
|
-
const period = resource.period;
|
|
21
|
-
return {
|
|
22
|
-
[FlagClaim.Author]: referenceToValue(resource.author),
|
|
23
|
-
[FlagClaim.Date]: undefined,
|
|
24
|
-
[FlagClaim.Encounter]: referenceToValue(resource.encounter),
|
|
25
|
-
[FlagClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
26
|
-
[FlagClaim.Patient]: referenceToValue(resource.subject),
|
|
27
|
-
[FlagClaim.Subject]: referenceToValue(resource.subject),
|
|
28
|
-
[FlagClaim.Status]: resource.status,
|
|
29
|
-
[FlagClaim.Category]: codingToValue(resource.category?.coding?.[0]),
|
|
30
|
-
[FlagClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
31
|
-
[FlagClaim.PeriodStart]: period?.start,
|
|
32
|
-
[FlagClaim.PeriodEnd]: period?.end,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-immunization.ts
|
|
3
|
-
import { ImmunizationClaim } from '../models/interoperable-claims/immunization-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function immunizationFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[ImmunizationClaim.Subject] ?? claims[ImmunizationClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'Immunization',
|
|
9
|
-
identifier: claims[ImmunizationClaim.Identifier] ? [{ value: claims[ImmunizationClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[ImmunizationClaim.Status],
|
|
11
|
-
vaccineCode: claims[ImmunizationClaim.VaccineCode] ? { coding: codingFromValue(claims[ImmunizationClaim.VaccineCode]) } : undefined,
|
|
12
|
-
patient: subject ? { reference: subject } : undefined,
|
|
13
|
-
occurrenceDateTime: claims[ImmunizationClaim.Date],
|
|
14
|
-
location: claims[ImmunizationClaim.Location] ? { reference: claims[ImmunizationClaim.Location] } : undefined,
|
|
15
|
-
manufacturer: claims[ImmunizationClaim.Manufacturer] ? { reference: claims[ImmunizationClaim.Manufacturer] } : undefined,
|
|
16
|
-
lotNumber: claims[ImmunizationClaim.LotNumber],
|
|
17
|
-
performer: claims[ImmunizationClaim.Performer] ? claims[ImmunizationClaim.Performer].split(',').map((reference) => ({ actor: { reference: reference.trim() } })) : undefined,
|
|
18
|
-
reasonCode: claims[ImmunizationClaim.ReasonCode] ? [{ coding: codingFromValue(claims[ImmunizationClaim.ReasonCode]) }] : undefined,
|
|
19
|
-
reasonReference: claims[ImmunizationClaim.ReasonReference] ? [{ reference: claims[ImmunizationClaim.ReasonReference] }] : undefined,
|
|
20
|
-
statusReason: claims[ImmunizationClaim.StatusReason] ? { coding: codingFromValue(claims[ImmunizationClaim.StatusReason]) } : undefined,
|
|
21
|
-
note: claims[ImmunizationClaim.Note] ? [{ text: claims[ImmunizationClaim.Note] }] : undefined,
|
|
22
|
-
protocolApplied: (claims[ImmunizationClaim.Series] || claims[ImmunizationClaim.TargetDisease] || claims[ImmunizationClaim.DoseSequence]) ? [{
|
|
23
|
-
series: claims[ImmunizationClaim.Series],
|
|
24
|
-
targetDisease: claims[ImmunizationClaim.TargetDisease] ? [{ coding: codingFromValue(claims[ImmunizationClaim.TargetDisease]) }] : undefined,
|
|
25
|
-
doseNumberString: claims[ImmunizationClaim.DoseSequence],
|
|
26
|
-
}] : undefined,
|
|
27
|
-
reaction: claims[ImmunizationClaim.ReactionDate] ? [{ date: claims[ImmunizationClaim.ReactionDate] }] : undefined,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export function immunizationFhirR4ToFlat(resource) {
|
|
31
|
-
const reaction = Array.isArray(resource.reaction) ? resource.reaction[0] : undefined;
|
|
32
|
-
const protocolApplied = Array.isArray(resource.protocolApplied) ? resource.protocolApplied[0] : undefined;
|
|
33
|
-
const performer = Array.isArray(resource.performer)
|
|
34
|
-
? resource.performer.map((item) => referenceToValue(item?.actor)).filter((item) => Boolean(item))
|
|
35
|
-
: [];
|
|
36
|
-
return {
|
|
37
|
-
[ImmunizationClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
38
|
-
[ImmunizationClaim.Date]: resource.occurrenceDateTime,
|
|
39
|
-
[ImmunizationClaim.Location]: referenceToValue(resource.location),
|
|
40
|
-
[ImmunizationClaim.LotNumber]: resource.lotNumber,
|
|
41
|
-
[ImmunizationClaim.Manufacturer]: referenceToValue(resource.manufacturer),
|
|
42
|
-
[ImmunizationClaim.Patient]: referenceToValue(resource.patient),
|
|
43
|
-
[ImmunizationClaim.Performer]: performer.length ? performer.join(',') : undefined,
|
|
44
|
-
[ImmunizationClaim.ReactionDate]: reaction?.date,
|
|
45
|
-
[ImmunizationClaim.ReasonCode]: codingToValue(resource.reasonCode?.[0]?.coding?.[0]),
|
|
46
|
-
[ImmunizationClaim.ReasonReference]: referenceToValue(resource.reasonReference?.[0]),
|
|
47
|
-
[ImmunizationClaim.Series]: protocolApplied?.series,
|
|
48
|
-
[ImmunizationClaim.Status]: resource.status,
|
|
49
|
-
[ImmunizationClaim.StatusReason]: codingToValue(resource.statusReason?.coding?.[0]),
|
|
50
|
-
[ImmunizationClaim.TargetDisease]: codingToValue(protocolApplied?.targetDisease?.[0]?.coding?.[0]),
|
|
51
|
-
[ImmunizationClaim.VaccineCode]: codingToValue(resource.vaccineCode?.coding?.[0]),
|
|
52
|
-
[ImmunizationClaim.DoseSequence]: protocolApplied?.doseNumberString,
|
|
53
|
-
[ImmunizationClaim.Subject]: referenceToValue(resource.patient),
|
|
54
|
-
[ImmunizationClaim.Note]: resource.note?.[0]?.text,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-medication-statement.ts
|
|
3
|
-
import { MedicationStatementClaim } from '../models/interoperable-claims/medication-statement-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, requireClaim } from './convert-shared.js';
|
|
5
|
-
export function medicationStatementFlatToFhirR4(claims) {
|
|
6
|
-
const subject = requireClaim(claims, MedicationStatementClaim.Subject);
|
|
7
|
-
const status = requireClaim(claims, MedicationStatementClaim.Status);
|
|
8
|
-
const effectiveDateTime = claims[MedicationStatementClaim.Effective];
|
|
9
|
-
const medicationText = claims[MedicationStatementClaim.MedicationText];
|
|
10
|
-
const medicationIdentifier = claims[MedicationStatementClaim.MedicationIdentifier];
|
|
11
|
-
const medicationSerialNumber = claims[MedicationStatementClaim.MedicationSerialNumber];
|
|
12
|
-
const medicationExpirationDate = claims[MedicationStatementClaim.MedicationExpirationDate];
|
|
13
|
-
const hasContainedMedication = Boolean(medicationIdentifier) || Boolean(medicationSerialNumber) || Boolean(medicationExpirationDate) || Boolean(medicationText);
|
|
14
|
-
const containedMedicationId = 'medication-contained-1';
|
|
15
|
-
const containedMedication = hasContainedMedication ? {
|
|
16
|
-
resourceType: 'Medication',
|
|
17
|
-
id: containedMedicationId,
|
|
18
|
-
identifier: medicationIdentifier ? [{ value: medicationIdentifier }] : undefined,
|
|
19
|
-
code: medicationText ? { text: medicationText } : undefined,
|
|
20
|
-
batch: medicationSerialNumber || medicationExpirationDate ? {
|
|
21
|
-
lotNumber: medicationSerialNumber,
|
|
22
|
-
expirationDate: medicationExpirationDate,
|
|
23
|
-
} : undefined,
|
|
24
|
-
} : undefined;
|
|
25
|
-
return {
|
|
26
|
-
resourceType: 'MedicationStatement',
|
|
27
|
-
identifier: claims[MedicationStatementClaim.Identifier] ? [{ value: claims[MedicationStatementClaim.Identifier] }] : undefined,
|
|
28
|
-
status,
|
|
29
|
-
subject: { reference: subject },
|
|
30
|
-
effectiveDateTime,
|
|
31
|
-
medicationCodeableConcept: claims[MedicationStatementClaim.Code]
|
|
32
|
-
? { coding: codingFromValue(claims[MedicationStatementClaim.Code]) }
|
|
33
|
-
: (!hasContainedMedication && medicationText ? { text: medicationText } : undefined),
|
|
34
|
-
medicationReference: hasContainedMedication ? { reference: `#${containedMedicationId}` } : undefined,
|
|
35
|
-
contained: containedMedication ? [containedMedication] : undefined,
|
|
36
|
-
dosage: claims[MedicationStatementClaim.DosageInstruction] ? [{ text: claims[MedicationStatementClaim.DosageInstruction] }] : undefined,
|
|
37
|
-
note: claims[MedicationStatementClaim.Note] ? [{ text: claims[MedicationStatementClaim.Note] }] : undefined,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
export function medicationStatementFhirR4ToFlat(resource) {
|
|
41
|
-
const medicationReference = resource.medicationReference?.reference;
|
|
42
|
-
const containedResources = Array.isArray(resource.contained) ? resource.contained : [];
|
|
43
|
-
const containedMedication = medicationReference?.startsWith('#')
|
|
44
|
-
? containedResources.find((item) => item?.resourceType === 'Medication' && String(item?.id || '') === medicationReference.slice(1))
|
|
45
|
-
: containedResources.find((item) => item?.resourceType === 'Medication');
|
|
46
|
-
const containedMedicationIdentifier = containedMedication?.identifier?.[0]?.value;
|
|
47
|
-
const containedMedicationText = containedMedication?.code?.text;
|
|
48
|
-
const batch = containedMedication?.batch;
|
|
49
|
-
const medicationCode = codingToValue(resource.medicationCodeableConcept?.coding?.[0]);
|
|
50
|
-
const medicationText = containedMedicationText || resource.medicationCodeableConcept?.text || undefined;
|
|
51
|
-
return {
|
|
52
|
-
[MedicationStatementClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
53
|
-
[MedicationStatementClaim.Subject]: resource.subject?.reference,
|
|
54
|
-
[MedicationStatementClaim.Status]: resource.status,
|
|
55
|
-
[MedicationStatementClaim.Effective]: resource.effectiveDateTime,
|
|
56
|
-
[MedicationStatementClaim.Code]: medicationCode,
|
|
57
|
-
[MedicationStatementClaim.MedicationText]: medicationText,
|
|
58
|
-
[MedicationStatementClaim.Note]: resource.note?.[0]?.text,
|
|
59
|
-
[MedicationStatementClaim.DosageInstruction]: resource.dosage?.[0]?.text,
|
|
60
|
-
[MedicationStatementClaim.MedicationIdentifier]: containedMedicationIdentifier,
|
|
61
|
-
[MedicationStatementClaim.MedicationSerialNumber]: batch?.lotNumber,
|
|
62
|
-
[MedicationStatementClaim.MedicationExpirationDate]: batch?.expirationDate,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-observation.ts
|
|
3
|
-
import { ObservationClaim } from '../models/interoperable-claims/observation-claims.js';
|
|
4
|
-
import { codingFromValue, codingListToCsv, codingToValue, referenceListToCsv, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function observationFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[ObservationClaim.Subject] ?? claims[ObservationClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'Observation',
|
|
9
|
-
identifier: claims[ObservationClaim.Identifier] ? [{ value: claims[ObservationClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[ObservationClaim.Status],
|
|
11
|
-
category: claims[ObservationClaim.Category] ? claims[ObservationClaim.Category].split(',').map((value) => ({ coding: codingFromValue(value.trim()) })) : undefined,
|
|
12
|
-
code: claims[ObservationClaim.Code] ? { coding: codingFromValue(claims[ObservationClaim.Code]) } : undefined,
|
|
13
|
-
subject: subject ? { reference: subject } : undefined,
|
|
14
|
-
effectiveDateTime: claims[ObservationClaim.EffectiveDateTime] ?? claims[ObservationClaim.Date],
|
|
15
|
-
issued: claims[ObservationClaim.EffectiveDateTime] ? undefined : claims[ObservationClaim.Date],
|
|
16
|
-
performer: claims[ObservationClaim.Performer] ? claims[ObservationClaim.Performer].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
17
|
-
valueCodeableConcept: claims[ObservationClaim.ValueConcept] ? { coding: codingFromValue(claims[ObservationClaim.ValueConcept]) } : undefined,
|
|
18
|
-
valueDateTime: claims[ObservationClaim.ValueDate],
|
|
19
|
-
valueString: claims[ObservationClaim.ValueString],
|
|
20
|
-
note: claims[ObservationClaim.Note] ? [{ text: claims[ObservationClaim.Note] }] : undefined,
|
|
21
|
-
basedOn: claims[ObservationClaim.BasedOn] ? claims[ObservationClaim.BasedOn].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
22
|
-
device: claims[ObservationClaim.Device] ? { reference: claims[ObservationClaim.Device] } : undefined,
|
|
23
|
-
encounter: claims[ObservationClaim.Encounter] ? { reference: claims[ObservationClaim.Encounter] } : undefined,
|
|
24
|
-
focus: claims[ObservationClaim.Focus] ? claims[ObservationClaim.Focus].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
25
|
-
hasMember: claims[ObservationClaim.HasMember] ? claims[ObservationClaim.HasMember].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
26
|
-
method: claims[ObservationClaim.Method] ? { coding: codingFromValue(claims[ObservationClaim.Method]) } : undefined,
|
|
27
|
-
specimen: claims[ObservationClaim.Specimen] ? { reference: claims[ObservationClaim.Specimen] } : undefined,
|
|
28
|
-
component: claims[ObservationClaim.ComponentCode] ? [{ code: { coding: codingFromValue(claims[ObservationClaim.ComponentCode]) } }] : undefined,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export function observationFhirR4ToFlat(resource) {
|
|
32
|
-
const valueCodeableConcept = resource.valueCodeableConcept;
|
|
33
|
-
const component = Array.isArray(resource.component) ? resource.component[0] : undefined;
|
|
34
|
-
return {
|
|
35
|
-
[ObservationClaim.BasedOn]: referenceListToCsv(resource.basedOn),
|
|
36
|
-
[ObservationClaim.Category]: codingListToCsv(resource.category?.flatMap((item) => item.coding || [])),
|
|
37
|
-
[ObservationClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
38
|
-
[ObservationClaim.Date]: resource.effectiveDateTime || resource.issued,
|
|
39
|
-
[ObservationClaim.Device]: referenceToValue(resource.device),
|
|
40
|
-
[ObservationClaim.Encounter]: referenceToValue(resource.encounter),
|
|
41
|
-
[ObservationClaim.Focus]: referenceListToCsv(resource.focus),
|
|
42
|
-
[ObservationClaim.HasMember]: referenceListToCsv(resource.hasMember),
|
|
43
|
-
[ObservationClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
44
|
-
[ObservationClaim.Method]: codingToValue(resource.method?.coding?.[0]),
|
|
45
|
-
[ObservationClaim.Patient]: referenceToValue(resource.subject),
|
|
46
|
-
[ObservationClaim.Performer]: referenceListToCsv(resource.performer),
|
|
47
|
-
[ObservationClaim.Specimen]: referenceToValue(resource.specimen),
|
|
48
|
-
[ObservationClaim.Status]: resource.status,
|
|
49
|
-
[ObservationClaim.Subject]: referenceToValue(resource.subject),
|
|
50
|
-
[ObservationClaim.ValueConcept]: codingToValue(valueCodeableConcept?.coding?.[0]),
|
|
51
|
-
[ObservationClaim.ValueDate]: resource.valueDateTime,
|
|
52
|
-
[ObservationClaim.ValueString]: resource.valueString,
|
|
53
|
-
[ObservationClaim.ComponentCode]: codingToValue(component?.code?.coding?.[0]),
|
|
54
|
-
[ObservationClaim.Note]: resource.note?.[0]?.text,
|
|
55
|
-
[ObservationClaim.EffectiveDateTime]: resource.effectiveDateTime,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-procedure.ts
|
|
3
|
-
import { ProcedureClaim } from '../models/interoperable-claims/procedure-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceListToCsv, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function procedureFlatToFhirR4(claims) {
|
|
6
|
-
const subject = claims[ProcedureClaim.Subject] ?? claims[ProcedureClaim.Patient];
|
|
7
|
-
return {
|
|
8
|
-
resourceType: 'Procedure',
|
|
9
|
-
identifier: claims[ProcedureClaim.Identifier] ? [{ value: claims[ProcedureClaim.Identifier] }] : undefined,
|
|
10
|
-
status: claims[ProcedureClaim.Status],
|
|
11
|
-
subject: subject ? { reference: subject } : undefined,
|
|
12
|
-
code: claims[ProcedureClaim.Code] ? { coding: codingFromValue(claims[ProcedureClaim.Code]) } : undefined,
|
|
13
|
-
performedDateTime: claims[ProcedureClaim.Date],
|
|
14
|
-
note: claims[ProcedureClaim.Note] ? [{ text: claims[ProcedureClaim.Note] }] : undefined,
|
|
15
|
-
basedOn: claims[ProcedureClaim.BasedOn] ? claims[ProcedureClaim.BasedOn].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
16
|
-
bodySite: claims[ProcedureClaim.BodySite] ? [{ coding: codingFromValue(claims[ProcedureClaim.BodySite]) }] : undefined,
|
|
17
|
-
encounter: claims[ProcedureClaim.Encounter] ? { reference: claims[ProcedureClaim.Encounter] } : undefined,
|
|
18
|
-
instantiatesCanonical: claims[ProcedureClaim.InstantiatesCanonical] ? [claims[ProcedureClaim.InstantiatesCanonical]] : undefined,
|
|
19
|
-
instantiatesUri: claims[ProcedureClaim.InstantiatesUri] ? [claims[ProcedureClaim.InstantiatesUri]] : undefined,
|
|
20
|
-
location: claims[ProcedureClaim.Location] ? { reference: claims[ProcedureClaim.Location] } : undefined,
|
|
21
|
-
partOf: claims[ProcedureClaim.PartOf] ? claims[ProcedureClaim.PartOf].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
22
|
-
performer: claims[ProcedureClaim.Performer] ? claims[ProcedureClaim.Performer].split(',').map((reference) => ({ actor: { reference: reference.trim() } })) : undefined,
|
|
23
|
-
reasonCode: claims[ProcedureClaim.ReasonCode] ? [{ coding: codingFromValue(claims[ProcedureClaim.ReasonCode]) }] : undefined,
|
|
24
|
-
reasonReference: claims[ProcedureClaim.ReasonReference] ? claims[ProcedureClaim.ReasonReference].split(',').map((reference) => ({ reference: reference.trim() })) : undefined,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export function procedureFhirR4ToFlat(resource) {
|
|
28
|
-
const performer = Array.isArray(resource.performer)
|
|
29
|
-
? resource.performer.map((item) => referenceToValue(item?.actor)).filter((item) => Boolean(item))
|
|
30
|
-
: [];
|
|
31
|
-
return {
|
|
32
|
-
[ProcedureClaim.BasedOn]: referenceListToCsv(resource.basedOn),
|
|
33
|
-
[ProcedureClaim.BodySite]: codingToValue(resource.bodySite?.[0]?.coding?.[0]),
|
|
34
|
-
[ProcedureClaim.Code]: codingToValue(resource.code?.coding?.[0]),
|
|
35
|
-
[ProcedureClaim.Date]: resource.performedDateTime || resource.performedPeriod?.start,
|
|
36
|
-
[ProcedureClaim.Encounter]: referenceToValue(resource.encounter),
|
|
37
|
-
[ProcedureClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
38
|
-
[ProcedureClaim.InstantiatesCanonical]: Array.isArray(resource.instantiatesCanonical) ? resource.instantiatesCanonical[0] : undefined,
|
|
39
|
-
[ProcedureClaim.InstantiatesUri]: Array.isArray(resource.instantiatesUri) ? resource.instantiatesUri[0] : undefined,
|
|
40
|
-
[ProcedureClaim.Location]: referenceToValue(resource.location),
|
|
41
|
-
[ProcedureClaim.PartOf]: referenceListToCsv(resource.partOf),
|
|
42
|
-
[ProcedureClaim.Patient]: referenceToValue(resource.subject),
|
|
43
|
-
[ProcedureClaim.Performer]: performer.length ? performer.join(',') : undefined,
|
|
44
|
-
[ProcedureClaim.ReasonCode]: codingToValue(resource.reasonCode?.[0]?.coding?.[0]),
|
|
45
|
-
[ProcedureClaim.ReasonReference]: referenceListToCsv(resource.reasonReference),
|
|
46
|
-
[ProcedureClaim.Status]: resource.status,
|
|
47
|
-
[ProcedureClaim.Subject]: referenceToValue(resource.subject),
|
|
48
|
-
[ProcedureClaim.Note]: resource.note?.[0]?.text,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Conéctate Soluciones y Aplicaciones SL under the Apache License, Version 2.0.
|
|
2
|
-
// File: src/utils/convert-related-person.ts
|
|
3
|
-
import { RelatedPersonClaim } from '../models/interoperable-claims/related-person-claims.js';
|
|
4
|
-
import { codingFromValue, codingToValue, referenceToValue } from './convert-shared.js';
|
|
5
|
-
export function relatedPersonFlatToFhirR4(claims) {
|
|
6
|
-
return {
|
|
7
|
-
resourceType: 'RelatedPerson',
|
|
8
|
-
identifier: claims[RelatedPersonClaim.Identifier] ? [{ value: claims[RelatedPersonClaim.Identifier] }] : undefined,
|
|
9
|
-
active: claims[RelatedPersonClaim.Active] === undefined ? undefined : claims[RelatedPersonClaim.Active] === 'true',
|
|
10
|
-
patient: claims[RelatedPersonClaim.Patient] ? { reference: claims[RelatedPersonClaim.Patient] } : undefined,
|
|
11
|
-
relationship: claims[RelatedPersonClaim.Relationship] ? [{ coding: codingFromValue(claims[RelatedPersonClaim.Relationship]) }] : undefined,
|
|
12
|
-
name: claims[RelatedPersonClaim.Name] ? [{ text: claims[RelatedPersonClaim.Name] }] : undefined,
|
|
13
|
-
telecom: claims[RelatedPersonClaim.Telecom] ? [{ value: claims[RelatedPersonClaim.Telecom] }] : undefined,
|
|
14
|
-
gender: claims[RelatedPersonClaim.Gender],
|
|
15
|
-
birthDate: claims[RelatedPersonClaim.BirthDate],
|
|
16
|
-
address: claims[RelatedPersonClaim.Address] ? [{ text: claims[RelatedPersonClaim.Address] }] : undefined,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export function relatedPersonFhirR4ToFlat(resource) {
|
|
20
|
-
return {
|
|
21
|
-
[RelatedPersonClaim.Identifier]: resource.identifier?.[0]?.value,
|
|
22
|
-
[RelatedPersonClaim.Active]: resource.active === undefined ? undefined : String(resource.active),
|
|
23
|
-
[RelatedPersonClaim.Patient]: referenceToValue(resource.patient),
|
|
24
|
-
[RelatedPersonClaim.Relationship]: codingToValue(resource.relationship?.[0]?.coding?.[0]),
|
|
25
|
-
[RelatedPersonClaim.Name]: resource.name?.[0]?.text,
|
|
26
|
-
[RelatedPersonClaim.Telecom]: resource.telecom?.[0]?.value,
|
|
27
|
-
[RelatedPersonClaim.Gender]: resource.gender,
|
|
28
|
-
[RelatedPersonClaim.BirthDate]: resource.birthDate,
|
|
29
|
-
[RelatedPersonClaim.Address]: resource.address?.[0]?.text,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export type FlatClaims = Record<string, string | undefined>;
|
|
2
|
-
export type FhirResource = Record<string, unknown> & {
|
|
3
|
-
resourceType: string;
|
|
4
|
-
};
|
|
5
|
-
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
6
|
-
export declare function codingFromValue(value?: string): Array<{
|
|
7
|
-
system?: string;
|
|
8
|
-
code: string;
|
|
9
|
-
}> | undefined;
|
|
10
|
-
export declare function codingToValue(coding?: {
|
|
11
|
-
system?: string;
|
|
12
|
-
code?: string;
|
|
13
|
-
}): string | undefined;
|
|
14
|
-
export declare function referenceToValue(reference?: {
|
|
15
|
-
reference?: string;
|
|
16
|
-
}): string | undefined;
|
|
17
|
-
export declare function referenceListToCsv(references?: Array<{
|
|
18
|
-
reference?: string;
|
|
19
|
-
}>): string | undefined;
|
|
20
|
-
export declare function codingListToCsv(codings?: Array<{
|
|
21
|
-
system?: string;
|
|
22
|
-
code?: string;
|
|
23
|
-
}>): string | undefined;
|
|
24
|
-
export declare function requireClaim(claims: FlatClaims, key: string): string;
|
|
25
|
-
export declare function requireSubjectIdentifier(value: string, key: string): void;
|
|
26
|
-
export declare function requireDidWeb(value: string, key: string): void;
|
|
27
|
-
/**
|
|
28
|
-
* Generic structural fallback for unsupported resources.
|
|
29
|
-
*/
|
|
30
|
-
export declare function fhirResourceToFlatClaims(resource: FhirResource, context?: string): FlatClaims;
|
|
31
|
-
/**
|
|
32
|
-
* Generic structural regeneration for unsupported resources.
|
|
33
|
-
*/
|
|
34
|
-
export declare function flatClaimsToFhirResource(claims: FlatClaims): FhirResource;
|