Marcas de consulta estendidas
Visão geral
Por padrão, o serviço DICOM dá suporte à consulta nas marcas DICOM especificadas na instrução de conformidade. Ao habilitar marcas de consulta estendidas, a lista de marcas pode ser facilmente expandida com base nas necessidades do aplicativo.
Usando as APIs listadas abaixo, os usuários podem indexar seus estudos, séries e instâncias DICOM em marcas DICOM padrão e privadas, de modo que possam ser especificadas em consultas QIDO-RS.
APIs
Versão: v1
Para ajudar a gerenciar as marcas com suporte em uma determinada instância de serviço DICOM, os seguintes pontos de extremidade de API foram adicionados.
API | Descrição |
---|---|
POST .../extendedquerytags | Adicionar marcas de consulta estendidas |
GET .../extendedquerytags | Listar marcas de consulta estendidas |
GET .../extendedquerytags/{tagPath} | Obter marca de consulta estendida |
DELETE .../extendedquerytags/{tagPath} | Excluir marca de consulta estendida |
PATCH .../extendedquerytags/{tagPath} | Atualizar marca de consulta estendida |
GET .../extendedquerytags/{tagPath}/errors | Listar erros de marca de consulta estendida |
GET .../operations/{operationId} | Obter Operação |
Adicionar marcas de consulta estendidas
Adiciona uma ou mais marcas de consulta estendidas e inicia uma operação de execução longa que reindexa as instâncias atuais do DICOM com as marcas especificadas.
POST .../extendedquerytags
Cabeçalho da solicitação
Nome | Obrigatório | Type | Descrição |
---|---|---|---|
Tipo de conteúdo | True | string |
application/json é compatível |
Corpo da solicitação
Nome | Obrigatório | Type | Descrição |
---|---|---|---|
body |
Marca de consulta estendida para adição[] |
Limitações
Há suporte para os seguintes tipos de VR:
VR | Descrição | Correspondência de valor único | Correspondência de intervalo | Correspondência difusa |
---|---|---|---|---|
AE | Entidade do aplicativo | X | ||
AS | Cadeia de caracteres etária | X | ||
CS | Cadeia de caracteres de código | X | ||
DA | Data | X | X | |
DS | Cadeia de caracteres decimal | X | ||
DT | Data/Hora | X | X | |
FD | Ponto Flutuante Duplo | X | ||
FL | Ponto Flutuante Único | X | ||
IS | Cadeia de caracteres de inteiro | X | ||
LO | Cadeia de caracteres longa | X | ||
PN | Nome da pessoa | X | X | |
SH | Cadeia de caracteres curta | X | ||
SL | Long assinado | X | ||
SS | Curto assinado | X | ||
TM | Hora | X | X | |
Interface do usuário | Identificador exclusivo | X | ||
UL | Long sem sinal | X | ||
EUA | Unsigned Short | X |
Observação
Atualmente, não há suporte para marcas sequenciais, que são marcas sob uma marca do tipo Sequência de Itens (SQ). Você pode adicionar até 128 marcas de consulta estendidas.
Respostas
Nome | Type | Descrição |
---|---|---|
202 (Aceito) | Referência de operação | Marcas de consulta estendidas foram adicionadas e uma operação de execução prolongada foi iniciada para reindexar instâncias existentes do DICOM |
400 (Solicitação incorreta) | O corpo da solicitação tem dados inválidos | |
409 (Conflito) | Já há suporte para uma ou mais marcas de consulta solicitadas |
Listar marcas de consulta estendidas
Listas de todas as marcas de consulta estendidas.
GET .../extendedquerytags
Respostas
Nome | Type | Descrição |
---|---|---|
200 (OK) |
Marca de Consulta Estendida[] |
Retorna marcas de consulta estendidas |
Obter marca de consulta estendida
Obter uma marca de consulta estendida.
GET .../extendedquerytags/{tagPath}
Parâmetros do URI
Nome | Em | Obrigatório | Type | Descrição |
---|---|---|---|---|
tagPath | caminho | True | string | tagPath é o caminho para a marca, que pode ser marca ou palavra-chave. Por exemplo, a ID do Paciente é representada por 00100020 ou PatientId |
Respostas
Nome | Type | Descrição |
---|---|---|
200 (OK) | Marca de Consulta Estendida | A marca de consulta estendida com o especificado tagPath |
400 (Solicitação incorreta) | O caminho da marca solicitado é inválido | |
404 (Não Encontrado) | A marca de consulta estendida com tagPath solicitada não foi encontrada |
Excluir marca de consulta estendida
Exclua uma marca de consulta estendida.
DELETE .../extendedquerytags/{tagPath}
Parâmetros do URI
Nome | Em | Obrigatório | Type | Descrição |
---|---|---|---|---|
tagPath | caminho | True | string | tagPath é o caminho para a marca, que pode ser marca ou palavra-chave. Por exemplo, a ID do Paciente é representada por 00100020 ou PatientId |
Respostas
Nome | Type | Descrição |
---|---|---|
204 (Sem Conteúdo) | A marca de consulta estendida com tagPath solicitada foi excluída com êxito. | |
400 (Solicitação incorreta) | O caminho da marca solicitado é inválido. | |
404 (Não Encontrado) | A marca de consulta estendida com tagPath solicitada não foi encontrada |
Atualizar marca de consulta estendida
Atualize uma marca de consulta estendida.
PATCH .../extendedquerytags/{tagPath}
Parâmetros do URI
Nome | Em | Obrigatório | Type | Descrição |
---|---|---|---|---|
tagPath | caminho | True | string | tagPath é o caminho para a marca, que pode ser marca ou palavra-chave. Por exemplo, a ID do Paciente é representada por 00100020 ou PatientId |
Cabeçalho da solicitação
Nome | Obrigatório | Type | Descrição |
---|---|---|---|
Tipo de conteúdo | True | string |
application/json é compatível. |
Corpo da solicitação
Nome | Obrigatório | Type | Descrição |
---|---|---|---|
body | Marca de consulta estendida para atualização |
Respostas
Nome | Type | Descrição |
---|---|---|
20 (OK) | Marca de Consulta Estendida | A marca de consulta estendida atualizada |
400 (Solicitação incorreta) | O caminho ou corpo da marca solicitado é inválido | |
404 (Não Encontrado) | A marca de consulta estendida com tagPath solicitada não foi encontrada |
Listar erros de marca de consulta estendida
Lista erros em uma marca de consulta estendida.
GET .../extendedquerytags/{tagPath}/errors
Parâmetros do URI
Nome | Em | Obrigatório | Type | Descrição |
---|---|---|---|---|
tagPath | caminho | True | string | tagPath é o caminho para a marca, que pode ser marca ou palavra-chave. Por exemplo, a ID do Paciente é representada por 00100020 ou PatientId |
Respostas
Nome | Type | Descrição |
---|---|---|
200 (OK) |
Erro de marca de consulta estendida[] |
Lista de erros de marca de consulta estendida associados à marca |
400 (Solicitação incorreta) | O caminho da marca solicitado é inválido | |
404 (Não Encontrado) | A marca de consulta estendida com tagPath solicitada não foi encontrada |
Operação Get
Obtenha uma operação de execução prolongada.
GET .../operations/{operationId}
Parâmetros do URI
Nome | Em | Obrigatório | Type | Descrição |
---|---|---|---|---|
operationId | caminho | True | string | A ID da operação |
Respostas
Nome | Type | Descrição |
---|---|---|
200 (OK) | Operação | A operação concluída para a ID especificada |
202 (Aceito) | Operação | A operação em execução para a ID especificada |
404 (Não Encontrado) | A operação não foi encontrada |
QIDO com marcas de consulta estendidas
Marca status
O Status da marca de consulta estendida indica o status atual. Quando uma marca de consulta estendida é adicionada pela primeira vez, sua status é definida Adding
como e uma operação de execução longa é iniciada para reindexar instâncias de DICOM existentes. Depois que a operação for concluída, a marca status será atualizada para Ready
. A marca de consulta estendida agora pode ser usada no QIDO.
Por exemplo, se a marca Nome do Modelo do Fabricante (0008.1090) for adicionada e, em Ready
status, as consultas a seguir poderão ser usadas para filtrar instâncias armazenadas pelo Nome do Modelo do Fabricante.
../instances?ManufacturerModelName=Microsoft
Eles também podem ser usados com marcas existentes. Por exemplo:
../instances?00081090=Microsoft&PatientName=Jo&fuzzyMatching=true
Marcar status de consulta
QueryStatus indica se a QIDO é permitida para a marca. Quando uma operação de reindexação falha ao processar uma ou mais instâncias DICOM para uma marca, o QueryStatus dessa marca é definido Disabled
como automaticamente. Você pode optar por ignorar erros de indexação e permitir que as consultas usem essa marca definindo como QueryStatus
Enabled
por meio da API Atualizar Marca de Consulta Estendida . Todas as solicitações QIDO que referenciam pelo menos uma marca habilitada manualmente incluirão o conjunto de marcas com erros de indexação no cabeçalho erroneous-dicom-attributes
de resposta .
Por exemplo, suponha que a marca PatientAge
de consulta estendida tenha tido erros durante a reindexação, mas ela foi habilitada manualmente. Para a consulta a seguir, você poderá ver PatientAge
no erroneous-dicom-attributes
cabeçalho .
../instances?PatientAge=035Y
Definições
Marca de consulta estendida
Uma marca DICOM que terá suporte para QIDO-RS.
Nome | Type | Descrição |
---|---|---|
Caminho | string | Caminho da marca, normalmente composto por ID do grupo e ID do elemento. Por exemplo, PatientId (0010.0020) tem caminho 00100020 |
VR | string | Representação de valor dessa marca |
PrivateCreator | string | Código de identificação do implementador dessa marca privada |
Nível | Nível de marca de consulta estendida | Nível de marca de consulta estendida |
Status | Status da Marca de Consulta Estendida | Status da marca de consulta estendida |
QueryStatus | Status da consulta de marca de consulta estendida | Consultar status de marca de consulta estendida |
Errors | Referência de erros de marca de consulta estendida | Referência a erros de marca de consulta estendida |
Operação | Referência de operação | Referência a uma operação de execução prolongada |
O exemplo de código 1 é uma marca padrão (0008.0070) em Ready
status.
{
"status": "Ready",
"level": "Instance",
"queryStatus": "Enabled",
"path": "00080070",
"vr": "LO"
}
O exemplo de código 2 é uma marca padrão (0010.1010) em Adding
status. Uma operação com ID 1a5d0306d9624f699929ee1a59ed57a0
está em execução e 21 erros ocorreram até agora.
{
"status": "Adding",
"level": "Study",
"errors": {
"count": 21,
"href": "https://localhost:63838/extendedquerytags/00101010/errors"
},
"operation": {
"id": "1a5d0306d9624f699929ee1a59ed57a0",
"href": "https://localhost:63838/operations/1a5d0306d9624f699929ee1a59ed57a0"
},
"queryStatus": "Disabled",
"path": "00101010",
"vr": "AS"
}
Referência de operação
Referência a uma operação de execução prolongada.
Nome | Type | Descrição |
---|---|---|
ID | string | ID da operação |
Href | string | Uri para a operação |
Operação
Representa uma operação de execução prolongada.
Nome | Type | Descrição |
---|---|---|
OperationId | string | A ID da operação |
OperationType | Tipo de operação | Tipo da operação de execução longa |
CreatedTime | string | Hora em que a operação foi criada |
LastUpdatedTime | string | Hora em que a operação foi atualizada da última vez |
Status | Status da Operação | Representa status de tempo de execução da operação |
PercentComplete | Inteiro | Percentual de trabalho que foi concluído pela operação |
Recursos | string[] |
Coleção de locais de recursos que a operação está criando ou manipulando |
O exemplo de código a seguir é uma operação de reindexação em execução.
{
"resources": [
"https://localhost:63838/extendedquerytags/00101010"
],
"operationId": "a99a8b51-78d4-4fd9-b004-b6c0bcaccf1d",
"type": "Reindex",
"createdTime": "2021-10-06T16:40:02.5247083Z",
"lastUpdatedTime": "2021-10-06T16:40:04.5152934Z",
"status": "Running",
"percentComplete": 10
}
Status da operação
Representa um tempo de execução status de operação de execução prolongada.
Nome | Type | Descrição |
---|---|---|
NotStarted | string | A operação não foi iniciada |
Executando | string | A operação está em execução e ainda não foi concluída |
Concluído | string | A operação foi concluída com êxito |
Com falha | string | A operação parou prematuramente após encontrar um ou mais erros |
Erro de marca de consulta estendida
Um erro que ocorreu durante uma operação de indexação de marca de consulta estendida.
Nome | Type | Descrição |
---|---|---|
StudyInstanceUid | string | UID da instância de estudo em que ocorreram erros de indexação |
SeriesInstanceUid | string | UID de instância de série em que ocorreram erros de indexação |
SopInstanceUid | string | UID da instância do Sop em que ocorreram erros de indexação |
CreatedTime | string | Hora em que ocorreu o erro (UTC) |
ErrorMessage | string | Mensagem de erro |
O exemplo de código a seguir contém um erro de comprimento de valor inesperado em uma instância do DICOM. Ocorreu em 2021-10-06T16:41:44.4783136.
{
"studyInstanceUid": "2.25.253658084841524753870559471415339023884",
"seriesInstanceUid": "2.25.309809095970466602239093351963447277833",
"sopInstanceUid": "2.25.225286918605419873651833906117051809629",
"createdTime": "2021-10-06T16:41:44.4783136",
"errorMessage": "Value length is not expected."
}
Referência de erros de marca de consulta estendida
Referência a erros de marca de consulta estendida.
Nome | Type | Descrição |
---|---|---|
Contagem | Inteiro | Número total de erros na marca de consulta estendida |
Href | string | URI para erros de marca de consulta estendida |
Tipo de operação
O tipo de uma operação de execução prolongada.
Nome | Type | Descrição |
---|---|---|
Reindexar | string | Uma operação reindexação que atualiza os índices para dados adicionados anteriormente com base em novas marcas |
Marca de consulta estendida status
O status da marca de consulta estendida.
Nome | Type | Descrição |
---|---|---|
Adicionando | string | A marca de consulta estendida foi adicionada e uma operação de execução longa está reindexando instâncias existentes do DICOM |
Ready | string | A marca de consulta estendida está pronta para QIDO-RS |
Excluir | string | A marca de consulta estendida está sendo excluída |
Nível de marca de consulta estendida
O nível da hierarquia de informações do DICOM em que essa marca se aplica.
Nome | Type | Descrição |
---|---|---|
Instância | string | A marca de consulta estendida é relevante no nível da instância |
Série | string | A marca de consulta estendida é relevante no nível da série |
Estudo | string | A marca de consulta estendida é relevante no nível de estudo |
Consulta de marca de consulta estendida status
A consulta status da marca de consulta estendida.
Nome | Type | Descrição |
---|---|---|
Desabilitado | string | A marca de consulta estendida não tem permissão para ser consultada |
habilitado | string | A marca de consulta estendida tem permissão para ser consultada |
Observação
Erros durante a operação reindexação desabilita o QIDO na marca de consulta estendida. Você pode chamar a API Atualizar Marca de Consulta Estendida para habilitá-la.
Marca de consulta estendida para atualização
Representa a marca de consulta estendida para atualização.
Nome | Type | Descrição |
---|---|---|
QueryStatus | Status da consulta de marca de consulta estendida | A status de consulta estendida |
Marca de consulta estendida para adição
Representa a marca de consulta estendida para adição.
Nome | Obrigatório | Type | Descrição |
---|---|---|---|
Caminho | True | string | Caminho da marca, normalmente composto pela ID do grupo e ID do elemento que é o PatientId (0010.0020) tem caminho 00100020 |
VR | string | Representação de valor dessa marca. Ele é opcional para a marca padrão e é necessário para a marca privada | |
PrivateCreator | string | Código de identificação do implementador dessa marca privada. Definido somente quando a marca é uma marca privada | |
Nível | True | Nível de marca de consulta estendida | Representa a hierarquia na qual essa marca é relevante. Deve ser um dos estudos, séries ou instâncias |
O exemplo de código 1MicrosoftPC
é definir a marca privada (0401.1001) com a SS
representação de valor no nível da instância.
{
"Path": "04011001",
"VR": "SS",
"PrivateCreator": "MicrosoftPC",
"Level": "Instance"
}
O exemplo de código 2 usa a marca padrão com palavra-chave ManufacturerModelName
com a LO
representação de valor definida no nível da série.
{
"Path": "ManufacturerModelName",
"VR": "LO",
"Level": "Series"
}
O exemplo de código 3 usa a marca padrão (0010.0040) e é definido em estudos. A representação de valor já está definida pelo padrão DICOM.
{
"Path": "00100040",
"Level": "Study"
}
Resumo
Este artigo conceitual forneceu uma visão geral do recurso Marca de Consulta Estendida no serviço DICOM.
Próximas etapas
Para obter mais informações sobre como implantar o serviço DICOM, consulte