@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.
@@ -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;
@@ -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,3 @@
1
+ export declare function isValidFHIRDateTime(date: any): boolean;
2
+ export declare function formatFHIRDateTime(date: any): string | undefined;
3
+ export declare function formatFHIRDate(date: any): string | undefined;
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andes/fhir",
3
- "version": "1.13.0-beta.1",
3
+ "version": "1.13.0-beta.2",
4
4
  "engines": {
5
5
  "node": ">=18.0.0"
6
6
  },