👂Eventos
Você pode assinar eventos que são disparados pelos módulos e implementá-los conforme necessidade em sua plataforma. Hoje disponibilizamos os seguintes eventos
Quando o módulo de prescrição terminou de carregar
Para que seja possível executar os comandos e registrar os eventos, você precisa saber o momento em que o módulo terminou de carregar.
É possível escutar o evento da seguinte forma:
// evento que detecta quando o módulo (JS) está carregado
MdSinapsePrescricao.event.add('core:moduleInit',function startMemedConfigs(modulo) {
if(modulo.name === 'plataforma.prescricao') {
// ativar/desativar recursos com o comando setFeatureToggle
// definir um paciente com o comando setPaciente
// mostrar o front-end da Memed com o método show
}
});
Quando o módulo de prescrição for fechado
Ao finalizar a prescrição, o médico irá fechar o módulo e voltar para a experiência do PEP do parceiro. Esse momento pode ser capturado registrando o evento de escuta core:moduleHide
. Veja um exemplo de implementação abaixo:
MdSinapsePrescricao.event.add(
'core:moduleHide',
function moduloFechado(modulo) {
if(modulo.moduleName === 'plataforma.prescricao') {
console.log('====== Módulo fechado ======', modulo);
}
}
);
Quando a prescrição é emitida
Quando uma prescrição é emitida, enviamos o evento prescricaoImpressa
. Esse evento retorna os dados da prescrição gerada.
Veja um exemplo de implementação para escutar o evento:
MdSinapsePrescricao.event.add('core:moduleInit', function(moduleData){
if (moduleData.name === 'plataforma.prescricao') {
// O módulo da prescrição foi iniciado.
MdHub.event.add('prescricaoImpressa', function(prescriptionData) {
// No objeto "prescriptionData", é retornado as informações da prescrição gerada.
// Implementar ações, callbacks, etc.
});
}
});
{
"alterada": false,
"prescricao": {
"paciente": {
"id": 98277,
"external_id": "codigo_ou_hash_id",
"category_condition_id": null,
"benefit_member_id": null,
"nome": "José da Silva",
"nome_completo": null,
"nome_social": null,
"peso": null,
"altura": null,
"rg": null,
"cpf": "03111985628",
"data_nascimento": null,
"nome_mae": null,
"dificuldade_locomocao": false,
"nome_responsavel": null,
"email": null,
"telefone": "11956765676",
"cidade": "São Paulo",
"endereco": "Rua Jacarandá, 491 - Martim de Sá",
"accept_terms": 0,
"total": 26,
"type": "pacientes",
"_relationships": {
"allergy": [
{
"id": 517,
"patient_id": 98277,
"ingredient_id": 174,
"created_at": "2022-05-03 13:49:48",
"deleted_at": null,
"type": "patient_allergy",
"ingredient_name": "Amoxicilina",
"related": "Amoxicilina sódica"
}
]
},
"ultima": "03/05/2022 14:30:47",
"allergy": [
{
"id": 517,
"patient_id": 98277,
"ingredient_id": 174,
"created_at": "2022-05-03 13:49:48",
"deleted_at": null,
"type": "patient_allergy",
"ingredient_name": "Amoxicilina",
"related": "Amoxicilina sódica"
}
]
},
"pacienteId": null,
"screening": "{\"total\":\"0\",\"status\":\"success\",\"problems\":\"0\"}",
"additionalData": {
"header": [
{
"Registro": "2911116",
"Paciente": "Jose da Silva"
},
{
"Sexo": "Masculino",
"Estado Civil": "Solteiro",
"Data de Nasc": "17/09/1991"
},
{
"Endereço": "Rua Arthur prado, 513"
},
{
"Profissional": "Nome do medico(CRM: 33221100SP)"
}
],
"footer": "Rodapé da prescrição \n Segunda linha do rodapé",
"numeroProntuario": "123",
"atendimento": "321",
"outraInformacao": "Campo retornado após a prescrição é gerada",
"establishment": {
"name": "Clinica Memed",
"cnes": "1234"
}
},
"workplace": {
"city": "São Paulo",
"state": "SP",
"cnes": "1234",
"local_name": "Clinica Memed",
"address": "Rua Arthur Prado, 513",
"phone": "(11) 99999-9999"
},
"prescriptionDate": "03/05/2022",
"prescriptionUuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"medicamentos": [
{
"id": "w6589",
"nome": "Dipirona sódica 500mg, Comprimido",
"descricao": "Dipirona sódica 500mg",
"posologia": "<p>Tomar 1 comprimido até de 6 em 6 horas, se necessário.</p>",
"quantidade": 1,
"unit": "comprimido",
"formas_fisicas_unidades_id": 27,
"composicao": "",
"fabricante": "",
"titularidade": "—",
"controle_especial": false,
"alto_custo": false,
"quantidade_mes_1": null,
"quantidade_mes_2": null,
"quantidade_mes_3": null,
"quantidade_mes_4": null,
"quantidade_mes_5": null,
"quantidade_mes_6": null,
"anamnese": "",
"tratamento_previo": false,
"descricao_tratamento": "",
"data_solicitacao": null,
"cid_id": 0,
"receituario": "Simples",
"exames_sus_codigo": "",
"exames_tuss_codigo": "",
"tipo_exame_selecionado": "",
"catmat_codigo_br": "BR0267203",
"catmat_descricao": "DIPIRONA SÓDICA, 500 MG",
"cid_descricao": "",
"cid_numero": "",
"preco": 0,
"real_id": 66704,
"tarja": "Livre",
"tipo": "white-label",
"exames": [],
"fabricante_id": "",
"sanitized_posology": "Tomar 1 comprimido até de 6 em 6 horas, se necessário.",
"form_units": [
{
"id": 27,
"singular": "Comprimido",
"plural": "Comprimidos",
"type": "formas-fisicas-unidades"
}
],
"psp": {
"active": false,
"tagline": null,
"link": null
},
"via": null,
"receituario_id": 12,
"ean": null,
"descontinuado": false,
"status": "",
"origem": "Prescrição",
"cid": "c285",
"mostrarDescricao": false,
"subtitulo": ", Comprimido",
"titulo": "Dipirona sódica 500mg"
},
{
"id": "w82",
"nome": "Acetato de ciproterona 50mg, Comprimido",
"descricao": "Acetato de ciproterona 50mg",
"posologia": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>",
"quantidade": 1,
"unit": "comprimido",
"formas_fisicas_unidades_id": 27,
"composicao": "",
"fabricante": "",
"titularidade": "—",
"controle_especial": false,
"alto_custo": false,
"quantidade_mes_1": null,
"quantidade_mes_2": null,
"quantidade_mes_3": null,
"quantidade_mes_4": null,
"quantidade_mes_5": null,
"quantidade_mes_6": null,
"anamnese": "",
"tratamento_previo": false,
"descricao_tratamento": "",
"data_solicitacao": null,
"cid_id": 0,
"receituario": "Simples",
"exames_sus_codigo": "",
"exames_tuss_codigo": "",
"tipo_exame_selecionado": "",
"catmat_codigo_br": "BR0268077",
"catmat_descricao": "CIPROTERONA ACETATO, 50 MG",
"cid_descricao": "",
"cid_numero": "",
"preco": 0,
"real_id": 66705,
"tarja": "Vermelho",
"tipo": "white-label",
"exames": [],
"fabricante_id": "",
"sanitized_posology": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"form_units": [
{
"id": 27,
"singular": "Comprimido",
"plural": "Comprimidos",
"type": "formas-fisicas-unidades"
}
],
"psp": {
"active": false,
"tagline": null,
"link": null
},
"via": "21",
"receituario_id": 12,
"ean": null,
"descontinuado": false,
"status": "",
"origem": "Prescrição",
"cid": "c287",
"mostrarDescricao": false,
"subtitulo": ", Comprimido",
"titulo": "Acetato de ciproterona 50mg"
}
],
"reprint": false,
"prescriptionTimer": {
"hasStarted": true,
"startTime": 1651598957605
},
"clinica": {
"id": 2583,
"nome": "Clinica Memed",
"cnes": "1234",
"cnpj": null,
"endereco": null,
"type": "clinicas"
},
"id": 43106,
"medicos_id": 30945,
"prescricao_editada_id": null,
"lme": false,
"opcoes_receituario_id": 3,
"nome_medico": "MARCIO KANAMARU",
"endereco_medico": "Rua Arthur Prado, 513",
"cidade_medico": "São Paulo - SP",
"telefone_medico": "(11) 99999-9999",
"checksum": null,
"created_at": "03/05/2022 14:30:47",
"source": "",
"signed": 1,
"renew": 0,
"data": "03/05/2022",
"horario": "14:30:47",
"print_config": "{\"simple\":{\"all\":{\"print\":true,\"showDate\":true,\"copies\":{\"03\\/05\\/2022\":1},\"isSplitItems\":false}}}",
"prescriptionDateOriginal": "2022-05-03 14:30:47",
"medicos": {
"id": "m30945",
"especialidades_id": 59,
"cidades_id": 5213,
"nome_completo": "MARCIO KANAMARU",
"cns": null,
"crm": "33221100",
"uf": "SP",
"estudante": 0,
"telefone": "(11) 99999-9999",
"type": "medicos"
},
"documents": [
{
"id": 72004,
"uuid": "33c89ee4-b839-42c4-97a2-3abf5a95c6fd",
"type": "full",
"status": "saved",
"prescription_id": 43106,
"prescription_uuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"prescription_origin": null,
"prescription_item_id": null,
"signed": 1,
"signed_by": "579d657e-9562-435a-be6d-5840bb30c5c0",
"file_name": "e0e38153-293d-48b4-9b7a-dd6bd9246b41_1651599052_FULL.pdf",
"file_size": "120611",
"file_hash": "f01cb18402e1d47ff9c6567713a030af98f01b9a81d2e4c235954485ee2129c2b146deb325c580aaa588de52ca6a5d00dc8a1b725f5113a3137dceff908c41b0",
"keywords": {
"prescriptionUuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"uuid": "33c89ee4-b839-42c4-97a2-3abf5a95c6fd",
"date": "03/05/2022 14:30:47"
},
"created_at": "2022-05-03 14:30:54",
"updated_at": "2022-05-03 14:31:03",
"deleted_at": null
},
{
"id": 72005,
"uuid": "f1ee1a16-7355-45da-a3d1-4f019a3255d0",
"type": "individual",
"status": "saved",
"prescription_id": 43106,
"prescription_uuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"prescription_origin": null,
"prescription_item_id": 66704,
"signed": 1,
"signed_by": "579d657e-9562-435a-be6d-5840bb30c5c0",
"file_name": "e0e38153-293d-48b4-9b7a-dd6bd9246b41_1651599052_66704.pdf",
"file_size": null,
"file_hash": "39f02a018a0309f9ced135f26ec3f25f6fe59b58715a55b917b03af3eecdf27e4e5d863655d8632249d60451d34a224bffdfbbb4282912264bea6b845feaac00",
"keywords": {
"prescriptionUuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"uuid": "f1ee1a16-7355-45da-a3d1-4f019a3255d0",
"date": "03/05/2022 14:30:47"
},
"created_at": "2022-05-03 14:30:54",
"updated_at": "2022-05-03 14:31:03",
"deleted_at": null
},
{
"id": 72006,
"uuid": "94dd6c3b-7942-481b-8e8a-4723b6445dba",
"type": "individual",
"status": "saved",
"prescription_id": 43106,
"prescription_uuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"prescription_origin": null,
"prescription_item_id": 66705,
"signed": 1,
"signed_by": "579d657e-9562-435a-be6d-5840bb30c5c0",
"file_name": "e0e38153-293d-48b4-9b7a-dd6bd9246b41_1651599052_66705.pdf",
"file_size": null,
"file_hash": "cab6ae4fc70a4056c2c388d460df2820b9acc08966cf9fc1cbadb22e8a0d3c65a7dae0fe506975675fd8260a556c04c4754d08f3d05f3707e96d5a2bc690204c",
"keywords": {
"prescriptionUuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"uuid": "94dd6c3b-7942-481b-8e8a-4723b6445dba",
"date": "03/05/2022 14:30:47"
},
"created_at": "2022-05-03 14:30:54",
"updated_at": "2022-05-03 14:31:03",
"deleted_at": null
},
{
"id": 72007,
"uuid": "579d657e-9562-435a-be6d-5840bb30c5c0",
"type": "signature",
"status": "saved",
"prescription_id": 43106,
"prescription_uuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"prescription_origin": null,
"prescription_item_id": null,
"signed": 1,
"signed_by": "579d657e-9562-435a-be6d-5840bb30c5c0",
"file_name": "e0e38153-293d-48b4-9b7a-dd6bd9246b41_1651599052_SIGNATURE.pdf",
"file_size": "118837",
"file_hash": "2a4db7e1b55b5e5d887c5ab13c633ec2dab4dc0309d107f90ec2e507479dcfc743e5ee2b7648758acc3e33d11487e9f57622c469a8a698713cc62daee2cecf99",
"keywords": {
"prescriptionUuid": "e0e38153-293d-48b4-9b7a-dd6bd9246b41",
"uuid": "579d657e-9562-435a-be6d-5840bb30c5c0",
"date": "03/05/2022 14:30:47"
},
"created_at": "2022-05-03 14:30:54",
"updated_at": "2022-05-03 14:31:03",
"deleted_at": null
}
]
},
"reimpressao": false
}
Veja mais exemplos do prescriptionData
Quando a prescrição é excluída
Quando uma prescrição é emitida, enviamos o evento prescricaoExcluida.
Esse evento retorna os dados da prescrição gerada.
Veja um exemplo de implementação para escutar o evento:
MdSinapsePrescricao.event.add('core:moduleInit', (memedModule) => {
if (memedModule.name === 'plataforma.prescricao') {
/**
* @param {number} prescriptionId Id da prescrição excluída
*/
MdHub.event.add('prescricaoExcluida', (prescriptionId) => {
});
}
});
Quando o módulo de prescrição for fechado
Ao finalizar a prescrição, o médico irá fechar o módulo e voltar para a experiência do PEP do parceiro. Esse momento pode ser capturado registrando o evento de escuta core:moduleHide
. Veja um exemplo de implementação abaixo:
MdSinapsePrescricao.event.add('core:moduleHide', (memedModule) => {
if (memedModule.name === 'plataforma.prescricao') {
console.log('====== Módulo fechado ======', memedModule);
}
});
Também é possível capturar um prescrição através de nossa API.
Quando um medicamento for adicionado
Quando o medicamento é adicionado disparamos o evento medicamentoAdicionado
, veja no exemplo abaixo;
MdSinapsePrescricao.event.add('core:moduleInit', (memedModule) => {
if (memedModule.name === 'plataforma.prescricao') {
/**
* medicine = {
* alto_custo: false,
* composicao: 'Princípio Ativo 1 + Princípio Ativo 2',
* controle_especial: false,
* descricao: 'Ácido Ascórbico',
* fabricante: 'Sundown Vitaminas',
* forma_fisica: 'Cápsula',
* id: 'a123123123',
* nome: 'Vitamina C, comprimido (100un)',
* quantidade: 1,
* tipo: 'dermocosmético',
* }
*/
MdHub.event.add('medicamentoAdicionado', (medicine) => {});
}
});
Quando o medicamento é removido da receita
Quando o medicamento é removido da receita disparamos e evento , veja no exemplo abaixo;
MdSinapsePrescricao.event.add('core:moduleInit', function moduleInitHandler(module) {
MdHub.event.add('medicamentoRemovido', function callback(idDoMedicamento) {
console.log(idDoMedicamento);
});
});
Last updated