Informações do paciente do Trial Matcher
O Trial Matcher utiliza as informações do paciente para corresponder o paciente relevante com uma seção de elegibilidade de ensaio clínico. O Verificador de Avaliação está revisando a elegibilidade do paciente para cada ensaio clínico relevante. Você pode fornecer as informações de quatro maneiras diferentes:
- Notas clínicas não estruturadas
- Pacotes FHIR
- correspondência gradual (pergunta e resposta)
- Chave/valor JSON
Observação
Os exemplos deste artigo são baseados na versão da API: 2023-03-01-preview. Poderá haver alterações entre as versões de API. No caso de uma versão específica da API, use a referência à API REST para ver a descrição completa.
Nota clínica não estruturada
Os dados do paciente podem ser fornecidos ao Trial Matcher como uma nota clínica não estruturada. O Trial Matcher executa uma etapa anterior de reconhecimento de linguagem para analisar o texto não estruturado, recupera as informações clínicas do paciente e transforma os dados do paciente em dados estruturados.
Ao fornecer os dados do paciente em notas clínicas, utilize o valor note
para Patient.PatientDocument.type
.
Atualmente, o Trial Matcher suporta apenas uma nota clínica por paciente.
O exemplo a seguir mostra como fornecer as informações do paciente como uma nota clínica não estruturada:
{
"configuration":{
"clinicalTrials":{
"registryFilters":[
{
"conditions":[
"Cancer"
],
"sources":[
"clinicaltrials.gov"
],
"facilityLocations":[
{
"state":"IL",
"country":"United States"
}
]
}
]
},
"verbose":true,
"includeEvidence":true
},
"patients":[
{
"id":"patient_1",
"info":{
"gender":"Male",
"birthDate":"2000-03-17",
"clinicalInfo":[
{
"system":"http://www.nlm.nih.gov/research/umls",
"code":"C0006826",
"name":"MalignantNeoplasms",
"value":"true"
}
]
},
"data":[
{
"type":"Note",
"clinicalType":"Consultation",
"id":"12-consult_15",
"content":{
"sourceType":"Inline",
"value":"TITLE: Cardiology Consult\r\n DIVISION OF CARDIOLOGY\r\n COMPREHENSIVE CONSULTATION NOTE\r\nCHIEF COMPLAINT: Patient is seen in consultation today at the\r\nrequest of Dr. [**Last Name (STitle) 13959**]. We are asked to give consultative advice\r\nregarding evaluation and management of Acute CHF.\r\nHISTORY OF PRESENT ILLNESS:\r\n71 year old man with CAD w\/ diastolic dysfunction, CKD, Renal\r\nCell CA s\/p left nephrectomy, CLL, known lung masses and recent\r\nbrochial artery bleed, s\/p embolization of LLL bronchial artery\r\n[**1-17**], readmitted with hemoptysis on [**2120-2-3**] from [**Hospital 328**] [**Hospital 9250**]\r\ntransferred from BMT floor following second episode of hypoxic\r\nrespiratory failure, HTN and tachycardia in 3 days. Per report,\r\non the evening of transfer to the [**Hospital Unit Name 1**], patient continued to\r\nremain tachypnic in upper 30s and was receiving IVF NS at\r\n100cc\/hr for concern of hypovolemic hypernatremia. He also had\r\nreceived 1unit PRBCs with temp rise for 98.3 to 100.4, he was\r\ncultured at that time, and transfusion rxn work up was initiated.\r\nAt around 5:30am, he was found to be newly hypertensive with SBP\r\n>200 with a regular tachycardia to 160 with new hypoxia requiring\r\nshovel mask. He received 1mg IV ativan, 1mg morphine, lasix 40mg\r\nIV x1, and lopressor 5mg IV. ABG 7.20\/63\/61 on shovel mask. "
}
}
]
}
]
}
Pacotes FHIR
Os dados do paciente podem ser fornecidos ao Trial Matcher como um pacote FHIR. Os dados do paciente no formato de pacote FHIR podem ser recuperados de um servidor FHIR ou de um sistema EMR/EHR que fornece uma interface FHIR.
O Trial Matcher suporta perfis USCore e perfis mCode.
Ao fornecer os dados do paciente como um pacote FHIR, utilize o valor fhirBundle
para Patient.PatientDocument.type
.
O valor de fhirBundle
deve ser fornecido como referência com o conteúdo, incluindo o URI de referência.
O exemplo a seguir mostra como as fornecer informações do paciente como um Pacote FHIR:
{
"configuration": {
"clinicalTrials": {
"registryFilters": [
{
"conditions": [
"Cancer"
],
"phases": [
"phase1"
],
"sources": [
"clinicaltrials.gov"
],
"facilityLocations": [
{
"state": "CA",
"country": "United States"
}
]
}
]
},
"verbose": true,
"includeEvidence": true
},
"patients": [
{
"id": "patient_1",
"info": {
"gender": "Female",
"birthDate": "2000-03-17"
},
"data": [
{
"type": "FhirBundle",
"clinicalType": "Consultation",
"id": "Consultation-14-Demo",
"content": {
"sourceType": "Inline",
"value": "{\"resourceType\":\"Bundle\",\"id\":\"1ca45d61-eb04-4c7d-9784-05e31e03e3c6\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/4.0.1/StructureDefinition/Bundle\"]},\"identifier\":{\"system\":\"urn:ietf:rfc:3986\",\"value\":\"urn:uuid:1ca45d61-eb04-4c7d-9784-05e31e03e3c6\"},\"type\":\"document\",\"entry\":[{\"fullUrl\":\"Composition/baff5da4-0b29-4a57-906d-0e23d6d49eea\",\"resource\":{\"resourceType\":\"Composition\",\"id\":\"baff5da4-0b29-4a57-906d-0e23d6d49eea\",\"status\":\"final\",\"type\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"11488-4\",\"display\":\"Consult note\"}],\"text\":\"Consult note\"},\"subject\":{\"reference\":\"Patient/894a042e-625c-48b3-a710-759e09454897\",\"type\":\"Patient\"},\"encounter\":{\"reference\":\"Encounter/d6535404-17da-4282-82c2-2eb7b9b86a47\",\"type\":\"Encounter\",\"display\":\"unknown\"},\"date\":\"2022-08-16\",\"author\":[{\"reference\":\"Practitioner/082e9fc4-7483-4ef8-b83d-ea0733859cdc\",\"type\":\"Practitioner\",\"display\":\"Unknown\"}],\"title\":\"Consult note\",\"section\":[{\"title\":\"Chief Complaint\",\"code\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"46239-0\",\"display\":\"Reason for visit and chief complaint\"}],\"text\":\"Chief Complaint\"},\"text\":{\"div\":\"<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<h1>Chief Complaint</h1>\\r\\n\\t\\t\\t\\t\\t\\t\\t<p>\\\"swelling of tongue and difficulty breathing and swallowing\\\"</p>\\r\\n\\t\\t\\t\\t\\t</div>\"},\"entry\":[{\"reference\":\"List/a7ba1fc8-7544-4f1a-ac4e-c0430159001f\",\"type\":\"List\",\"display\":\"Chief Complaint\"}]},{\"title\":\"History of Present Illness\",\"code\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"10164-2\",\"display\":\"History of present illness\"}],\"text\":\"History of Present Illness\"},\"text\":{\"div\":\"<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<h1>History of Present Illness</h1>\\r\\n\\t\\t\\t\\t\\t\\t\\t<p>77 y o woman in NAD with a h/o CAD, DM2, asthma and HTN on altace for 8 years awoke from sleep around 2:30 am this morning of a sore throat and swelling of tongue. She came immediately to the ED b/c she was having difficulty swallowing and some trouble breathing due to obstruction caused by the swelling. She has never had a similar reaction ever before and she did not have any associated SOB, chest pain, itching, or nausea. She has not noticed any rashes, and has been afebrile. She says that she feels like it is swollen down in her esophagus as well. In the ED she was given 25mg benadryl IV, 125 mg solumedrol IV and pepcid 20 mg IV. This has helped the swelling some but her throat still hurts and it hurts to swallow. Nothing else was able to relieve the pain and nothing make it worse though she has not tried to drink any fluids because of trouble swallowing. She denies any recent travel, recent exposure to unusual plants or animals or other allergens. She has not started any new medications, has not used any new lotions or perfumes and has not eaten any unusual foods. Patient has not taken any of her oral medications today.</p>\\r\\n\\t\\t\\t\\t\\t</div>\"},\"entry\":[{\"reference\":\"List/c1c10373-6325-4339-b962-c3c114969ccd\",\"type\":\"List\",\"display\":\"History of Present Illness\"}]},{\"title\":\"Surgical History\",\"code\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"10164-2\",\"display\":\"History of present illness\"}],\"text\":\"Surgical History\"},\"text\":{\"div\":\"<div>\\r\\n\\t\\t\\t\\t\\t\\t\\t<h1>Surgical History</h1>\\r\\n\\t\\t\\t\\t\\t\\t\\t<p>s/p Cardiac stent in 1999 \\r\\ns/p hystarectomy in 1970s \\r\\ns/p kidney stone retrieval 1960s</p>\\r\\n\\t\\t\\t\\t\\t</div>\"},\"entry\":[{\"reference\":\"List/1d5dcbe4-7206-4a27-b3a8-52e4d30dacfe\",\"type\":\"List\",\"display\":\"Surgical History\"}]},{\"title\":\"Medical History\",\"code\":{\"coding\":[{\"system\":\"http://loinc.org\",\"code\":\"11348-0\",\"display\":\"Past medical
...."
}
}
]
}
]
}
Correspondência gradual
O Trial Matcher também pode ser usado com a correspondência gradual. Nesse modo, você pode enviar solicitações para o Trial Matcher de maneira gradual, usando a inteligência de conversa ou cenários semelhantes a chat.
A correspondência gradual utiliza as informações do paciente para correspondência, incluindo dados demográficos (gênero e data de nascimento) e informações clínicas estruturadas. Ao enviar informações clínicas por meio da correspondência gradual, as informações clínicas são enviadas como uma lista de clinicalCodedElements
. Cada um é expresso em um sistema de codificação clínica como um código que é estendido com valor e informações semânticos.
Conceitos diferenciadores
Outras informações clínicas são derivadas dos critérios de qualificação encontrados no subconjunto de ensaios dentro da consulta. O modelo seleciona até três conceitos mais diferenciadores, ou seja, que mais ajudam na qualificação do paciente. O modelo indica apenas conceitos que aparecem em avaliações e não sugere coletar informações que não são necessárias e não estão ajudando na qualificação.
Quando você combina possíveis pacientes qualificado com um ensaio clínico, o mesmo conceito de informações clínicas necessárias deve ser fornecido. Nesse caso, são selecionados os três conceitos mais diferenciadores para o ensaio clínico fornecido. Caso mais de um ensaio tenha sido fornecido, três conceitos para todos os ensaios clínicos fornecidos são selecionados.
Espera-se que os clientes utilizem o arquivo
UMLSConceptsMapping.json
fornecido para mapear cada conceito selecionado com o tipo de resposta esperado. Os clientes também podem usar o texto da pergunta sugerida para gerar perguntas aos usuários. O cliente também pode editar ou localizar o texto da pergunta.Ao enviar as informações do paciente de volta ao Trial Matcher, você também pode enviar um valor
null
para qualquer conceito. Enviar um valornull
para um conceito instrui o Trial Matcher a ignorar esse conceito, ignorá-lo na qualificação do paciente e, em vez disso, enviar o próximo conceito diferenciador na resposta.
Importante
Normalmente, ao usar a Correspondência gradual, a primeira solicitação ao Trial Matcher incluirá uma lista de registryFilters
com base na configuração do cliente e nas respostas do usuário (por exemplo, condição e localização). A resposta à solicitação inicial incluirá uma lista de testes ids
. Para melhorar o desempenho e reduzir a latência, a avaliação ids
deve ser usada em solicitações consecutivas diretamente (utilizando o registryFilter ids
), em vez do registryFilters
original usado.
Conceitos de categoria
Existem cinco categorias diferentes que são usadas como conceitos:
- A ID do conceito UMLS que representa um único conceito
- A ID do conceito UMLS que representa vários conceitos relacionados
- Conceitos textuais
- Tipos de entidade
- Tipos semânticos
1. A ID do conceito UMLS que representa um único conceito
Cada conceito nessa categoria é representado por uma ID UMLS exclusiva. Os tipos de resposta esperados podem ser boolianos, numéricos ou a partir de um conjunto de opções definido.
Exemplo de conceito da resposta da API neededClinicalInfo:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C1512162",
"name": "Eastern Cooperative Oncology Group"
}
Exemplo de mapeamento do conceito acima de UMLSConceptsMapping.json:
"C1512162": {
"codes": "C1512162;C1520224",
"name": "ECOG",
"choices": [ "0", "1", "2", "3", "4" ],
"question": "What is the patient's ECOG score?",
"answerType": "Choice"
}
Exemplo de valor enviado ao Trial Matcher para a categoria acima:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C1512162",
"name": "Eastern Cooperative Oncology Group",
"value": "2"
}
2. A ID do conceito UMLS que representa vários conceitos relacionados
Determinadas IDs de conceito UMLS podem representar vários conceitos relacionados, que são normalmente exibidos ao usuário como uma pergunta de múltipla escolha, como conceitos relacionados à saúde mental ou ao processo de preparo do TNM. Nessa categoria, espera-se que as respostas incluam vários códigos e valores, um para cada conceito que faz parte dos conceitos relacionados.
Exemplo de conceito da resposta da API neededClinicalInfo:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": " C0475284",
"name": "TNM tumor staging system "
}
Exemplo de mapeamento do conceito acima de UMLSConceptsMapping.json:
"C0475284": {
"codes": "C0475284",
"name": "TNM tumor staging system",
"question": "If the patient was diagnosed with cancer, what is the patient's TNM stage?",
"answerType": "MultiChoice",
"multiChoice": {
"C0475455": {
"codes": "C0475455",
"name": "T (Tumor)",
"answerType": "Choice",
"choices": [ "x", "0", "is", "1", "1a", "1b", "1c", "2", "2a", "2b", "2c", "3", "3a", "3b", "3c", "4", "4a", "4b", "4c" ]
},
"C0456532": {
"codes": "C0456532",
"name": "N (Lymph nodes)",
"answerType": "Choice",
"choices": [ "x", "0", "1", "1a", "1b", "1c", "2", "2a", "2b", "2c", "3", "3a", "3b", "3c" ]
},
"C0456533": {
"codes": "C0456533",
"name": "M (Metastases)",
"answerType": "Choice",
"choices": [ "x", "0", "1", "1a", "1b", "1c" ]
}
}
}
Exemplos de valores enviados ao Trial Matcher para a categoria acima:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0475455",
"name": "T (Tumor)",
"value": "1a"
},
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0456532",
"name": "N (Lymph nodes)",
"value": "1a"
},
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0456533",
"name": "M (Metastases)",
"value": "1"
}
3. Conceitos textuais
Conceitos textuais são conceitos nos quais o código é uma cadeia de caracteres, ao invés de um código UMLS. Os conceitos textuais são normalmente usados para identificar a morfologia da doença e as características comportamentais.
Exemplo de conceito da resposta da API neededClinicalInfo:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "NONINVASIVE",
"name": "noninvasive;non invasive"
}
Exemplo de mapeamento do conceito acima de UMLSConceptsMapping.json:
"NONINVASIVE": {
"codes": "noninvasive",
"name": "noninvasive;non invasive",
"question": "Was the patient diagnosed with a %p1% disease?",
"answerType": "Boolean"
}
Exemplo de valor enviado ao Trial Matcher para o conceito acima:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "NONINVASIVE",
"name": "noninvasive;non invasive",
"value": "true"
}
4. Tipos de entidade
Os conceitos de tipo de entidade são conceitos agrupados por tipos de entidades comuns, como medicamentos, informações genômicas e de biomarcadores.
Quando os clientes enviam conceitos de tipo de entidade para o Trial Matcher como parte das informações clínicas do paciente, os clientes devem concatenar a cadeia de caracteres de tipo de entidade com o valor, separado por ponto e vírgula.
Exemplo de conceito da resposta da API neededClinicalInfo:
{
"category": "GENEORPROTEIN-VARIANT",
"system": "http://www.nlm.nih.gov/research/umls",
"code": " C1414313",
"name": " EGFR gene ",
"value": "EntityType:GENEORPROTEIN-VARIANT"
}
Exemplo de mapeamento da categoria acima de UMLSConceptsMapping.json:
"GENEORPROTEIN-VARIANT": {
"codes": "GeneOrProtein-Variant;GeneOrProtein-MutationType",
"question": "Does the patient carry %p1% mutation/abnormality?",
"name": "GeneOrProtein-Variant",
"answerType": "Boolean"
}
Exemplo de valor enviado ao Trial Matcher para a categoria acima:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": " C1414313",
"name": "EGFR gene",
"value": "true;GENEORPROTEIN-VARIANT"
}
5. Tipos semânticos
Os conceitos de tipo semântico são outra categoria de conceitos, agrupados pelo tipo semântico de entidades. Quando os conceitos de tipo semântico são enviados pelos clientes para o Trial Matcher como parte das informações clínicas do paciente, não há necessidade de concatenar a entidade ou o tipo semântico da entidade com o valor.
Exemplo de conceito da resposta da API neededClinicalInfo:
{
"category": "DIAGNOSIS",
"semanticType": "T047",
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0014130",
"name": "Endocrine System Diseases",
"value": "EntityType:DIAGNOSIS"
}
Exemplo de mapeamento da categoria acima de UMLSConceptsMapping.json:
"DIAGNOSIS,T047": {
"name": "Diagnosis X Disease or Syndrome",
"question": "Was the patient diagnosed with %p1%?",
"answerType": "Boolean"
}
Exemplo de valor enviado ao Trial Matcher para a categoria acima:
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0014130",
"name": "Endocrine System Diseases",
"value": "false"
}
Próximas etapas
Para começar a usar o modelo Trial Matcher: