WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Draft as of 2024-10-30 |
@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# - resource -------------------------------------------------------------------
a fhir:Library ;
fhir:nodeRole fhir:treeRoot ;
fhir:id [ fhir:v "HIVB2DTLogic"] ; #
fhir:meta [
( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary> ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary> ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library> ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module> ] )
] ; #
fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: Library HIVB2DTLogic</b></p><a name=\"HIVB2DTLogic\"> </a><a name=\"hcHIVB2DTLogic\"> </a><a name=\"HIVB2DTLogic-en-US\"> </a><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">/**\nLibrary: HIV.B2.DT Logic\n\n@DecisionID: HIV.B2.DT\n@BusinessRule: Check for signs of serious illness\n@Trigger: HIV.B2 Check for signs of serious illness\n@Trigger: HIV.D3 Check for signs of serious illness\n@HitPolicy: Rule Order\n@Description: Check for serious illness\n\nData Concepts:\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.D.DE17: Signs of serious illness | Signs that may indicate the client has a serious illness and needs triage or an emergency referral\n * HIV.D.DE9: Body temperature | Temperature of the client in Celsius\n\nConsolidated guidelines on HIV prevention, testing, treatment, service delivery and monitoring: recommendations for a public health approach (2021) Chapter 5: Advanced HIV Disease. Figure 5.1: Algorithm for providing a package of care for people with advanced HIV disease.\n*/\n\nlibrary HIVB2DTLogic\n\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude HIVConcepts called Concepts\ninclude HIVEncounterElements called Elements\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\n\ncontext Patient\n\n /*\n @input: "Age 10 or older"\n @pseudocode: 'Age' >= 10 years\n */\ndefine "Age 10 or older":\n AgeInYearsAt(Today()) >= 10\n\n /*\n @input: "Age under 10"\n @pseudocode: 'Age' < 10 years\n */\ndefine "Age under 10":\n AgeInYearsAt(Today()) < 10\n\n/*\n @output: "Immediately take action or refer for care if a client is having this issue"\n */\ndefine "Immediately take action or refer for care if a client is having this issue":\n "Age 10 or older" and exists(\n Elements."Signs of serious illness Observation" O\n where O.value ~ Concepts."Tachycardia"\n )\n\n/*\n @output "Immediately take action or refer for care if client is showing this sign of a serious illness."\n */\ndefine "Immediately take action or refer for care if client is showing this sign of a serious illness":\n "Signs of serious illness age 10 or older" or "Signs of serious illness age under 10"\n\n/*\n @output "Use clinical judgement and consider local epidemiology to determine if symptoms suggest client is seriously ill"\n */\ndefine "Use clinical judgement and consider local epidemiology to determine if symptoms suggest client is seriously ill":\n "Signs of serious illness requiring clinical judgement age 10 or older" or "Signs of serious illness requiring clinical judgement age under 10"\n\n/*\n @dynamicValue: Guidance\n */\ndefine "Guidance":\n case \n when "Immediately take action or refer for care if a client is having this issue" \n then 'Immediately take action or refer for care if a client is having this issue.'\n when "Immediately take action or refer for care if client is showing this sign of a serious illness" and "Age 10 or older"\n then 'Immediately take action or refer for care if client is showing this sign of a serious illness.'\n when "Immediately take action or refer for care if client is showing this sign of a serious illness" and "Age under 10"\n then '''This is a sign and/or symptom of a serious health condition.\n \nImmediately take action or refer for care if client is showing this sign of a serious illness.'''\n else null\n end\n\n/*\n Supporting Logic\n*/\ndefine "Signs of serious illness age 10 or older":\n "Age 10 or older" and exists(\n Elements."Signs of serious illness Observation" O\n where\n O.value ~ Concepts."Tachypnea" or\n O.value ~ Concepts."Unable to walk unaided"\n )\n\ndefine "Signs of serious illness age under 10":\n "Age under 10" and exists(\n Elements."Signs of serious illness Observation" O\n where\n O.value ~ Concepts."Lethargy - HIV.D.DE22" or\n O.value ~ Concepts."Unconsciousness" or\n O.value ~ Concepts."Convulsions" or\n O.value ~ Concepts."Unable to breastfeed" or\n O.value ~ Concepts."Unable to drink" or\n O.value ~ Concepts."Repeated vomiting"\n )\n\ndefine "Signs of serious illness requiring clinical judgement age 10 or older":\n "Age 10 or older" and exists(\n Elements."Signs of serious illness Observation" O\n where\n O.value ~ Concepts."Fever of 39 C or greater" or\n O.value ~ Concepts."Other sign of serious illness"\n )\n\ndefine "Signs of serious illness requiring clinical judgement age under 10":\n "Age under 10" and exists(\n Elements."Signs of serious illness Observation" O\n where\n O.value ~ Concepts."Fever of 39 C or greater" or\n O.value ~ Concepts."Other sign of serious illness"\n )\n</code></pre><p><code>No Content</code> (<code>application/elm+xml</code>)</p></div>"
] ; #
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability"^^xsd:anyURI ] ;
fhir:value [ fhir:v "computable" ]
] ) ; #
fhir:url [ fhir:v "http://smart.who.int/hiv/Library/HIVB2DTLogic"^^xsd:anyURI] ; #
fhir:version [ fhir:v "0.3.0"] ; #
fhir:name [ fhir:v "HIVB2DTLogic"] ; #
fhir:title [ fhir:v "HIV.B2.DT Logic"] ; #
fhir:status [ fhir:v "draft"] ; #
fhir:experimental [ fhir:v "true"^^xsd:boolean] ; #
fhir:type [
( fhir:coding [
fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ;
fhir:code [ fhir:v "logic-library" ] ] )
] ; #
fhir:date [ fhir:v "2024-10-30T19:04:31+00:00"^^xsd:dateTime] ; #
fhir:publisher [ fhir:v "WHO"] ; #
fhir:contact ( [
fhir:name [ fhir:v "WHO" ] ;
( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://who.int" ] ] )
] ) ; #
fhir:description [ fhir:v "HIV.B2.DT Logic"] ; #
fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "LyoqCkxpYnJhcnk6IEhJVi5CMi5EVCBMb2dpYwoKQERlY2lzaW9uSUQ6IEhJVi5CMi5EVApAQnVzaW5lc3NSdWxlOiBDaGVjayBmb3Igc2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzCkBUcmlnZ2VyOiBISVYuQjIgQ2hlY2sgZm9yIHNpZ25zIG9mIHNlcmlvdXMgaWxsbmVzcwpAVHJpZ2dlcjogSElWLkQzIENoZWNrIGZvciBzaWducyBvZiBzZXJpb3VzIGlsbG5lc3MKQEhpdFBvbGljeTogUnVsZSBPcmRlcgpARGVzY3JpcHRpb246IENoZWNrIGZvciBzZXJpb3VzIGlsbG5lc3MKCkRhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuRC5ERTE3OiBTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgfCBTaWducyB0aGF0IG1heSBpbmRpY2F0ZSB0aGUgY2xpZW50IGhhcyBhIHNlcmlvdXMgaWxsbmVzcyBhbmQgbmVlZHMgdHJpYWdlIG9yIGFuIGVtZXJnZW5jeSByZWZlcnJhbAogKiBISVYuRC5ERTk6IEJvZHkgdGVtcGVyYXR1cmUgfCBUZW1wZXJhdHVyZSBvZiB0aGUgY2xpZW50IGluIENlbHNpdXMKCkNvbnNvbGlkYXRlZCBndWlkZWxpbmVzIG9uIEhJViBwcmV2ZW50aW9uLCB0ZXN0aW5nLCB0cmVhdG1lbnQsIHNlcnZpY2UgZGVsaXZlcnkgYW5kIG1vbml0b3Jpbmc6IHJlY29tbWVuZGF0aW9ucyBmb3IgYSBwdWJsaWMgaGVhbHRoIGFwcHJvYWNoICgyMDIxKSBDaGFwdGVyIDU6IEFkdmFuY2VkIEhJViBEaXNlYXNlLiBGaWd1cmUgNS4xOiBBbGdvcml0aG0gZm9yIHByb3ZpZGluZyBhIHBhY2thZ2Ugb2YgY2FyZSBmb3IgcGVvcGxlIHdpdGggYWR2YW5jZWQgSElWIGRpc2Vhc2UuCiovCgpsaWJyYXJ5IEhJVkIyRFRMb2dpYwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSElWQ29tbW9uIHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDCmluY2x1ZGUgSElWQ29uY2VwdHMgY2FsbGVkIENvbmNlcHRzCmluY2x1ZGUgSElWRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIEVsZW1lbnRzCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQoKY29udGV4dCBQYXRpZW50CgogLyoKICBAaW5wdXQ6ICJBZ2UgMTAgb3Igb2xkZXIiCiAgQHBzZXVkb2NvZGU6ICdBZ2UnID49IDEwIHllYXJzCiAgKi8KZGVmaW5lICJBZ2UgMTAgb3Igb2xkZXIiOgogIEFnZUluWWVhcnNBdChUb2RheSgpKSA+PSAxMAoKIC8qCiAgQGlucHV0OiAiQWdlIHVuZGVyIDEwIgogIEBwc2V1ZG9jb2RlOiAnQWdlJyA8IDEwIHllYXJzCiAgKi8KZGVmaW5lICJBZ2UgdW5kZXIgMTAiOgogIEFnZUluWWVhcnNBdChUb2RheSgpKSA8IDEwCgovKgogQG91dHB1dDogIkltbWVkaWF0ZWx5IHRha2UgYWN0aW9uIG9yIHJlZmVyIGZvciBjYXJlIGlmIGEgY2xpZW50IGlzIGhhdmluZyB0aGlzIGlzc3VlIgogKi8KZGVmaW5lICJJbW1lZGlhdGVseSB0YWtlIGFjdGlvbiBvciByZWZlciBmb3IgY2FyZSBpZiBhIGNsaWVudCBpcyBoYXZpbmcgdGhpcyBpc3N1ZSI6CiAgIkFnZSAxMCBvciBvbGRlciIgYW5kIGV4aXN0cygKICAgIEVsZW1lbnRzLiJTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgT2JzZXJ2YXRpb24iIE8KICAgICAgd2hlcmUgTy52YWx1ZSB+IENvbmNlcHRzLiJUYWNoeWNhcmRpYSIKICApCgovKgogQG91dHB1dCAiSW1tZWRpYXRlbHkgdGFrZSBhY3Rpb24gb3IgcmVmZXIgZm9yIGNhcmUgaWYgY2xpZW50IGlzIHNob3dpbmcgdGhpcyBzaWduIG9mIGEgc2VyaW91cyBpbGxuZXNzLiIKICovCmRlZmluZSAiSW1tZWRpYXRlbHkgdGFrZSBhY3Rpb24gb3IgcmVmZXIgZm9yIGNhcmUgaWYgY2xpZW50IGlzIHNob3dpbmcgdGhpcyBzaWduIG9mIGEgc2VyaW91cyBpbGxuZXNzIjoKICAiU2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzIGFnZSAxMCBvciBvbGRlciIgb3IgIlNpZ25zIG9mIHNlcmlvdXMgaWxsbmVzcyBhZ2UgdW5kZXIgMTAiCgovKgogQG91dHB1dCAiVXNlIGNsaW5pY2FsIGp1ZGdlbWVudCBhbmQgY29uc2lkZXIgbG9jYWwgZXBpZGVtaW9sb2d5IHRvIGRldGVybWluZSBpZiBzeW1wdG9tcyBzdWdnZXN0IGNsaWVudCBpcyBzZXJpb3VzbHkgaWxsIgogKi8KZGVmaW5lICJVc2UgY2xpbmljYWwganVkZ2VtZW50IGFuZCBjb25zaWRlciBsb2NhbCBlcGlkZW1pb2xvZ3kgdG8gZGV0ZXJtaW5lIGlmIHN5bXB0b21zIHN1Z2dlc3QgY2xpZW50IGlzIHNlcmlvdXNseSBpbGwiOgogICJTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgcmVxdWlyaW5nIGNsaW5pY2FsIGp1ZGdlbWVudCBhZ2UgMTAgb3Igb2xkZXIiIG9yICJTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgcmVxdWlyaW5nIGNsaW5pY2FsIGp1ZGdlbWVudCBhZ2UgdW5kZXIgMTAiCgovKgogQGR5bmFtaWNWYWx1ZTogR3VpZGFuY2UKICovCmRlZmluZSAiR3VpZGFuY2UiOgogIGNhc2UgCiAgd2hlbiAiSW1tZWRpYXRlbHkgdGFrZSBhY3Rpb24gb3IgcmVmZXIgZm9yIGNhcmUgaWYgYSBjbGllbnQgaXMgaGF2aW5nIHRoaXMgaXNzdWUiIAogICAgdGhlbiAnSW1tZWRpYXRlbHkgdGFrZSBhY3Rpb24gb3IgcmVmZXIgZm9yIGNhcmUgaWYgYSBjbGllbnQgaXMgaGF2aW5nIHRoaXMgaXNzdWUuJwogIHdoZW4gIkltbWVkaWF0ZWx5IHRha2UgYWN0aW9uIG9yIHJlZmVyIGZvciBjYXJlIGlmIGNsaWVudCBpcyBzaG93aW5nIHRoaXMgc2lnbiBvZiBhIHNlcmlvdXMgaWxsbmVzcyIgYW5kICJBZ2UgMTAgb3Igb2xkZXIiCiAgICB0aGVuICdJbW1lZGlhdGVseSB0YWtlIGFjdGlvbiBvciByZWZlciBmb3IgY2FyZSBpZiBjbGllbnQgaXMgc2hvd2luZyB0aGlzIHNpZ24gb2YgYSBzZXJpb3VzIGlsbG5lc3MuJwogIHdoZW4gIkltbWVkaWF0ZWx5IHRha2UgYWN0aW9uIG9yIHJlZmVyIGZvciBjYXJlIGlmIGNsaWVudCBpcyBzaG93aW5nIHRoaXMgc2lnbiBvZiBhIHNlcmlvdXMgaWxsbmVzcyIgYW5kICJBZ2UgdW5kZXIgMTAiCiAgICB0aGVuICcnJ1RoaXMgaXMgYSBzaWduIGFuZC9vciBzeW1wdG9tIG9mIGEgc2VyaW91cyBoZWFsdGggY29uZGl0aW9uLgogIApJbW1lZGlhdGVseSB0YWtlIGFjdGlvbiBvciByZWZlciBmb3IgY2FyZSBpZiBjbGllbnQgaXMgc2hvd2luZyB0aGlzIHNpZ24gb2YgYSBzZXJpb3VzIGlsbG5lc3MuJycnCiAgZWxzZSBudWxsCiAgZW5kCgovKgogU3VwcG9ydGluZyBMb2dpYwoqLwpkZWZpbmUgIlNpZ25zIG9mIHNlcmlvdXMgaWxsbmVzcyBhZ2UgMTAgb3Igb2xkZXIiOgogICJBZ2UgMTAgb3Igb2xkZXIiIGFuZCBleGlzdHMoCiAgICBFbGVtZW50cy4iU2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzIE9ic2VydmF0aW9uIiBPCiAgICAgIHdoZXJlCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJUYWNoeXBuZWEiIG9yCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJVbmFibGUgdG8gd2FsayB1bmFpZGVkIgogICkKCmRlZmluZSAiU2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzIGFnZSB1bmRlciAxMCI6CiAgIkFnZSB1bmRlciAxMCIgYW5kIGV4aXN0cygKICAgIEVsZW1lbnRzLiJTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgT2JzZXJ2YXRpb24iIE8KICAgICAgd2hlcmUKICAgICAgICBPLnZhbHVlIH4gQ29uY2VwdHMuIkxldGhhcmd5IC0gSElWLkQuREUyMiIgb3IKICAgICAgICBPLnZhbHVlIH4gQ29uY2VwdHMuIlVuY29uc2Npb3VzbmVzcyIgb3IKICAgICAgICBPLnZhbHVlIH4gQ29uY2VwdHMuIkNvbnZ1bHNpb25zIiBvcgogICAgICAgIE8udmFsdWUgfiBDb25jZXB0cy4iVW5hYmxlIHRvIGJyZWFzdGZlZWQiIG9yCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJVbmFibGUgdG8gZHJpbmsiIG9yCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJSZXBlYXRlZCB2b21pdGluZyIKICAgICkKCmRlZmluZSAiU2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzIHJlcXVpcmluZyBjbGluaWNhbCBqdWRnZW1lbnQgYWdlIDEwIG9yIG9sZGVyIjoKICAiQWdlIDEwIG9yIG9sZGVyIiBhbmQgZXhpc3RzKAogICAgRWxlbWVudHMuIlNpZ25zIG9mIHNlcmlvdXMgaWxsbmVzcyBPYnNlcnZhdGlvbiIgTwogICAgICB3aGVyZQogICAgICAgIE8udmFsdWUgfiBDb25jZXB0cy4iRmV2ZXIgb2YgMzkgQyBvciBncmVhdGVyIiBvcgogICAgICAgIE8udmFsdWUgfiBDb25jZXB0cy4iT3RoZXIgc2lnbiBvZiBzZXJpb3VzIGlsbG5lc3MiCiAgKQoKZGVmaW5lICJTaWducyBvZiBzZXJpb3VzIGlsbG5lc3MgcmVxdWlyaW5nIGNsaW5pY2FsIGp1ZGdlbWVudCBhZ2UgdW5kZXIgMTAiOgogICJBZ2UgdW5kZXIgMTAiIGFuZCBleGlzdHMoCiAgICBFbGVtZW50cy4iU2lnbnMgb2Ygc2VyaW91cyBpbGxuZXNzIE9ic2VydmF0aW9uIiBPCiAgICAgIHdoZXJlCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJGZXZlciBvZiAzOSBDIG9yIGdyZWF0ZXIiIG9yCiAgICAgICAgTy52YWx1ZSB+IENvbmNlcHRzLiJPdGhlciBzaWduIG9mIHNlcmlvdXMgaWxsbmVzcyIKICApCg=="^^xsd:base64Binary ]
] [
fhir:contentType [ fhir:v "application/elm+xml" ]
] ) . #
IG © 2023+ WHO. Package smart.who.int.hiv#0.3.0 based on FHIR 4.0.1. Generated 2024-10-30
Links: Table of Contents |
QA Report
| Version History | License