Medicamento

Um medicamento do paciente é um registro do que ele está tomando. Na plataforma ele nasce de dois jeitos, e é essa origem que decide o recurso FHIR que você vai ler:

Como o medicamento foi registradoRecurso FHIRNo Nilo Care
Anotado pela equipe, sem receitaMedicationStatementMedicamentos em uso
Prescrito numa receita emitida na plataformaMedicationRequesta receita do atendimento

Nos dois casos o nome do medicamento não está no recurso: ele vem por referência para um terceiro recurso, o Medication, que é o catálogo.

Este é um recurso só, visto de três ângulos. Um mesmo registro de medicamento sai como MedicationStatement ou como MedicationRequest — nunca os dois —, e o que decide é a presença de uma receita. O identificador é o mesmo nos dois casos, no system …/NamingSystem/hippocrates-api--medication-request.

Se a sua integração quer todos os medicamentos de um paciente, precisa consultar as duas buscas. Nenhuma delas sozinha devolve o conjunto completo.

Os três recursos são somente leitura. Não existe POST para nenhum deles — medicamentos são registrados pela equipe no Nilo Care, e o catálogo é da plataforma.

O catálogo: Medication

O Medication é mínimo: identificador, nome e uma constante.

CampoSempre presenteO que significaNo Nilo Care
resourceTypesimConstante Medication
identifiersimIdentificador Nilo do medicamento, no system …/NamingSystem/almanac-api--drug-package
code.textsimNome comercial do medicamentoNome do medicamento
statussimConstante active
id · metasimIdentificador Nilo FHIR do recurso e metadados da gravação

code vem só com text, nunca com coding. Não há código de catálogo — nem EAN, nem princípio ativo, nem laboratório. O que a API dá é o nome comercial, como ele está cadastrado.

Por causa disso, a busca por nome usa o modificador :text — veja Buscar no catálogo.

status é constante active em todo medicamento do catálogo. Não use este campo para saber se um medicamento foi descontinuado: essa informação não existe aqui.

Response
1{
2 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
3 "resource": {
4 "resourceType": "Medication",
5 "identifier": [
6 {
7 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
8 "value": "88213",
9 "use": "usual"
10 }
11 ],
12 "code": {
13 "text": "ACEBROFILINA 10MG/ML XPE 120ML"
14 },
15 "status": "active",
16 "id": "3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
17 "meta": {
18 "lastUpdated": "2025-09-30T02:11:07.443000Z",
19 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM5MA"
20 }
21 },
22 "search": {
23 "mode": "match"
24 }
25}

Medicamento em uso: MedicationStatement

É o que a equipe anota na aba Medicamentos da ficha do paciente, sem receita — na seção Medicamentos em uso enquanto está tomando, e no Histórico depois.

CampoSempre presenteO que significaNo Nilo Care
resourceTypesimConstante MedicationStatement
identifiersimIdentificador Nilo do registro
statussimactive ou completed, derivado só de está tomando hoje — veja o aviso
medicationReferencesimO medicamento, apontando para um MedicationNome do medicamento
subjectsimO paciente
contextnãoO atendimento em que foi registrado
informationSourcenãoO profissional que registrou
dateAssertedsimQuando o registro foi criado
effectivePeriodnãoInício e fim previstos do usoInício previsto · Término previsto
dosage[].textnãoA posologia, em texto livrePosologia
note[]nãoAs anotações do registroNota
id · metasimIdentificador Nilo FHIR do recurso e metadados da gravação
GET
/fhir/resources/MedicationStatement
1curl -G https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement \
2 -H "x-api-key: <apiKey>" \
3 -d _count=50 \
4 -d _lastUpdated=eq2013-01-14 \
5 --data-urlencode _page_token=Cjj3YopYuf%2F%2F%2F%2F%2BABd%2BbgE0m...dSANQAFoLCUSM7w9VYUqaEANglLWUugQ%3D \
6 --data-urlencode context:identifier=https://www.acmesaude.com.br/integracao/atendimento/|55162 \
7 --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71204 \
8 --data-urlencode medication=Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36 \
9 --data-urlencode medication:identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
10 --data-urlencode patient=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
11 --data-urlencode patient:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709 \
12 --data-urlencode source:identifier=https://www.acmesaude.com.br/integracao/profissional/|5032932 \
13 -d status=active \
14 --data-urlencode subject=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
15 --data-urlencode subject:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709
Response
1{
2 "resourceType": "Bundle",
3 "type": "searchset",
4 "entry": [
5 {
6 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
7 "resource": {
8 "resourceType": "MedicationStatement",
9 "identifier": [
10 {
11 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
12 "value": "71204",
13 "use": "usual"
14 }
15 ],
16 "status": "active",
17 "medicationReference": {
18 "identifier": {
19 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
20 "value": "88213",
21 "use": "usual"
22 },
23 "type": "Medication",
24 "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
25 },
26 "subject": {
27 "identifier": {
28 "system": "https://www.acmesaude.com.br/integracao/paciente/",
29 "value": "507823709",
30 "use": "usual"
31 },
32 "type": "Patient",
33 "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
34 },
35 "dateAsserted": "2026-03-18T11:04:22+00:00",
36 "id": "9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
37 "meta": {
38 "lastUpdated": "2026-03-18T11:04:23.117000Z",
39 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
40 },
41 "context": {
42 "identifier": {
43 "system": "https://www.acmesaude.com.br/integracao/atendimento/",
44 "value": "55162",
45 "use": "usual"
46 },
47 "type": "Encounter"
48 },
49 "informationSource": {
50 "identifier": {
51 "system": "https://www.acmesaude.com.br/integracao/profissional/",
52 "value": "5032932",
53 "use": "usual"
54 },
55 "type": "Practitioner",
56 "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
57 },
58 "effectivePeriod": {
59 "start": "2026-03-18T00:00:00+00:00"
60 },
61 "dosage": [
62 {
63 "text": "1 comprimido a cada 12 horas"
64 }
65 ],
66 "note": [
67 {
68 "text": "Paciente relatou melhora após três dias.",
69 "time": "2026-03-21T09:15:00+00:00"
70 }
71 ]
72 },
73 "search": {
74 "mode": "match"
75 }
76 }
77 ],
78 "link": []
79}

status é binário, e não reproduz as seções da tela. Ele é derivado de um único sinal — se o paciente está tomando o medicamento hoje —, enquanto a plataforma trabalha com quatro situações: em uso, previsto, interrompido e encerrado.

Consequências: um medicamento com início futuro vem completed mesmo aparecendo em Medicamentos em uso na tela; e um interrompido pode vir active mesmo estando no Histórico. Não use status para reproduzir a tela.

E o status fica para trás. Ele é regravado quando o registro do medicamento muda — não quando a posologia é encerrada ou interrompida. Um medicamento já encerrado no Nilo Care pode continuar vindo como active por tempo indeterminado.

Não trate status como sinal de encerramento. Se a sua integração precisa saber se o paciente parou de tomar, este dado não é confiável nesta API.

effectivePeriod vem de uma posologia só, e não é a vigente. Um medicamento cuja posologia foi alterada tem várias; o período exposto é o da posologia menos recentemente alterada — que pode ter terminado há meses enquanto o paciente segue tomando.

Cruzar status: active com um effectivePeriod já vencido é comum e não é inconsistência de dado: são duas coisas que não se conversam.

dosage[] traz todas as posologias registradas, da última alterada para a primeira — e a tela mostra só a vigente. Uma posologia gravada sem texto vem como "?", literalmente.

Posologia e nota não atualizam o recurso. dosage[], note[] e effectivePeriod são gravados quando o registro do medicamento muda. Alterar a posologia, interrompê-la ou acrescentar uma nota não regrava o recurso FHIR.

Na prática, o conteúdo desses três campos pode estar defasado — inclusive vazio num medicamento que já tem posologia no Nilo Care, se o registro nunca mais foi tocado depois de criado. Vale igualmente para dosageInstruction[] e note[] do medicamento prescrito.

Buscar medicamentos em uso

Response
1{
2 "resourceType": "Bundle",
3 "type": "searchset",
4 "entry": [],
5 "link": []
6}
NomeTipoDescriçãoExpressão
identifiertokenIdentificador do registro, em system|valueMedicationStatement.identifier
patient · subjectreferencePaciente, pelo id Nilo FHIR deleMedicationStatement.subject
patient:identifier · subject:identifierreferencePaciente, pelo identificador deleMedicationStatement.subject.identifier
statustokenactive ou completedMedicationStatement.status
medicationreferenceMedicamento do catálogo, pelo id Nilo FHIR deleMedicationStatement.medicationReference
medication:identifierreferenceMedicamento do catálogo, pelo identificador dele — a forma estávelMedicationStatement.medicationReference.identifier
context:identifierreferenceAtendimento, pelo identificador dele. Só a forma :identifier funcionaMedicationStatement.context.identifier
source:identifierreferenceProfissional que registrou, pelo identificador deleMedicationStatement.informationSource.identifier
_lastUpdateddateData da última gravação no store, com os prefixos eq, ge, le

Para o atendimento, use context:identifier, não context. A referência ao atendimento vem sem o campo reference — só com identifier e type —, e o parâmetro sem modificador procura justamente em reference. É a mesma situação da avaliação clínica e da conduta.

subject, informationSource e medicationReference, esses, vêm completos: as duas formas funcionam.

Os demais parâmetros canônicos do MedicationStatement existem e não encontram nada, porque a plataforma não preenche o campo correspondente: category, code, effective e part-of.

Para filtrar por medicamento, o caminho estável é medication:identifier com o identificador Nilo do Medication — busque o medicamento no catálogo por code:text, pegue o identifier e filtre por ele. O id do recurso também funciona, mas muda entre ambientes.

Medicamento prescrito: MedicationRequest

É cada item de uma receita emitida na plataforma.

CampoSempre presenteO que significaNo Nilo Care
resourceTypesimConstante MedicationRequest
identifiersimIdentificador Nilo do registro
statussimSituação da receita, não deste itema situação da receita
intentsimConstante order
medicationReferencesimO medicamento, apontando para um Medicationo medicamento da receita
subjectsimO paciente
encounternãoO atendimento em que a receita foi emitida
requesternãoO profissional que prescreveu
recordernãoRepete o requester
dosageInstruction[].textnãoA posologia, em texto livrea posologia da receita
note[]nãoAs anotações do registro
supportingInformation[]nãoAponta para o documento com a URL do PDF da receitao PDF da receita
id · metasimIdentificador Nilo FHIR do recurso e metadados da gravação
GET
/fhir/resources/MedicationRequest
1curl -G https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest \
2 -H "x-api-key: <apiKey>" \
3 -d _count=50 \
4 -d _lastUpdated=eq2013-01-14 \
5 --data-urlencode _page_token=Cjj3YopYuf%2F%2F%2F%2F%2BABd%2BbgE0m...dSANQAFoLCUSM7w9VYUqaEANglLWUugQ%3D \
6 --data-urlencode encounter:identifier=https://www.acmesaude.com.br/integracao/atendimento/|55162 \
7 --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request|71205 \
8 -d intent=order \
9 --data-urlencode medication=Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36 \
10 --data-urlencode medication:identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
11 --data-urlencode patient=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
12 --data-urlencode patient:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709 \
13 --data-urlencode requester:identifier=https://www.acmesaude.com.br/integracao/profissional/|5032932 \
14 -d status=completed \
15 --data-urlencode subject=Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4 \
16 --data-urlencode subject:identifier=https://www.acmesaude.com.br/integracao/paciente/|507823709
Response
1{
2 "resourceType": "Bundle",
3 "type": "searchset",
4 "entry": [
5 {
6 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
7 "resource": {
8 "resourceType": "MedicationRequest",
9 "identifier": [
10 {
11 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
12 "value": "71205",
13 "use": "usual"
14 }
15 ],
16 "status": "completed",
17 "intent": "order",
18 "medicationReference": {
19 "identifier": {
20 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
21 "value": "88213",
22 "use": "usual"
23 },
24 "type": "Medication",
25 "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
26 },
27 "subject": {
28 "identifier": {
29 "system": "https://www.acmesaude.com.br/integracao/paciente/",
30 "value": "507823709",
31 "use": "usual"
32 },
33 "type": "Patient",
34 "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
35 },
36 "id": "d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
37 "meta": {
38 "lastUpdated": "2026-04-02T16:20:44.905000Z",
39 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM4OA"
40 },
41 "encounter": {
42 "identifier": {
43 "system": "https://www.acmesaude.com.br/integracao/atendimento/",
44 "value": "55162",
45 "use": "usual"
46 },
47 "type": "Encounter"
48 },
49 "requester": {
50 "identifier": {
51 "system": "https://www.acmesaude.com.br/integracao/profissional/",
52 "value": "5032932",
53 "use": "usual"
54 },
55 "type": "Practitioner",
56 "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
57 },
58 "recorder": {
59 "identifier": {
60 "system": "https://www.acmesaude.com.br/integracao/profissional/",
61 "value": "5032932",
62 "use": "usual"
63 },
64 "type": "Practitioner",
65 "reference": "Practitioner/1f30c8b7-45ad-4e62-9c81-73b0e5f24a19"
66 },
67 "dosageInstruction": [
68 {
69 "text": "1 comprimido a cada 12 horas por 7 dias"
70 }
71 ],
72 "supportingInformation": [
73 {
74 "identifier": {
75 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
76 "value": "71205",
77 "use": "usual"
78 },
79 "type": "DocumentReference",
80 "reference": "DocumentReference/f0c53a81-9d47-4b62-a1e8-27b4906cd5e3"
81 }
82 ]
83 },
84 "search": {
85 "mode": "match"
86 }
87 }
88 ],
89 "link": []
90}

status é da receita, não do medicamento

ValorSituação da receita
draftEm emissão — ainda não assinada
completedEmitida
entered-in-errorA emissão falhou
unknownReservado — não ocorre hoje

Uma receita com cinco medicamentos produz cinco MedicationRequest, todos com o mesmo status. Ele não diz nada sobre este medicamento em particular — não diz se o paciente o tomou, se a prescrição foi suspensa, nem se ela ainda está válida.

E não há campo que aponte para a receita que agrupa os itens: cada MedicationRequest é independente na leitura, e o que os liga é o encounter mais o requester.

recorder traz sempre o mesmo profissional que requester. O FHIR distingue quem prescreveu de quem registrou; aqui os dois campos são a mesma pessoa.

O PDF da receita

Quando a receita tem PDF, supportingInformation[0] aponta para um DocumentReference que guarda a URL do arquivo. É preciso ler esse recurso para chegar à URL.

Esse DocumentReference carrega o mesmo identificador do medicamento prescrito, no system …/NamingSystem/hippocrates-api--medication-request — então dá para buscá-lo direto por identifier, sem precisar seguir a referência. A URL do arquivo está em content[0].attachment.url.

O DocumentReference não tem página neste guia, e a URL que ele guarda é um caminho de armazenamento, não necessariamente um link de download direto — o mesmo comportamento descrito em Arquivo do paciente.

Buscar prescrições

Response
1{
2 "resourceType": "Bundle",
3 "type": "searchset",
4 "entry": [],
5 "link": []
6}
NomeTipoDescriçãoExpressão
identifiertokenIdentificador do registro, em system|valueMedicationRequest.identifier
patient · subjectreferencePaciente, pelo id Nilo FHIR deleMedicationRequest.subject
patient:identifier · subject:identifierreferencePaciente, pelo identificador deleMedicationRequest.subject.identifier
statustokenSituação da receitaMedicationRequest.status
intenttokenAceito, e inútil: toda prescrição é orderMedicationRequest.intent
medicationreferenceMedicamento do catálogo, pelo id Nilo FHIR deleMedicationRequest.medicationReference
medication:identifierreferenceMedicamento do catálogo, pelo identificador dele — a forma estávelMedicationRequest.medicationReference.identifier
encounter:identifierreferenceAtendimento, pelo identificador dele. Só a forma :identifier funcionaMedicationRequest.encounter.identifier
requester:identifierreferenceProfissional que prescreveu, pelo identificador deleMedicationRequest.requester.identifier
_lastUpdateddateData da última gravação no store, com os prefixos eq, ge, le

Para o atendimento, use encounter:identifier, pela mesma razão do context do medicamento em uso: a referência vem sem o campo reference.

Os demais parâmetros canônicos do MedicationRequest existem e não encontram nada, porque a plataforma não preenche o campo correspondente: authoredon, category, code, date, intended-dispenser, intended-performer, intended-performertype e priority.

requester, esse, vem completo — com reference além do identifier —, e as duas formas de busca funcionam.

GET
/fhir/resources/Medication
1curl -G https://landing-zone-api.nilo.services/fhir/resources/Medication \
2 -H "x-api-key: <apiKey>" \
3 -d _count=50 \
4 -d _lastUpdated=eq2013-01-14 \
5 --data-urlencode _page_token=Cjj3YopYuf%2F%2F%2F%2F%2BABd%2BbgE0m...dSANQAFoLCUSM7w9VYUqaEANglLWUugQ%3D \
6 -d code:text=ACEBROFILINA \
7 --data-urlencode identifier=https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package|88213 \
8 -d status=active
Response
1{
2 "resourceType": "Bundle",
3 "type": "searchset",
4 "entry": [
5 {
6 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
7 "resource": {
8 "resourceType": "Medication",
9 "identifier": [
10 {
11 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
12 "value": "88213",
13 "use": "usual"
14 }
15 ],
16 "code": {
17 "text": "ACEBROFILINA 10MG/ML XPE 120ML"
18 },
19 "status": "active",
20 "id": "3a7f61c9-04d8-4e52-9b70-1de85c2a4f36",
21 "meta": {
22 "lastUpdated": "2025-09-30T02:11:07.443000Z",
23 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM5MA"
24 }
25 },
26 "search": {
27 "mode": "match"
28 }
29 }
30 ],
31 "link": []
32}
NomeTipoDescriçãoExpressão
identifiertokenIdentificador do medicamento, em system|valueMedication.identifier
code:textstringNome do medicamentoMedication.code.text
statustokenAceito, e inútil: todo medicamento é activeMedication.status
_lastUpdateddateData da última gravação no store, com os prefixos eq, ge, le

Use code:text, não code. O parâmetro code é de token e procura dentro de coding — que a Nilo não preenche. Buscar code=ACEBROFILINA não devolve nada; code:text=ACEBROFILINA devolve.

O catálogo não é filtrado por cliente. Ele é da plataforma inteira: sem code:text ou identifier, a busca percorre todos os medicamentos cadastrados, e são muitos. Pagine com _count e filtre sempre.

Os demais parâmetros canônicos do Medication existem e não encontram nada: form, ingredient, ingredient-code, lot-number, expiration-date e manufacturer. Nenhum deles é preenchido.

Ler por ID

Os três recursos têm leitura direta por id, e os três devolvem o mesmo envelope.

GET
/fhir/resources/MedicationStatement/:id
1curl https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/id \
2 -H "x-api-key: <apiKey>"

Diferente da busca, esta leitura não devolve um Bundle — mas também não devolve o recurso nu. A resposta é um envelope com fullUrl, search e resource, e o registro está em resource.

Response
1{
2 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationStatement/9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
3 "resource": {
4 "resourceType": "MedicationStatement",
5 "identifier": [
6 {
7 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
8 "value": "71204",
9 "use": "usual"
10 }
11 ],
12 "status": "active",
13 "medicationReference": {
14 "identifier": {
15 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
16 "value": "88213",
17 "use": "usual"
18 },
19 "type": "Medication",
20 "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
21 },
22 "subject": {
23 "identifier": {
24 "system": "https://www.acmesaude.com.br/integracao/paciente/",
25 "value": "507823709",
26 "use": "usual"
27 },
28 "type": "Patient",
29 "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
30 },
31 "dateAsserted": "2026-03-18T11:04:22+00:00",
32 "id": "9e21c73a-58b0-4f6d-81a4-3c07e5b92d14",
33 "meta": {
34 "lastUpdated": "2026-03-18T11:04:23.117000Z",
35 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
36 },
37 "dosage": [
38 {
39 "text": "1 comprimido a cada 12 horas"
40 }
41 ]
42 },
43 "search": {
44 "mode": "match"
45 }
46}
GET
/fhir/resources/MedicationRequest/:id
1curl https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/id \
2 -H "x-api-key: <apiKey>"
Response
1{
2 "fullUrl": "https://landing-zone-api.nilo.services/fhir/resources/MedicationRequest/d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
3 "resource": {
4 "resourceType": "MedicationRequest",
5 "identifier": [
6 {
7 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/hippocrates-api--medication-request",
8 "value": "71205",
9 "use": "usual"
10 }
11 ],
12 "status": "completed",
13 "intent": "order",
14 "medicationReference": {
15 "identifier": {
16 "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--drug-package",
17 "value": "88213",
18 "use": "usual"
19 },
20 "type": "Medication",
21 "reference": "Medication/3a7f61c9-04d8-4e52-9b70-1de85c2a4f36"
22 },
23 "subject": {
24 "identifier": {
25 "system": "https://www.acmesaude.com.br/integracao/paciente/",
26 "value": "507823709",
27 "use": "usual"
28 },
29 "type": "Patient",
30 "reference": "Patient/ba200cfa-dae0-46cf-81a0-008e3f7414b4"
31 },
32 "id": "d4b9605e-72a1-4c38-8b0f-6e921ac47d53",
33 "meta": {
34 "lastUpdated": "2026-04-02T16:20:44.905000Z",
35 "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM4OA"
36 },
37 "dosageInstruction": [
38 {
39 "text": "1 comprimido a cada 12 horas por 7 dias"
40 }
41 ]
42 },
43 "search": {
44 "mode": "match"
45 }
46}
GET
/fhir/resources/Medication/:id
1curl https://landing-zone-api.nilo.services/fhir/resources/Medication/id \
2 -H "x-api-key: <apiKey>"

Cadastrar ou atualizar

Não existe, em nenhum dos três recursos.

Um POST em qualquer um deles não é uma operação suportada e não devolve um erro de validação tratável: a chamada falha com erro inesperado do servidor (500). Não escreva tratamento em cima desse comportamento — ele não é contrato, e nada é gravado de qualquer forma.

Dentro de uma carga em lote o erro é limpo, e igualmente definitivo: a entrada é recusada com Resource … not supported.

Efeitos colaterais

Excluir um atendimento remove, junto, os medicamentos registrados nele. Os recursos correspondentes desaparecem do store sem aviso, e um id que você já leu com sucesso passa a responder 404. Se você guarda o conteúdo, guarde o conteúdo — não o id.

O que a integração não cobre

Além da escrita, vários dados que a plataforma guarda não têm campo em nenhum dos três recursos:

  • se o medicamento é de uso contínuo — um campo obrigatório na tela;
  • se a substituição por genérico é permitida;
  • quando o uso foi interrompido, por quem e por quê;
  • as interações medicamentosas que a plataforma calcula;
  • o princípio ativo, o laboratório e o código de barras do medicamento;
  • a receita que agrupa os itens prescritos, como recurso próprio.

Para os arquivos do paciente, veja Arquivo do paciente; para o atendimento em que o medicamento foi registrado, Atendimentos.