hvp-shared 4.3.0 → 6.0.0

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.
@@ -10,15 +10,17 @@
10
10
  */
11
11
  export declare enum UsageType {
12
12
  /** Direct sale to customer */
13
- VENTA_DIRECTA = "ventaDirecta",
13
+ DIRECT_SALE = "directSale",
14
14
  /** Optional sale (may or may not be charged) */
15
- VENTA_OPCIONAL = "ventaOpcional",
16
- /** Only used in recipes/compositions, never sold directly */
17
- SOLO_ESCANDALLOS = "soloEscandallos",
15
+ OPTIONAL_SALE = "optionalSale",
16
+ /** Auto-deducted from inventory when another item is sold (escandallos) */
17
+ AUTO_DEDUCT = "autoDeduct",
18
18
  /** Internal consumption (cleaning supplies, etc.) */
19
- CONSUMO_INTERNO = "consumoInterno",
19
+ INTERNAL_USE = "internalUse",
20
20
  /** Fixed asset (equipment, furniture) */
21
- ACTIVO_FIJO = "activoFijo"
21
+ FIXED_ASSET = "fixedAsset",
22
+ /** Not applicable (e.g., external services) */
23
+ NOT_APPLICABLE = "notApplicable"
22
24
  }
23
25
  /**
24
26
  * All UsageType values as array (for dropdowns)
@@ -14,15 +14,17 @@ exports.SYNC_STATUS_LABELS = exports.SYNC_STATUS_VALUES = exports.SyncStatus = e
14
14
  var UsageType;
15
15
  (function (UsageType) {
16
16
  /** Direct sale to customer */
17
- UsageType["VENTA_DIRECTA"] = "ventaDirecta";
17
+ UsageType["DIRECT_SALE"] = "directSale";
18
18
  /** Optional sale (may or may not be charged) */
19
- UsageType["VENTA_OPCIONAL"] = "ventaOpcional";
20
- /** Only used in recipes/compositions, never sold directly */
21
- UsageType["SOLO_ESCANDALLOS"] = "soloEscandallos";
19
+ UsageType["OPTIONAL_SALE"] = "optionalSale";
20
+ /** Auto-deducted from inventory when another item is sold (escandallos) */
21
+ UsageType["AUTO_DEDUCT"] = "autoDeduct";
22
22
  /** Internal consumption (cleaning supplies, etc.) */
23
- UsageType["CONSUMO_INTERNO"] = "consumoInterno";
23
+ UsageType["INTERNAL_USE"] = "internalUse";
24
24
  /** Fixed asset (equipment, furniture) */
25
- UsageType["ACTIVO_FIJO"] = "activoFijo";
25
+ UsageType["FIXED_ASSET"] = "fixedAsset";
26
+ /** Not applicable (e.g., external services) */
27
+ UsageType["NOT_APPLICABLE"] = "notApplicable";
26
28
  })(UsageType || (exports.UsageType = UsageType = {}));
27
29
  /**
28
30
  * All UsageType values as array (for dropdowns)
@@ -32,11 +34,12 @@ exports.USAGE_TYPE_VALUES = Object.values(UsageType);
32
34
  * UsageType labels in Spanish (for UI)
33
35
  */
34
36
  exports.USAGE_TYPE_LABELS = {
35
- [UsageType.VENTA_DIRECTA]: 'Venta Directa',
36
- [UsageType.VENTA_OPCIONAL]: 'Venta Opcional',
37
- [UsageType.SOLO_ESCANDALLOS]: 'Solo Escandallos',
38
- [UsageType.CONSUMO_INTERNO]: 'Consumo Interno',
39
- [UsageType.ACTIVO_FIJO]: 'Activo Fijo',
37
+ [UsageType.DIRECT_SALE]: 'Venta Directa',
38
+ [UsageType.OPTIONAL_SALE]: 'Venta Opcional',
39
+ [UsageType.AUTO_DEDUCT]: 'Solo Escandallos',
40
+ [UsageType.INTERNAL_USE]: 'Consumo Interno',
41
+ [UsageType.FIXED_ASSET]: 'Activo Fijo',
42
+ [UsageType.NOT_APPLICABLE]: 'No Aplica',
40
43
  };
41
44
  /**
42
45
  * ArticleType - Type of article in QVET
@@ -2,7 +2,7 @@
2
2
  * QVET Catalog
3
3
  *
4
4
  * Complete hierarchy of sections, families, and subfamilies from QVET system.
5
- * Source: QVET system export (Updated 2026-01-10)
5
+ * Source: QVET system export (Updated 2026-01-19)
6
6
  *
7
7
  * Structure: SECTION → FAMILY → SUBFAMILY[]
8
8
  * Each combination is unique and can change independently in QVET.
@@ -14,17 +14,27 @@
14
14
  * - Helpers: utils/qvet-catalog.helpers.ts
15
15
  */
16
16
  export declare const QVET_SECTIONS: {
17
+ readonly CONSUMO_INTERNO: "CONSUMO INTERNO";
17
18
  readonly EQUIPAMIENTO: "EQUIPAMIENTO";
18
19
  readonly FARMACIA: "FARMACIA";
19
20
  readonly FARMACIA_INTERNA: "FARMACIA INTERNA";
21
+ readonly INSUMOS_ESCANDALLO: "INSUMOS ESCANDALLO";
20
22
  readonly INSUMOS_MEDICOS: "INSUMOS MEDICOS";
21
23
  readonly OTROS_ARTICULOS: "OTROS ARTICULOS";
22
24
  readonly OTROS_SERVICIOS: "OTROS SERVICIOS";
23
25
  readonly SERVICIOS_EXTERNOS: "SERVICIOS EXTERNOS";
24
26
  readonly SERVICIOS_MEDICOS: "SERVICIOS MEDICOS";
25
- readonly SUMINISTROS_GENERALES: "SUMINISTROS GENERALES";
26
27
  };
27
28
  export declare const QVET_CATALOG: {
29
+ readonly "CONSUMO INTERNO": {
30
+ readonly 'BIENESTAR PACIENTES': readonly ["UNICA"];
31
+ readonly LABORATORIO: readonly ["UNICA"];
32
+ readonly LIMPIEZA: readonly ["UNICA"];
33
+ readonly 'MATERIAL CLINICO': readonly ["UNICA"];
34
+ readonly MISC: readonly ["UNICA"];
35
+ readonly OFICINA: readonly ["UNICA"];
36
+ readonly STAFF: readonly ["UNICA"];
37
+ };
28
38
  readonly EQUIPAMIENTO: {
29
39
  readonly UNICA: readonly ["UNICA"];
30
40
  };
@@ -53,24 +63,25 @@ export declare const QVET_CATALOG: {
53
63
  readonly OFTALMOLOGICOS: readonly ["UNICA"];
54
64
  readonly OTROS: readonly ["UNICA"];
55
65
  };
66
+ readonly "INSUMOS ESCANDALLO": {
67
+ readonly DIAGNOSTICO: readonly ["UNICA"];
68
+ readonly VACUNAS: readonly ["UNICA"];
69
+ };
56
70
  readonly "INSUMOS MEDICOS": {
57
- readonly AGUJAS: readonly ["UNICA"];
58
- readonly CATETERES: readonly ["UNICA"];
71
+ readonly 'ACCESO VASCULAR': readonly ["UNICA"];
72
+ readonly CIRUGIA: readonly ["UNICA"];
59
73
  readonly CURACION: readonly ["UNICA"];
74
+ readonly DIAGNOSTICO: readonly ["UNICA"];
75
+ readonly INDUMENTARIA: readonly ["UNICA"];
60
76
  readonly 'INDUMENTARIA SANITARIA': readonly ["UNICA"];
61
- readonly 'INSUMOS PARA PRUEBAS': readonly ["UNICA"];
62
- readonly JERINGAS: readonly ["UNICA"];
77
+ readonly 'JERINGAS Y AGUJAS': readonly ["UNICA"];
63
78
  readonly OFTALMOLOGIA: readonly ["UNICA"];
64
79
  readonly OTROS: readonly ["UNICA"];
80
+ readonly SOLUCIONES: readonly ["UNICA"];
65
81
  readonly SONDAS: readonly ["UNICA"];
66
- readonly 'SUEROS Y SOLUCIONES': readonly ["UNICA"];
67
82
  readonly SUTURAS: readonly ["UNICA"];
68
- readonly TESTS: readonly ["UNICA"];
69
- readonly VACUNAS: readonly ["UNICA"];
70
- readonly VENDAS: readonly ["UNICA"];
71
83
  };
72
84
  readonly "OTROS ARTICULOS": {
73
- readonly MICROCHIP: readonly ["UNICA"];
74
85
  readonly OTROS: readonly ["UNICA"];
75
86
  };
76
87
  readonly "OTROS SERVICIOS": {
@@ -83,16 +94,16 @@ export declare const QVET_CATALOG: {
83
94
  };
84
95
  readonly "SERVICIOS EXTERNOS": {
85
96
  readonly 'CONSULTAS EXTERNAS': readonly ["UNICA"];
86
- readonly INCINERACION: readonly ["INCINERACION", "SERVICIOS ADICIONALES", "URNAS Y RELICARIOS"];
87
- readonly LABORATORIO: readonly ["COPROPARASITOSCOPICO", "CULTIVOS", "CUSHING", "HEMOGRAMA", "HEMOPARASITOS", "OTROS", "PATOLOGIA CLINICA", "PERFIL HORMONAL", "PERFIL TIROIDEO", "QUIMICA SANGUINEA", "TOMOGRAFIA"];
97
+ readonly INCINERACION: readonly ["UNICA"];
98
+ readonly LABORATORIO: readonly ["UNICA"];
88
99
  readonly OTROS: readonly ["UNICA"];
89
- readonly 'PRUEBAS DE GABINETE': readonly ["ELECTROCARDIOGRAMA", "OTROS", "RADIOLOGIA", "ULTRASONIDO"];
100
+ readonly 'PRUEBAS DE GABINETE': readonly ["UNICA"];
90
101
  };
91
102
  readonly "SERVICIOS MEDICOS": {
92
103
  readonly 'ASISTENCIA QUIRURGICA': readonly ["UNICA"];
93
104
  readonly 'CERTIFICADOS DE SALUD': readonly ["UNICA"];
94
- readonly 'CIRUGIA DE TEJIDOS BLANDOS': readonly ["ABDOMEN", "CABEZA", "NEOPLASIA", "OTROS", "PERINEO", "TORAX"];
95
- readonly CONSULTA: readonly ["DOMICILIARIA", "ESPECIALIDAD", "GENERAL", "REVISION"];
105
+ readonly 'CIRUGIA DE TEJIDOS BLANDOS': readonly ["UNICA"];
106
+ readonly CONSULTA: readonly ["UNICA"];
96
107
  readonly DESPARASITACION: readonly ["UNICA"];
97
108
  readonly DIAGNOSTICO: readonly ["UNICA"];
98
109
  readonly EMERGENCIA: readonly ["UNICA"];
@@ -104,16 +115,8 @@ export declare const QVET_CATALOG: {
104
115
  readonly TRATAMIENTO: readonly ["UNICA"];
105
116
  readonly VACUNAS: readonly ["UNICA"];
106
117
  };
107
- readonly "SUMINISTROS GENERALES": {
108
- readonly ALIMENTOS: readonly ["UNICA"];
109
- readonly ETIQUETAS: readonly ["UNICA"];
110
- readonly IMPRESOS: readonly ["UNICA"];
111
- readonly LIMPIEZA: readonly ["UNICA"];
112
- readonly OTROS: readonly ["UNICA"];
113
- readonly PAPELERIA: readonly ["UNICA"];
114
- };
115
118
  };
116
119
  /**
117
120
  * All section values as array
118
121
  */
119
- export declare const QVET_SECTIONS_LIST: ("EQUIPAMIENTO" | "FARMACIA" | "FARMACIA INTERNA" | "INSUMOS MEDICOS" | "OTROS ARTICULOS" | "OTROS SERVICIOS" | "SERVICIOS EXTERNOS" | "SERVICIOS MEDICOS" | "SUMINISTROS GENERALES")[];
122
+ export declare const QVET_SECTIONS_LIST: ("CONSUMO INTERNO" | "EQUIPAMIENTO" | "FARMACIA" | "FARMACIA INTERNA" | "INSUMOS ESCANDALLO" | "INSUMOS MEDICOS" | "OTROS ARTICULOS" | "OTROS SERVICIOS" | "SERVICIOS EXTERNOS" | "SERVICIOS MEDICOS")[];
@@ -3,7 +3,7 @@
3
3
  * QVET Catalog
4
4
  *
5
5
  * Complete hierarchy of sections, families, and subfamilies from QVET system.
6
- * Source: QVET system export (Updated 2026-01-10)
6
+ * Source: QVET system export (Updated 2026-01-19)
7
7
  *
8
8
  * Structure: SECTION → FAMILY → SUBFAMILY[]
9
9
  * Each combination is unique and can change independently in QVET.
@@ -20,20 +20,30 @@ exports.QVET_SECTIONS_LIST = exports.QVET_CATALOG = exports.QVET_SECTIONS = void
20
20
  // SECTIONS (Single source of truth for section strings)
21
21
  // =============================================================================
22
22
  exports.QVET_SECTIONS = {
23
+ CONSUMO_INTERNO: 'CONSUMO INTERNO',
23
24
  EQUIPAMIENTO: 'EQUIPAMIENTO',
24
25
  FARMACIA: 'FARMACIA',
25
26
  FARMACIA_INTERNA: 'FARMACIA INTERNA',
27
+ INSUMOS_ESCANDALLO: 'INSUMOS ESCANDALLO',
26
28
  INSUMOS_MEDICOS: 'INSUMOS MEDICOS',
27
29
  OTROS_ARTICULOS: 'OTROS ARTICULOS',
28
30
  OTROS_SERVICIOS: 'OTROS SERVICIOS',
29
31
  SERVICIOS_EXTERNOS: 'SERVICIOS EXTERNOS',
30
32
  SERVICIOS_MEDICOS: 'SERVICIOS MEDICOS',
31
- SUMINISTROS_GENERALES: 'SUMINISTROS GENERALES',
32
33
  };
33
34
  // =============================================================================
34
35
  // COMPLETE CATALOG (Section → Family → Subfamilies)
35
36
  // =============================================================================
36
37
  exports.QVET_CATALOG = {
38
+ [exports.QVET_SECTIONS.CONSUMO_INTERNO]: {
39
+ 'BIENESTAR PACIENTES': ['UNICA'],
40
+ 'LABORATORIO': ['UNICA'],
41
+ 'LIMPIEZA': ['UNICA'],
42
+ 'MATERIAL CLINICO': ['UNICA'],
43
+ 'MISC': ['UNICA'],
44
+ 'OFICINA': ['UNICA'],
45
+ 'STAFF': ['UNICA'],
46
+ },
37
47
  [exports.QVET_SECTIONS.EQUIPAMIENTO]: {
38
48
  'UNICA': ['UNICA'],
39
49
  },
@@ -62,24 +72,25 @@ exports.QVET_CATALOG = {
62
72
  'OFTALMOLOGICOS': ['UNICA'],
63
73
  'OTROS': ['UNICA'],
64
74
  },
75
+ [exports.QVET_SECTIONS.INSUMOS_ESCANDALLO]: {
76
+ 'DIAGNOSTICO': ['UNICA'],
77
+ 'VACUNAS': ['UNICA'],
78
+ },
65
79
  [exports.QVET_SECTIONS.INSUMOS_MEDICOS]: {
66
- 'AGUJAS': ['UNICA'],
67
- 'CATETERES': ['UNICA'],
80
+ 'ACCESO VASCULAR': ['UNICA'],
81
+ 'CIRUGIA': ['UNICA'],
68
82
  'CURACION': ['UNICA'],
83
+ 'DIAGNOSTICO': ['UNICA'],
84
+ 'INDUMENTARIA': ['UNICA'],
69
85
  'INDUMENTARIA SANITARIA': ['UNICA'],
70
- 'INSUMOS PARA PRUEBAS': ['UNICA'],
71
- 'JERINGAS': ['UNICA'],
86
+ 'JERINGAS Y AGUJAS': ['UNICA'],
72
87
  'OFTALMOLOGIA': ['UNICA'],
73
88
  'OTROS': ['UNICA'],
89
+ 'SOLUCIONES': ['UNICA'],
74
90
  'SONDAS': ['UNICA'],
75
- 'SUEROS Y SOLUCIONES': ['UNICA'],
76
91
  'SUTURAS': ['UNICA'],
77
- 'TESTS': ['UNICA'],
78
- 'VACUNAS': ['UNICA'],
79
- 'VENDAS': ['UNICA'],
80
92
  },
81
93
  [exports.QVET_SECTIONS.OTROS_ARTICULOS]: {
82
- 'MICROCHIP': ['UNICA'],
83
94
  'OTROS': ['UNICA'],
84
95
  },
85
96
  [exports.QVET_SECTIONS.OTROS_SERVICIOS]: {
@@ -92,28 +103,16 @@ exports.QVET_CATALOG = {
92
103
  },
93
104
  [exports.QVET_SECTIONS.SERVICIOS_EXTERNOS]: {
94
105
  'CONSULTAS EXTERNAS': ['UNICA'],
95
- 'INCINERACION': ['INCINERACION', 'SERVICIOS ADICIONALES', 'URNAS Y RELICARIOS'],
96
- 'LABORATORIO': [
97
- 'COPROPARASITOSCOPICO',
98
- 'CULTIVOS',
99
- 'CUSHING',
100
- 'HEMOGRAMA',
101
- 'HEMOPARASITOS',
102
- 'OTROS',
103
- 'PATOLOGIA CLINICA',
104
- 'PERFIL HORMONAL',
105
- 'PERFIL TIROIDEO',
106
- 'QUIMICA SANGUINEA',
107
- 'TOMOGRAFIA',
108
- ],
106
+ 'INCINERACION': ['UNICA'],
107
+ 'LABORATORIO': ['UNICA'],
109
108
  'OTROS': ['UNICA'],
110
- 'PRUEBAS DE GABINETE': ['ELECTROCARDIOGRAMA', 'OTROS', 'RADIOLOGIA', 'ULTRASONIDO'],
109
+ 'PRUEBAS DE GABINETE': ['UNICA'],
111
110
  },
112
111
  [exports.QVET_SECTIONS.SERVICIOS_MEDICOS]: {
113
112
  'ASISTENCIA QUIRURGICA': ['UNICA'],
114
113
  'CERTIFICADOS DE SALUD': ['UNICA'],
115
- 'CIRUGIA DE TEJIDOS BLANDOS': ['ABDOMEN', 'CABEZA', 'NEOPLASIA', 'OTROS', 'PERINEO', 'TORAX'],
116
- 'CONSULTA': ['DOMICILIARIA', 'ESPECIALIDAD', 'GENERAL', 'REVISION'],
114
+ 'CIRUGIA DE TEJIDOS BLANDOS': ['UNICA'],
115
+ 'CONSULTA': ['UNICA'],
117
116
  'DESPARASITACION': ['UNICA'],
118
117
  'DIAGNOSTICO': ['UNICA'],
119
118
  'EMERGENCIA': ['UNICA'],
@@ -125,14 +124,6 @@ exports.QVET_CATALOG = {
125
124
  'TRATAMIENTO': ['UNICA'],
126
125
  'VACUNAS': ['UNICA'],
127
126
  },
128
- [exports.QVET_SECTIONS.SUMINISTROS_GENERALES]: {
129
- 'ALIMENTOS': ['UNICA'],
130
- 'ETIQUETAS': ['UNICA'],
131
- 'IMPRESOS': ['UNICA'],
132
- 'LIMPIEZA': ['UNICA'],
133
- 'OTROS': ['UNICA'],
134
- 'PAPELERIA': ['UNICA'],
135
- },
136
127
  };
137
128
  // =============================================================================
138
129
  // DERIVED LISTS
@@ -9,7 +9,7 @@ import { QvetSection } from '../types/qvet.types';
9
9
  * Sections that are countable for inventory (physical items, not services)
10
10
  * Excludes: OTROS SERVICIOS, SERVICIOS EXTERNOS, SERVICIOS MEDICOS
11
11
  */
12
- export declare const INVENTORY_COUNTABLE_SECTIONS: readonly ["EQUIPAMIENTO", "FARMACIA", "FARMACIA INTERNA", "INSUMOS MEDICOS", "OTROS ARTICULOS", "SUMINISTROS GENERALES"];
12
+ export declare const INVENTORY_COUNTABLE_SECTIONS: readonly ["CONSUMO INTERNO", "EQUIPAMIENTO", "FARMACIA", "FARMACIA INTERNA", "INSUMOS ESCANDALLO", "INSUMOS MEDICOS", "OTROS ARTICULOS"];
13
13
  /**
14
14
  * Set for quick lookup of countable sections
15
15
  */
@@ -16,12 +16,13 @@ const qvet_catalog_1 = require("./qvet-catalog");
16
16
  * Excludes: OTROS SERVICIOS, SERVICIOS EXTERNOS, SERVICIOS MEDICOS
17
17
  */
18
18
  exports.INVENTORY_COUNTABLE_SECTIONS = [
19
+ qvet_catalog_1.QVET_SECTIONS.CONSUMO_INTERNO,
19
20
  qvet_catalog_1.QVET_SECTIONS.EQUIPAMIENTO,
20
21
  qvet_catalog_1.QVET_SECTIONS.FARMACIA,
21
22
  qvet_catalog_1.QVET_SECTIONS.FARMACIA_INTERNA,
23
+ qvet_catalog_1.QVET_SECTIONS.INSUMOS_ESCANDALLO,
22
24
  qvet_catalog_1.QVET_SECTIONS.INSUMOS_MEDICOS,
23
25
  qvet_catalog_1.QVET_SECTIONS.OTROS_ARTICULOS,
24
- qvet_catalog_1.QVET_SECTIONS.SUMINISTROS_GENERALES,
25
26
  ];
26
27
  /**
27
28
  * Set for quick lookup of countable sections
@@ -52,5 +53,6 @@ exports.SECTIONS_REQUIRE_EXPIRATION = [
52
53
  * Specific families within sections that require expiration date tracking
53
54
  */
54
55
  exports.FAMILIES_REQUIRE_EXPIRATION = {
55
- [qvet_catalog_1.QVET_SECTIONS.INSUMOS_MEDICOS]: ['SUEROS Y SOLUCIONES', 'VACUNAS'],
56
+ [qvet_catalog_1.QVET_SECTIONS.INSUMOS_MEDICOS]: ['SOLUCIONES'],
57
+ [qvet_catalog_1.QVET_SECTIONS.INSUMOS_ESCANDALLO]: ['VACUNAS'],
56
58
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hvp-shared",
3
- "version": "4.3.0",
3
+ "version": "6.0.0",
4
4
  "description": "Shared types and utilities for HVP backend and frontend",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",