@mcpassure/mcp-anvisa-bulario 2.1.6 → 2.1.7
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/db/dataset.d.ts.map +1 -1
- package/dist/db/dataset.js +18 -15
- package/dist/db/dataset.js.map +1 -1
- package/package.json +1 -1
package/dist/db/dataset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/db/dataset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,+BAA+B,EAC/B,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/db/dataset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,+BAA+B,EAC/B,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AA0E7B,qBAAa,oBAAqB,YAAW,aAAa;IACxD,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;gBAE3B,MAAM,EAAE,MAAM;IAK1B,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgBtE,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgB1F,yBAAyB,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgBhG,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAmCxE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkB9D,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiC9D,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvB"}
|
package/dist/db/dataset.js
CHANGED
|
@@ -22,9 +22,12 @@ function inferTarja(row) {
|
|
|
22
22
|
function stripAccents(text) {
|
|
23
23
|
return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
|
|
24
24
|
}
|
|
25
|
+
// Filter clause reused in every list query — ensures returned records can be looked up
|
|
26
|
+
// by consultar_bula/listar_apresentacoes without "not found" errors.
|
|
27
|
+
const HAS_PROCESS_NUM = "(NULLIF(numero_processo,'') IS NOT NULL OR NULLIF(numero_registro,'') IS NOT NULL)";
|
|
25
28
|
function rowToResumo(row) {
|
|
26
29
|
return {
|
|
27
|
-
numProcesso: row.numero_processo || row.numero_registro ||
|
|
30
|
+
numProcesso: row.numero_processo || row.numero_registro || "",
|
|
28
31
|
nomeProduto: row.nome_produto,
|
|
29
32
|
empresa: row.empresa ?? "",
|
|
30
33
|
dataAtualizacao: row.data_finalizacao ?? undefined,
|
|
@@ -32,7 +35,7 @@ function rowToResumo(row) {
|
|
|
32
35
|
}
|
|
33
36
|
function rowToDetalhes(row) {
|
|
34
37
|
return {
|
|
35
|
-
numProcesso: row.numero_processo || row.numero_registro ||
|
|
38
|
+
numProcesso: row.numero_processo || row.numero_registro || "",
|
|
36
39
|
nomeProduto: row.nome_produto,
|
|
37
40
|
empresa: row.empresa ?? "",
|
|
38
41
|
dataAtualizacao: row.data_finalizacao ?? undefined,
|
|
@@ -56,7 +59,7 @@ export class BularioDatasetSource {
|
|
|
56
59
|
const term = `%${stripAccents(nome)}%`;
|
|
57
60
|
const rows = this.db
|
|
58
61
|
.prepare(`SELECT rowid, * FROM medicamentos
|
|
59
|
-
WHERE nome_produto LIKE ? COLLATE NOCASE
|
|
62
|
+
WHERE nome_produto LIKE ? COLLATE NOCASE AND ${HAS_PROCESS_NUM}
|
|
60
63
|
LIMIT ? OFFSET ?`)
|
|
61
64
|
.all(term, count, offset);
|
|
62
65
|
return Promise.resolve(rows.map(rowToResumo));
|
|
@@ -67,7 +70,7 @@ export class BularioDatasetSource {
|
|
|
67
70
|
const term = `%${stripAccents(principioAtivo)}%`;
|
|
68
71
|
const rows = this.db
|
|
69
72
|
.prepare(`SELECT rowid, * FROM medicamentos
|
|
70
|
-
WHERE principio_ativo LIKE ? COLLATE NOCASE
|
|
73
|
+
WHERE principio_ativo LIKE ? COLLATE NOCASE AND ${HAS_PROCESS_NUM}
|
|
71
74
|
LIMIT ? OFFSET ?`)
|
|
72
75
|
.all(term, count, offset);
|
|
73
76
|
return Promise.resolve(rows.map(rowToResumo));
|
|
@@ -78,7 +81,7 @@ export class BularioDatasetSource {
|
|
|
78
81
|
const term = `%${stripAccents(classeTerapeutica)}%`;
|
|
79
82
|
const rows = this.db
|
|
80
83
|
.prepare(`SELECT rowid, * FROM medicamentos
|
|
81
|
-
WHERE classe_terapeutica LIKE ? COLLATE NOCASE
|
|
84
|
+
WHERE classe_terapeutica LIKE ? COLLATE NOCASE AND ${HAS_PROCESS_NUM}
|
|
82
85
|
LIMIT ? OFFSET ?`)
|
|
83
86
|
.all(term, count, offset);
|
|
84
87
|
return Promise.resolve(rows.map(rowToResumo));
|
|
@@ -86,18 +89,18 @@ export class BularioDatasetSource {
|
|
|
86
89
|
searchByTarja(params) {
|
|
87
90
|
const { tarja, pagina = 1, count = 10 } = params;
|
|
88
91
|
const offset = (pagina - 1) * count;
|
|
89
|
-
// Heuristic tarja mapping — see inferTarja above
|
|
90
|
-
|
|
91
|
-
let
|
|
92
|
+
// Heuristic tarja mapping — see inferTarja above.
|
|
93
|
+
// All branches also require HAS_PROCESS_NUM so returned items work with consultar_bula.
|
|
94
|
+
let tarjaClause;
|
|
92
95
|
if (tarja === "PRETA") {
|
|
93
96
|
// Controlados: psicotrópicos, entorpecentes, controle especial
|
|
94
|
-
|
|
95
|
-
"classe_terapeutica LIKE '%PSICOTR%' OR classe_terapeutica LIKE '%ENTORP%' " +
|
|
96
|
-
"OR classe_terapeutica LIKE '%CONTROLE ESPECIAL%'";
|
|
97
|
+
tarjaClause =
|
|
98
|
+
"(classe_terapeutica LIKE '%PSICOTR%' OR classe_terapeutica LIKE '%ENTORP%' " +
|
|
99
|
+
"OR classe_terapeutica LIKE '%CONTROLE ESPECIAL%')";
|
|
97
100
|
}
|
|
98
101
|
else if (tarja === "VERMELHA") {
|
|
99
102
|
// Antimicrobianos e similares — excluindo controlados (PRETA)
|
|
100
|
-
|
|
103
|
+
tarjaClause =
|
|
101
104
|
"(classe_terapeutica LIKE '%ANTIMICROBIANO%' OR classe_terapeutica LIKE '%ANTIBI%' " +
|
|
102
105
|
"OR classe_terapeutica LIKE '%ANTI-INFECCIOSO%' OR classe_terapeutica LIKE '%ANTIVIRAIS%') " +
|
|
103
106
|
"AND classe_terapeutica NOT LIKE '%PSICOTR%' " +
|
|
@@ -106,11 +109,11 @@ export class BularioDatasetSource {
|
|
|
106
109
|
}
|
|
107
110
|
else {
|
|
108
111
|
// LIVRE — baixo risco / isentos de prescrição
|
|
109
|
-
|
|
110
|
-
"categoria_regulatoria LIKE '%BAIXO RISCO%' OR categoria_regulatoria LIKE '%ISENTO%'";
|
|
112
|
+
tarjaClause =
|
|
113
|
+
"(categoria_regulatoria LIKE '%BAIXO RISCO%' OR categoria_regulatoria LIKE '%ISENTO%')";
|
|
111
114
|
}
|
|
112
115
|
const rows = this.db
|
|
113
|
-
.prepare(`SELECT rowid, * FROM medicamentos WHERE ${
|
|
116
|
+
.prepare(`SELECT rowid, * FROM medicamentos WHERE ${tarjaClause} AND ${HAS_PROCESS_NUM} LIMIT ? OFFSET ?`)
|
|
114
117
|
.all(count, offset);
|
|
115
118
|
return Promise.resolve(rows.map(rowToResumo));
|
|
116
119
|
}
|
package/dist/db/dataset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/db/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA+BtC,iFAAiF;AAEjF,uFAAuF;AACvF,qFAAqF;AACrF,kFAAkF;AAClF,oFAAoF;AACpF,MAAM,cAAc,GAA6C;IAC/D,EAAE,OAAO,EAAE,gDAAgD,EAAE,KAAK,EAAE,OAAO,EAAE;IAC7E,EAAE,OAAO,EAAE,2CAA2C,EAAE,KAAK,EAAE,UAAU,EAAE;IAC3E,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE;CACnD,CAAC;AAEF,SAAS,UAAU,CAAC,GAAmB;IACrC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3F,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,mFAAmF;AACnF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,GAAmB;IACtC,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,IAAI,
|
|
1
|
+
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/db/dataset.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED