@andes/fhir 1.13.0-beta.1 → 1.13.0-beta.2
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/dist/lib/practitioner.d.ts +0 -3
- package/dist/lib/practitioner.js +28 -16
- package/dist/utils/fhirDate.d.ts +3 -0
- package/dist/utils/fhirDate.js +25 -0
- package/package.json +1 -1
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
import { Practitioner } from 'fhir/r4';
|
|
2
2
|
import { AndesPractitioner } from '../types/andes/practitioner.types';
|
|
3
|
-
/**
|
|
4
|
-
* Encode a practitioner from ANDES to FHIR
|
|
5
|
-
*/
|
|
6
3
|
export declare function encode(practitioner: AndesPractitioner | null | undefined): Practitioner | null;
|
package/dist/lib/practitioner.js
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.encode = void 0;
|
|
4
4
|
const config_1 = require("./config");
|
|
5
|
-
|
|
6
|
-
* Encode a practitioner from ANDES to FHIR
|
|
7
|
-
*/
|
|
5
|
+
const fhirDate_1 = require("../utils/fhirDate");
|
|
8
6
|
function encode(practitioner) {
|
|
9
7
|
const data = practitioner;
|
|
10
8
|
if (!data) {
|
|
@@ -86,15 +84,22 @@ function encode(practitioner) {
|
|
|
86
84
|
unaMatricula.code = {
|
|
87
85
|
coding: [{
|
|
88
86
|
system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
|
|
89
|
-
code: datosGrado.profesion.codigo,
|
|
87
|
+
code: String(datosGrado.profesion.codigo ?? ''),
|
|
90
88
|
display: datosGrado.profesion.tipoDeFormacion
|
|
91
89
|
}],
|
|
92
|
-
text: ultima.matriculaNumero
|
|
93
|
-
};
|
|
94
|
-
unaMatricula.period = {
|
|
95
|
-
start: ultima.inicio ?? null,
|
|
96
|
-
end: ultima.fin ?? null
|
|
90
|
+
text: String(ultima.matriculaNumero ?? '')
|
|
97
91
|
};
|
|
92
|
+
const start = (0, fhirDate_1.formatFHIRDateTime)(ultima.inicio);
|
|
93
|
+
const end = (0, fhirDate_1.formatFHIRDateTime)(ultima.fin);
|
|
94
|
+
if (start || end) {
|
|
95
|
+
unaMatricula.period = {};
|
|
96
|
+
if (start) {
|
|
97
|
+
unaMatricula.period.start = start;
|
|
98
|
+
}
|
|
99
|
+
if (end) {
|
|
100
|
+
unaMatricula.period.end = end;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
98
103
|
}
|
|
99
104
|
return unaMatricula;
|
|
100
105
|
});
|
|
@@ -118,15 +123,22 @@ function encode(practitioner) {
|
|
|
118
123
|
unaMatricula.code = {
|
|
119
124
|
coding: [{
|
|
120
125
|
system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
|
|
121
|
-
code: datosPosgrado.especialidad.codigo,
|
|
126
|
+
code: String(datosPosgrado.especialidad.codigo ?? ''),
|
|
122
127
|
display: datosPosgrado.especialidad.tipo
|
|
123
128
|
}],
|
|
124
|
-
text: ultima.matriculaNumero
|
|
125
|
-
};
|
|
126
|
-
unaMatricula.period = {
|
|
127
|
-
start: ultima.inicio ?? null,
|
|
128
|
-
end: ultima.fin ?? null
|
|
129
|
+
text: String(ultima.matriculaNumero ?? '')
|
|
129
130
|
};
|
|
131
|
+
const start = (0, fhirDate_1.formatFHIRDateTime)(ultima.inicio);
|
|
132
|
+
const end = (0, fhirDate_1.formatFHIRDateTime)(ultima.fin);
|
|
133
|
+
if (start || end) {
|
|
134
|
+
unaMatricula.period = {};
|
|
135
|
+
if (start) {
|
|
136
|
+
unaMatricula.period.start = start;
|
|
137
|
+
}
|
|
138
|
+
if (end) {
|
|
139
|
+
unaMatricula.period.end = end;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
130
142
|
}
|
|
131
143
|
return unaMatricula;
|
|
132
144
|
});
|
|
@@ -162,7 +174,7 @@ function encode(practitioner) {
|
|
|
162
174
|
given: data.nombre?.split(' ') ?? []
|
|
163
175
|
}],
|
|
164
176
|
gender: genero,
|
|
165
|
-
birthDate: data.fechaNacimiento,
|
|
177
|
+
birthDate: (0, fhirDate_1.formatFHIRDate)(data.fechaNacimiento),
|
|
166
178
|
};
|
|
167
179
|
if (contactos.length > 0) {
|
|
168
180
|
profesionalFHIR.telecom = contactos;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatFHIRDate = exports.formatFHIRDateTime = exports.isValidFHIRDateTime = void 0;
|
|
4
|
+
function isValidFHIRDateTime(date) {
|
|
5
|
+
if (date === null || date === undefined || date === 0 || date === '0' || date === '') {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
const d = new Date(date);
|
|
9
|
+
return !isNaN(d.getTime());
|
|
10
|
+
}
|
|
11
|
+
exports.isValidFHIRDateTime = isValidFHIRDateTime;
|
|
12
|
+
function formatFHIRDateTime(date) {
|
|
13
|
+
if (isValidFHIRDateTime(date)) {
|
|
14
|
+
return new Date(date).toISOString();
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
exports.formatFHIRDateTime = formatFHIRDateTime;
|
|
19
|
+
function formatFHIRDate(date) {
|
|
20
|
+
if (isValidFHIRDateTime(date)) {
|
|
21
|
+
return new Date(date).toISOString().split('T')[0];
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
exports.formatFHIRDate = formatFHIRDate;
|