Ir para conteúdo

POWERED BY:

alysson122010

Recuperar dados xml

Recommended Posts

Gostaria de saber como eu consigo recuperar dados do xml da seguinte forma. Tenho esse meu codigo php

 

foreach($xml -> cadastros->exame as $item_3){  
            $codigo = $item_3['codigo']; 
}

 

Que recuperar os exames desse xml:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<resultados versao="20101018" origem="aol" datahora="2021-07-22 08:25:45">
    <cadastros>
        <pacientes>
            <paciente codigo="250058718" codigo_lis="" codigo_aol="250058718" datanasc="" nome=" " sexo="M"/>
        </pacientes>
        <materiais>
            <material codigo="856" descricao="plasma citratado"/>
            <material codigo="879" descricao="sangue total EDTA"/>
            <material codigo="543" descricao="soro"/>
        </materiais>
        <exame codigo="TSH" descricao="TSH - HORMÔNIO TIREOESTIMULANTE - Ultrassensivel" dataalteracao="21/11/2019 17:37:15">
            <linhasresultado>
                <linha codigo="1240" descricao="TSH - HORMÔNIO TIREOESTIMULANTE Ultrasensivel" unidade="µUI/mL"/>
            </linhasresultado>
            <valorreferencia><![CDATA[0 a 3 dias: 1,100 a 15,700 µUI/mL
3 dias a 2 meses e 14 dias: 0,600 a 9,200 µUI/mL
2meses 14dias a 1ano 3meses:0,400 a 6,000 µUI/mL
1 ano e 3 meses a 6 anos: 0,400 a 5,200 µUI/mL
6 a 15 anos: 0,300 a 4,200 µUI/mL
15 a 60 anos: 0,400 a 4,300 µUI/mL
60 a 80 anos: 0,400 a 5,800 µUI/mL
Superior a 80 anos: 0,400 a 6,700 µUI/mL

Gestantes:
Primeiro Trimestre: 0,100 a 3,600 µUI/mL
Segundo Trimestre: 0,400 a 4,300 µUI/mL
Terceiro Trimestre: 0,400 a 4,300 µUI/mL ]]></valorreferencia>
        </exame>
        <exame codigo="LIPAS" descricao="LIPASE" dataalteracao="28/03/2019 09:23:47">
            <linhasresultado>
                <linha codigo="883" descricao="LIPASE" unidade="U/L"/>
            </linhasresultado>
            <valorreferencia><![CDATA[Inferior a 60,0 U/L]]></valorreferencia>
        </exame>
        <exame codigo="T4L" descricao="T4 - TIROXINA LIVRE" dataalteracao="16/04/2019 14:43:34">
            <linhasresultado>
                <linha codigo="1174" descricao="T4 - TIROXINA LIVRE" unidade="ng/dL"/>
            </linhasresultado>
            <valorreferencia><![CDATA[0,70 a 1,80  ng/dL]]></valorreferencia>
        </exame>
        <exame codigo="AMILA" descricao="AMILASE TOTAL" dataalteracao="16/04/2019 12:02:51">
            <linhasresultado>
                <linha codigo="83" descricao="AMILASE TOTAL" unidade="U/L"/>
            </linhasresultado>
            <valorreferencia><![CDATA[Até  115,0 U/L]]></valorreferencia>
        </exame>
        <exame codigo="FA" descricao="FOSFATASE ALCALINA" dataalteracao="15/04/2019 11:51:01">
            <linhasresultado>
                <linha codigo="542" descricao="FOSFATASE ALCALINA" unidade="U/L"/>
            </linhasresultado>
            <valorreferencia><![CDATA[0 a 14 dias: 82 a 249 U/L
15 dias a 1 ano: 122 a 473 U/L

Sexo Feminino:
Feminino 1 a 9 anos: 149 a 301 U/L
Feminino 10 a 12 anos: 127 a 326 U/L
Feminino 13 a 14 anos: 62 a 212 U/L
Feminino 15 a 16 anos: 52 a 120 U/L
Feminino 17 a 18 anos: 45 a 97 U/L
Adultos: 25 a 100 U/L

Sexo Masculino:
Masculino 1 a 9 anos: 149 a 301 U/L
Masculino 10 a 12 anos: 127 a 326 U/L
Masculino 13 a 14 anos: 129 a 437 U/L
Masculino 15 a 16 anos: 78 a 268 U/L
Masculino 17 a 18 anos: 40 a 129 U/L
Adultos: 25 a 100 U/L

Referência: Fontes R, Cavalari E, Vieira Neto L,
et al. Alkaline phosphatase: reference interval
transference from CALIPER to a pediatric Brazilian
population. J Bras Patol Med Lab. 2018; 54(4):
227-31.]]></valorreferencia>
        </exame>
        <exame codigo="HBGLI3" descricao="HEMOGLOBINA GLICADA" dataalteracao="28/06/2021 09:26:18">
            <linhasresultado>
                <linha codigo="12976" descricao="Hb SA1c - Forma estável" unidade="%"/>
                <linha codigo="16572" descricao="Glicose Média Estimada (GME)" unidade="mg/dL"/>
            </linhasresultado>
            <valorreferencia><![CDATA[
Hemoglobina Glicada - Hb SA1c
Normal: Inferior a 5.7%
Risco aumentado para Diabetes Mellitus: 5,7 a 6,4%
Diabete Mellitus: Igual ou superior a 6,5%

Para o diagnóstico de Diabetes Mellitus a dosagem 
de HbA1c deve ser confirmada com novo exame em dia
diferente,exceto se houver hiperglicemia inequívo-
ca com descompensação metabólica aguda ou sintomas
clássicos da doença.

A Associação Americana de Diabetes recomenda como 
meta para o tratamento de pacientes diabéticos re-
sultados de HbA1c iguais ou inferiores a 7%. 

Conforme recomendado pela American Diabetes Asso-
ciation(ADA) e European Association for the Study 
of Diabetes (EASD), estamos liberando cálculo da 
glicose média estimada(GME). Este cálculo é obtido
a partir do valor de HbA1c através de uma fórmula 
matemática baseada em uma relação linear entre os 
níveis de HbA1c e a glicose média sanguínea. 


Ref.
Diabetes Care, 2014; 37 (suppl 1): 81-90/Diretri-
zes da Sociedade Brasileira de Diabestes/2013-2014
:9-11.]]></valorreferencia>
        </exame>
        <exame codigo="COAG4" descricao="COAGULOGRAMA IV" dataalteracao="06/09/2019 14:27:19">
            <linhasresultado>
                <linha codigo="14811" descricao="PLAQUETAS - Contagem" unidade="/uL"/>
            </linhasresultado>
            <valorreferencia><![CDATA[Atividade de Protrombina: 70 a 100%
RNI: 0,80 a 1,20
Ratio: Inferior a 1,25
Plaquetas: 150.000 a 450.000/uL

RNI - Intervalo de Refêrencias(Alvos Terapeuticos)
Recomendações do American College of Physicians,
National Heart Lung and Blood Institute for
Haematology.]]></valorreferencia>
        </exame>
    </cadastros>
    <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718">
        <amostras>
            <amostra codigo="0" descricao="Basal" material="856"/>
            <amostra codigo="1" descricao="Basal" material="879"/>
            <amostra codigo="2" descricao="Basal" material="543"/>
        </amostras>
        <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S">
            <resultado amostra="2" linharesultado="542" resultado="51,0"/>
        </exame>
        <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S">
            <resultado amostra="1" linharesultado="12976" resultado="5,1"/>
            <resultado amostra="1" linharesultado="16572" resultado="100"/>
        </exame>
        <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="1240" resultado="2,000"/>
        </exame>
        <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="83" resultado="83,0"/>
        </exame>
        <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S">
            <resultado amostra="0" linharesultado="14811" resultado="305000"/>
        </exame>
        <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S">
            <resultado amostra="2" linharesultado="883" resultado="47,0"/>
        </exame>
        <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="1174" resultado="1,16"/>
        </exame>
    </solicitacao>
</resultados>

 

Até ai consegui e conseguir mostrar o valor de codigo="codigo do exame". Porém preciso fazer uma segunda consulta da parte :

 

 

 <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718">
        <amostras>
            <amostra codigo="0" descricao="Basal" material="856"/>
            <amostra codigo="1" descricao="Basal" material="879"/>
            <amostra codigo="2" descricao="Basal" material="543"/>
        </amostras>
        <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S">
            <resultado amostra="2" linharesultado="542" resultado="51,0"/>
        </exame>
        <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S">
            <resultado amostra="1" linharesultado="12976" resultado="5,1"/>
            <resultado amostra="1" linharesultado="16572" resultado="100"/>
        </exame>
        <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="1240" resultado="2,000"/>
        </exame>
        <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="83" resultado="83,0"/>
        </exame>
        <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S">
            <resultado amostra="0" linharesultado="14811" resultado="305000"/>
        </exame>
        <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S">
            <resultado amostra="2" linharesultado="883" resultado="47,0"/>
        </exame>
        <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S">
            <resultado amostra="2" linharesultado="1174" resultado="1,16"/>
        </exame>
    </solicitacao>

 

Onde eu consiga pegar o codigo que recuperei acima e liste os resultados da parte de solicitacao referente ao codigo="codigo do exame que eu listei a cima" mas nao to conseguindo fazer. Como eu posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por daemon
      Boa tarde,
       
      Duvida simples...
       
      Quando recupero os dados RSS, para inserir no banco de dados esta salvando corretamento porém no mysql esta com (ponto) . na frente de todos os registros via RSS.
       
      Fica com um ponto na frente outro atras...
       
      Data/hora:
      .2024-11-30 10:03:47.
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.