WHO SMART Guidelines - HIV
0.3.0 - ci-build

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

: HIV.IND.79 Logic - TTL Representation

Draft as of 2024-12-06

Raw ttl | Download

@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 "HIVIND79Logic"] ; # 
  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 "extensions" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">HIV.IND.79 Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">HIVIND79Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.3.0</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-HIVIND79Logic.html\">HIV.IND.79 Logic</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Experimental: </b></th>\n            <td style=\"padding-left: 4px;\">true</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Type: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                    \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>system: </b> <span><a href=\"http://hl7.org/fhir/R4/codesystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n                        </p>\n                        \n                        \n                        <p style=\"margin-bottom: 5px;\">\n                            <b>code: </b> <span>logic-library</span>\n                        </p>\n                        \n                        \n                    \n                \n                \n            </td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Date: </b></th>\n            <td style=\"padding-left: 4px;\">2024-12-06 22:28:12+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>% of people living with HIV diagnosed with a particular STI syndrome who were diagnosed with the same STI syndrome two or more times during the reporting period</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n\n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n              <tr><td><pre><code class=\"language-cql\">/**\n * Library: HIV.IND.79 Logic\n * Ref No: STI.8B\n * Short Name: Repeat diagnosis of STI syndrome, HIV-positive clients\n *\n * Definition: % of people living with HIV diagnosed with a particular STI syndrome who were diagnosed with the same STI syndrome two or more times during the reporting period\n *\n * Numerator: Number of people living with HIV diagnosed with a particular STI syndrome two or more times during the reporting period\n * Numerator Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND with &quot;Any STI syndrome diagnosed&quot;=True on multiple values of &quot;Visit date&quot; in reporting period\n * Numerator Exclusions: \n *\n * Denominator: Number of people living with HIV diagnosed with a particular STI syndrome during the reporting period\n * Denominator Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' with a &quot;Visit date&quot; in reporting period\n * Denominator Exclusions: \n *\n * Disaggregations:\n * • Gender (female, male, other*) \n *  • Age (15–19, 20–24, 25–29, 30–49, 50+ years) \n *  • Key populations (men who have sex with men, people living in prisons and other closed settings, people who inject drugs, sex workers, trans and gender diverse people)** \n *  • STI syndrome (urethral discharge syndrome, vaginal discharge syndrome, lower abdominal pain, genital ulcer disease syndrome, or anorectal discharge) \n *  • Cities and other administrative regions of epidemiologic importance\n *\n * Disaggregation Elements: Gender | Age | Key population member type | Syndrome/STI diagnosed\n *\n * Numerator and Denominator Elements:\n * Any STI syndrome diagnosed \n *  HIV status \n *  Visit date\n *\n * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022\n * \n * Data Concepts:\n * HIV.A.DE3: Visit date | The date and time of the client's visit\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.A.DE18: Gender* | Gender of the client*\n * HIV.A.DE19: Female | Client identifies as female\n * HIV.A.DE20: Male | Client identifies as male\n * HIV.A.DE21: Transgender male | Client identifies as transgender male\n * HIV.A.DE22: Transgender female | Client identifies as transgender female\n * HIV.A.DE23: Other | Additional category\n * HIV.B.DE50: Key population member type* | The type of key population that the client is included in\n * HIV.B.DE51: Sex worker | Client is a sex worker\n * HIV.B.DE52: Men who have sex with men | Client is a man who has sex with men\n * HIV.B.DE53: Trans and gender-diverse people | Client identifies as trans and gender-diverse\n * HIV.B.DE54: People who inject drugs | Client is a person who injects drugs\n * HIV.B.DE55: People living in prisons and other closed settings | Client lives in a prison or another closed setting\n * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.\n * HIV.B.DE116: HIV-positive | Client is HIV-positive\n * HIV.B.DE117: HIV-negative | Client is HIV-negative\n * HIV.B.DE118: Unknown | Client has unknown HIV status\n * HIV.B.DE226: Syndrome/STI diagnosed | Syndrome or STI for which client is diagnosed\n * HIV.B.DE227: Urethral discharge syndrome | Client diagnosed with urethral discharge syndrome\n * HIV.B.DE228: Vaginal discharge syndrome | Client diagnosed with vaginal discharge syndrome\n * HIV.B.DE229: Lower Abdominal pain  | Client diagnosed with lower abdominal pain\n * HIV.B.DE230: Genital ulcer disease syndrome | Client diagnosed with genital ulcer disease syndrome\n * HIV.B.DE231: Anorectal discharge | Client diagnosed with anorectal discharge\n * HIV.B.DE232: Sent for testing | Specimen sent for testing\n * HIV.B.DE233: Other | Other syndrome/STI diagnosed\n * HIV.B.DE235: Any STI syndrome diagnosed | Was the client diagnosed with any of the five STI syndromes during this visit?\n * HIV.D.DE778: Syndrome/STI diagnosed | Syndrome or STI for which client is diagnosed\n * HIV.D.DE779: Urethral discharge syndrome | Client diagnosed with urethral discharge syndrome\n * HIV.D.DE780: Vaginal discharge syndrome | Client diagnosed with vaginal discharge syndrome\n * HIV.D.DE781: Lower Abdominal pain  | Client diagnosed with lower abdominal pain\n * HIV.D.DE782: Genital ulcer disease syndrome | Client diagnosed with genital ulcer disease syndrome\n * HIV.D.DE783: Anorectal discharge | Client diagnosed with anorectal discharge\n * HIV.D.DE784: Sent for testing | Specimen sent for testing\n * HIV.D.DE785: Other | Other syndrome/STI diagnosed\n * HIV.D.DE787: Any STI syndrome diagnosed | Was the client diagnosed with any of the five STI syndromes during this visit?\n * HIV.E.DE114: Key population member type* | The type of key population that the infant's mother is included in\n * HIV.E.DE115: Sex worker | Infant's mother is a sex worker\n * HIV.E.DE116: People who inject drugs | Infant's mother is a person who injects drugs\n * HIV.E.DE117: Trans and gender-diverse people | Infant's mother identifies as trans and gender-diverse\n * HIV.E.DE118: People living in prisons and other closed setting | Infant's mother is in a prison or closed setting\n * HIV.SRV.DE15: Visit date | The date and time of the client's visit\n *\n * Additional Context\n * - what it measures: A: % of people attending HIV prevention services who were diagnosed with the same STI | syndrome two or more times during the reporting period | B: % of people living with HIV who were diagnosed with the same STI syndrome two or more times during the reporting period\n * - rationale: Presenting with the same STI syndrome two or more times in a short period suggests that an individual was not treated appropriately, has an untreated partner or is practicing unsafe sex.\n * - method: Individual-level data obtained from programme records\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n\nTHE DEFINITION IS INCONSISTENT WITH THE CONTEXT - no mention of HIV prevention services.\n\n */\n\nlibrary HIVIND79Logic\n\n// Included Libraries\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\ninclude HIVElements called HE\ninclude HIVIndicatorElements called HIE\ninclude HIVConfig called Config\n\n// Indicator Definition\nparameter &quot;Measurement Period&quot; Interval&lt;Date&gt; default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine &quot;Initial Population&quot;:\n  true\n\n/**\n * Numerator\n * \n * Definition: Number of people living with HIV diagnosed with a particular STI syndrome two or more times during the reporting period\n * Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' AND with &quot;Any STI syndrome diagnosed&quot;=True on multiple values of &quot;Visit date&quot; in reporting period\n */\n\ndefine &quot;Numerator&quot;:\nHIE.&quot;Has HIV-positive Status&quot;\n  and Count((HE.&quot;Syndrome/STI diagnosed B.DE226 Observation&quot; O\n    where O.effective.toInterval() during &quot;Measurement Period&quot; \n  and exists (HE.&quot;Visit date SRV.DE15&quot; t where start of t.period.toInterval() = start of O.effective.toInterval())))&gt;1\n\n\n/**\n * Denominator\n *\n * Definition: Number of people living with HIV diagnosed with a particular STI syndrome during the reporting period\n * Calculation: COUNT of clients with &quot;HIV status&quot;='HIV-positive' with a &quot;Visit date&quot; in reporting period\n */\n\ndefine &quot;Denominator&quot;:\n  HIE.&quot;Has HIV-positive Status&quot;\n  and HIE.&quot;Visit date SRV.DE15&quot;\n    \n\n/* end Populations */\n\n\n/*\n * Disaggregators\n */\n\ndefine &quot;Administrative Gender Stratifier&quot;:\n	HIE.&quot;By Administrative Gender Stratifier&quot;\n\ndefine &quot;Age Stratifier&quot;:\n	HIE.&quot;By Age Stratifier 2&quot;\n\ndefine &quot;Geographic Region Stratifier&quot;:\n	HIE.&quot;By Geographic Region Stratifier&quot;\n\ndefine &quot;patientGroups Stratifier&quot;:\n	HIE.&quot;patientGroups&quot;\n\n  define &quot;STI syndrome&quot;:\n	HIE.&quot;STI syndrome&quot;\n\n\n\ndefine &quot;Stratification&quot;:\n HIE.&quot;By Administrative Gender Stratifier&quot;.code \n  + ':' + HIE.&quot;By Age Stratifier 2&quot;\n+ ':' + HIE.&quot;By Geographic Region Stratifier&quot;\n+ Combine(HIE.patientGroups, ':')\n+ Combine(HIE.&quot;STI syndrome&quot;, ':')\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code/></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</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/HIVIND79Logic"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.3.0"] ; # 
  fhir:name [ fhir:v "HIVIND79Logic"] ; # 
  fhir:title [ fhir:v "HIV.IND.79 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-12-06T22:28:12+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 "% of people living with HIV diagnosed with a particular STI syndrome who were diagnosed with the same STI syndrome two or more times during the reporting period"] ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNzkgTG9naWMKICogUmVmIE5vOiBTVEkuOEIKICogU2hvcnQgTmFtZTogUmVwZWF0IGRpYWdub3NpcyBvZiBTVEkgc3luZHJvbWUsIEhJVi1wb3NpdGl2ZSBjbGllbnRzCiAqCiAqIERlZmluaXRpb246ICUgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBkaWFnbm9zZWQgd2l0aCBhIHBhcnRpY3VsYXIgU1RJIHN5bmRyb21lIHdobyB3ZXJlIGRpYWdub3NlZCB3aXRoIHRoZSBzYW1lIFNUSSBzeW5kcm9tZSB0d28gb3IgbW9yZSB0aW1lcyBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2QKICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBkaWFnbm9zZWQgd2l0aCBhIHBhcnRpY3VsYXIgU1RJIHN5bmRyb21lIHR3byBvciBtb3JlIHRpbWVzIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EIHdpdGggIkFueSBTVEkgc3luZHJvbWUgZGlhZ25vc2VkIj1UcnVlIG9uIG11bHRpcGxlIHZhbHVlcyBvZiAiVmlzaXQgZGF0ZSIgaW4gcmVwb3J0aW5nIHBlcmlvZAogKiBOdW1lcmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERlbm9taW5hdG9yOiBOdW1iZXIgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBkaWFnbm9zZWQgd2l0aCBhIHBhcnRpY3VsYXIgU1RJIHN5bmRyb21lIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyB3aXRoIGEgIlZpc2l0IGRhdGUiIGluIHJlcG9ydGluZyBwZXJpb2QKICogRGVub21pbmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERpc2FnZ3JlZ2F0aW9uczoKICog4oCiwqBHZW5kZXIgKGZlbWFsZSwgbWFsZSwgb3RoZXIqKSAKICogIOKAoiBBZ2UgKDE14oCTMTksIDIw4oCTMjQsIDI14oCTMjksIDMw4oCTNDksIDUwKyB5ZWFycykgCiAqICDigKLCoEtleSBwb3B1bGF0aW9ucyAobWVuIHdobyBoYXZlIHNleCB3aXRoIG1lbiwgcGVvcGxlIGxpdmluZyBpbiBwcmlzb25zIGFuZCBvdGhlciBjbG9zZWQgc2V0dGluZ3MsIHBlb3BsZSB3aG8gaW5qZWN0IGRydWdzLCBzZXggd29ya2VycywgdHJhbnMgYW5kIGdlbmRlciBkaXZlcnNlIHBlb3BsZSkqKiAKICogIOKAosKgU1RJIHN5bmRyb21lICh1cmV0aHJhbCBkaXNjaGFyZ2Ugc3luZHJvbWUsIHZhZ2luYWwgZGlzY2hhcmdlIHN5bmRyb21lLCBsb3dlciBhYmRvbWluYWwgcGFpbiwgZ2VuaXRhbCB1bGNlciBkaXNlYXNlIHN5bmRyb21lLCBvciBhbm9yZWN0YWwgZGlzY2hhcmdlKSAKICogIOKAosKgQ2l0aWVzIGFuZCBvdGhlciBhZG1pbmlzdHJhdGl2ZSByZWdpb25zIG9mIGVwaWRlbWlvbG9naWMgaW1wb3J0YW5jZQogKgogKiBEaXNhZ2dyZWdhdGlvbiBFbGVtZW50czogR2VuZGVyIHwgQWdlIHwgS2V5IHBvcHVsYXRpb24gbWVtYmVyIHR5cGUgfCBTeW5kcm9tZS9TVEkgZGlhZ25vc2VkCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIEFueSBTVEkgc3luZHJvbWUgZGlhZ25vc2VkIAogKiAgSElWIHN0YXR1cyAKICogIFZpc2l0IGRhdGUKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMzogVmlzaXQgZGF0ZSB8IFRoZSBkYXRlIGFuZCB0aW1lIG9mIHRoZSBjbGllbnQncyB2aXNpdAogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkEuREUxODogR2VuZGVyKiB8IEdlbmRlciBvZiB0aGUgY2xpZW50KgogKiBISVYuQS5ERTE5OiBGZW1hbGUgfCBDbGllbnQgaWRlbnRpZmllcyBhcyBmZW1hbGUKICogSElWLkEuREUyMDogTWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIG1hbGUKICogSElWLkEuREUyMTogVHJhbnNnZW5kZXIgbWFsZSB8IENsaWVudCBpZGVudGlmaWVzIGFzIHRyYW5zZ2VuZGVyIG1hbGUKICogSElWLkEuREUyMjogVHJhbnNnZW5kZXIgZmVtYWxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgdHJhbnNnZW5kZXIgZmVtYWxlCiAqIEhJVi5BLkRFMjM6IE90aGVyIHwgQWRkaXRpb25hbCBjYXRlZ29yeQogKiBISVYuQi5ERTUwOiBLZXkgcG9wdWxhdGlvbiBtZW1iZXIgdHlwZSogfCBUaGUgdHlwZSBvZiBrZXkgcG9wdWxhdGlvbiB0aGF0IHRoZSBjbGllbnQgaXMgaW5jbHVkZWQgaW4KICogSElWLkIuREU1MTogU2V4IHdvcmtlciB8IENsaWVudCBpcyBhIHNleCB3b3JrZXIKICogSElWLkIuREU1MjogTWVuIHdobyBoYXZlIHNleCB3aXRoIG1lbiB8IENsaWVudCBpcyBhIG1hbiB3aG8gaGFzIHNleCB3aXRoIG1lbgogKiBISVYuQi5ERTUzOiBUcmFucyBhbmQgZ2VuZGVyLWRpdmVyc2UgcGVvcGxlIHwgQ2xpZW50IGlkZW50aWZpZXMgYXMgdHJhbnMgYW5kIGdlbmRlci1kaXZlcnNlCiAqIEhJVi5CLkRFNTQ6IFBlb3BsZSB3aG8gaW5qZWN0IGRydWdzIHwgQ2xpZW50IGlzIGEgcGVyc29uIHdobyBpbmplY3RzIGRydWdzCiAqIEhJVi5CLkRFNTU6IFBlb3BsZSBsaXZpbmcgaW4gcHJpc29ucyBhbmQgb3RoZXIgY2xvc2VkIHNldHRpbmdzIHwgQ2xpZW50IGxpdmVzIGluIGEgcHJpc29uIG9yIGFub3RoZXIgY2xvc2VkIHNldHRpbmcKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5CLkRFMjI2OiBTeW5kcm9tZS9TVEkgZGlhZ25vc2VkIHwgU3luZHJvbWUgb3IgU1RJIGZvciB3aGljaCBjbGllbnQgaXMgZGlhZ25vc2VkCiAqIEhJVi5CLkRFMjI3OiBVcmV0aHJhbCBkaXNjaGFyZ2Ugc3luZHJvbWUgfCBDbGllbnQgZGlhZ25vc2VkIHdpdGggdXJldGhyYWwgZGlzY2hhcmdlIHN5bmRyb21lCiAqIEhJVi5CLkRFMjI4OiBWYWdpbmFsIGRpc2NoYXJnZSBzeW5kcm9tZSB8IENsaWVudCBkaWFnbm9zZWQgd2l0aCB2YWdpbmFsIGRpc2NoYXJnZSBzeW5kcm9tZQogKiBISVYuQi5ERTIyOTogTG93ZXIgQWJkb21pbmFsIHBhaW4gIHwgQ2xpZW50IGRpYWdub3NlZCB3aXRoIGxvd2VyIGFiZG9taW5hbCBwYWluCiAqIEhJVi5CLkRFMjMwOiBHZW5pdGFsIHVsY2VyIGRpc2Vhc2Ugc3luZHJvbWUgfCBDbGllbnQgZGlhZ25vc2VkIHdpdGggZ2VuaXRhbCB1bGNlciBkaXNlYXNlIHN5bmRyb21lCiAqIEhJVi5CLkRFMjMxOiBBbm9yZWN0YWwgZGlzY2hhcmdlIHwgQ2xpZW50IGRpYWdub3NlZCB3aXRoIGFub3JlY3RhbCBkaXNjaGFyZ2UKICogSElWLkIuREUyMzI6IFNlbnQgZm9yIHRlc3RpbmcgfCBTcGVjaW1lbiBzZW50IGZvciB0ZXN0aW5nCiAqIEhJVi5CLkRFMjMzOiBPdGhlciB8IE90aGVyIHN5bmRyb21lL1NUSSBkaWFnbm9zZWQKICogSElWLkIuREUyMzU6IEFueSBTVEkgc3luZHJvbWUgZGlhZ25vc2VkIHwgV2FzIHRoZSBjbGllbnQgZGlhZ25vc2VkIHdpdGggYW55IG9mIHRoZSBmaXZlIFNUSSBzeW5kcm9tZXMgZHVyaW5nIHRoaXMgdmlzaXQ/CiAqIEhJVi5ELkRFNzc4OiBTeW5kcm9tZS9TVEkgZGlhZ25vc2VkIHwgU3luZHJvbWUgb3IgU1RJIGZvciB3aGljaCBjbGllbnQgaXMgZGlhZ25vc2VkCiAqIEhJVi5ELkRFNzc5OiBVcmV0aHJhbCBkaXNjaGFyZ2Ugc3luZHJvbWUgfCBDbGllbnQgZGlhZ25vc2VkIHdpdGggdXJldGhyYWwgZGlzY2hhcmdlIHN5bmRyb21lCiAqIEhJVi5ELkRFNzgwOiBWYWdpbmFsIGRpc2NoYXJnZSBzeW5kcm9tZSB8IENsaWVudCBkaWFnbm9zZWQgd2l0aCB2YWdpbmFsIGRpc2NoYXJnZSBzeW5kcm9tZQogKiBISVYuRC5ERTc4MTogTG93ZXIgQWJkb21pbmFsIHBhaW4gIHwgQ2xpZW50IGRpYWdub3NlZCB3aXRoIGxvd2VyIGFiZG9taW5hbCBwYWluCiAqIEhJVi5ELkRFNzgyOiBHZW5pdGFsIHVsY2VyIGRpc2Vhc2Ugc3luZHJvbWUgfCBDbGllbnQgZGlhZ25vc2VkIHdpdGggZ2VuaXRhbCB1bGNlciBkaXNlYXNlIHN5bmRyb21lCiAqIEhJVi5ELkRFNzgzOiBBbm9yZWN0YWwgZGlzY2hhcmdlIHwgQ2xpZW50IGRpYWdub3NlZCB3aXRoIGFub3JlY3RhbCBkaXNjaGFyZ2UKICogSElWLkQuREU3ODQ6IFNlbnQgZm9yIHRlc3RpbmcgfCBTcGVjaW1lbiBzZW50IGZvciB0ZXN0aW5nCiAqIEhJVi5ELkRFNzg1OiBPdGhlciB8IE90aGVyIHN5bmRyb21lL1NUSSBkaWFnbm9zZWQKICogSElWLkQuREU3ODc6IEFueSBTVEkgc3luZHJvbWUgZGlhZ25vc2VkIHwgV2FzIHRoZSBjbGllbnQgZGlhZ25vc2VkIHdpdGggYW55IG9mIHRoZSBmaXZlIFNUSSBzeW5kcm9tZXMgZHVyaW5nIHRoaXMgdmlzaXQ/CiAqIEhJVi5FLkRFMTE0OiBLZXkgcG9wdWxhdGlvbiBtZW1iZXIgdHlwZSogfCBUaGUgdHlwZSBvZiBrZXkgcG9wdWxhdGlvbiB0aGF0IHRoZSBpbmZhbnQncyBtb3RoZXIgaXMgaW5jbHVkZWQgaW4KICogSElWLkUuREUxMTU6IFNleCB3b3JrZXIgfCBJbmZhbnQncyBtb3RoZXIgaXMgYSBzZXggd29ya2VyCiAqIEhJVi5FLkRFMTE2OiBQZW9wbGUgd2hvIGluamVjdCBkcnVncyB8IEluZmFudCdzIG1vdGhlciBpcyBhIHBlcnNvbiB3aG8gaW5qZWN0cyBkcnVncwogKiBISVYuRS5ERTExNzogVHJhbnMgYW5kIGdlbmRlci1kaXZlcnNlIHBlb3BsZSB8IEluZmFudCdzIG1vdGhlciBpZGVudGlmaWVzIGFzIHRyYW5zIGFuZCBnZW5kZXItZGl2ZXJzZQogKiBISVYuRS5ERTExODogUGVvcGxlIGxpdmluZyBpbiBwcmlzb25zIGFuZCBvdGhlciBjbG9zZWQgc2V0dGluZyB8IEluZmFudCdzIG1vdGhlciBpcyBpbiBhIHByaXNvbiBvciBjbG9zZWQgc2V0dGluZwogKiBISVYuU1JWLkRFMTU6IFZpc2l0IGRhdGUgfCBUaGUgZGF0ZSBhbmQgdGltZSBvZiB0aGUgY2xpZW50J3MgdmlzaXQKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogQTogJSBvZiBwZW9wbGUgYXR0ZW5kaW5nIEhJViBwcmV2ZW50aW9uIHNlcnZpY2VzIHdobyB3ZXJlIGRpYWdub3NlZCB3aXRoIHRoZSBzYW1lIFNUSSB8IHN5bmRyb21lIHR3byBvciBtb3JlIHRpbWVzIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCB8IEI6ICUgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViB3aG8gd2VyZSBkaWFnbm9zZWQgd2l0aCB0aGUgc2FtZSBTVEkgc3luZHJvbWUgdHdvIG9yIG1vcmUgdGltZXMgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kCiAqIC0gcmF0aW9uYWxlOiBQcmVzZW50aW5nIHdpdGggdGhlIHNhbWUgU1RJIHN5bmRyb21lIHR3byBvciBtb3JlIHRpbWVzIGluIGEgc2hvcnQgcGVyaW9kIHN1Z2dlc3RzIHRoYXQgYW4gaW5kaXZpZHVhbCB3YXMgbm90IHRyZWF0ZWQgYXBwcm9wcmlhdGVseSwgaGFzIGFuIHVudHJlYXRlZCBwYXJ0bmVyIG9yIGlzIHByYWN0aWNpbmcgdW5zYWZlIHNleC4KICogLSBtZXRob2Q6IEluZGl2aWR1YWwtbGV2ZWwgZGF0YSBvYnRhaW5lZCBmcm9tIHByb2dyYW1tZSByZWNvcmRzCiAqIAogKiBTdWdnZXN0ZWQgU2NvcmluZyBNZXRob2Q6IHByb3BvcnRpb24gfCBodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NxZm1lYXN1cmVzL1N0cnVjdHVyZURlZmluaXRpb24vcHJvcG9ydGlvbi1tZWFzdXJlLWNxZm0KClRIRSBERUZJTklUSU9OIElTIElOQ09OU0lTVEVOVCBXSVRIIFRIRSBDT05URVhUIC0gbm8gbWVudGlvbiBvZiBISVYgcHJldmVudGlvbiBzZXJ2aWNlcy4KCiAqLwoKbGlicmFyeSBISVZJTkQ3OUxvZ2ljCgovLyBJbmNsdWRlZCBMaWJyYXJpZXMKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSElWQ29tbW9uIHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQppbmNsdWRlIEhJVkVsZW1lbnRzIGNhbGxlZCBIRQppbmNsdWRlIEhJVkluZGljYXRvckVsZW1lbnRzIGNhbGxlZCBISUUKaW5jbHVkZSBISVZDb25maWcgY2FsbGVkIENvbmZpZwoKLy8gSW5kaWNhdG9yIERlZmluaXRpb24KcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+IGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjMtMDEtMDEsIEAyMDIzLTAxLTMwXQoKY29udGV4dCBQYXRpZW50Ci8qIFBvcHVsYXRpb25zICovCgovKgogKkluaXRpYWwgUG9wdWxhdGlvbgogKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICB0cnVlCgovKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBkaWFnbm9zZWQgd2l0aCBhIHBhcnRpY3VsYXIgU1RJIHN5bmRyb21lIHR3byBvciBtb3JlIHRpbWVzIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgd2l0aCAiQW55IFNUSSBzeW5kcm9tZSBkaWFnbm9zZWQiPVRydWUgb24gbXVsdGlwbGUgdmFsdWVzIG9mICJWaXNpdCBkYXRlIiBpbiByZXBvcnRpbmcgcGVyaW9kCiAqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgpISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIgogIGFuZCBDb3VudCgoSEUuIlN5bmRyb21lL1NUSSBkaWFnbm9zZWQgQi5ERTIyNiBPYnNlcnZhdGlvbiIgTwogICAgd2hlcmUgTy5lZmZlY3RpdmUudG9JbnRlcnZhbCgpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIiAKICBhbmQgZXhpc3RzIChIRS4iVmlzaXQgZGF0ZSBTUlYuREUxNSIgdCB3aGVyZSBzdGFydCBvZiB0LnBlcmlvZC50b0ludGVydmFsKCkgPSBzdGFydCBvZiBPLmVmZmVjdGl2ZS50b0ludGVydmFsKCkpKSk+MQoKCi8qKgogKiBEZW5vbWluYXRvcgogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgcGVvcGxlIGxpdmluZyB3aXRoIEhJViBkaWFnbm9zZWQgd2l0aCBhIHBhcnRpY3VsYXIgU1RJIHN5bmRyb21lIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZAogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyB3aXRoIGEgIlZpc2l0IGRhdGUiIGluIHJlcG9ydGluZyBwZXJpb2QKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIgogIGFuZCBISUUuIlZpc2l0IGRhdGUgU1JWLkRFMTUiCiAgICAKCi8qIGVuZCBQb3B1bGF0aW9ucyAqLwoKCi8qCiAqIERpc2FnZ3JlZ2F0b3JzCiAqLwoKZGVmaW5lICJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgU3RyYXRpZmllciI6CglISUUuIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIgoKZGVmaW5lICJBZ2UgU3RyYXRpZmllciI6CglISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIDIiCgpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiOgoJSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgoKZGVmaW5lICJwYXRpZW50R3JvdXBzIFN0cmF0aWZpZXIiOgoJSElFLiJwYXRpZW50R3JvdXBzIgoKICBkZWZpbmUgIlNUSSBzeW5kcm9tZSI6CglISUUuIlNUSSBzeW5kcm9tZSIKCgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiI6CiBISUUuIkJ5IEFkbWluaXN0cmF0aXZlIEdlbmRlciBTdHJhdGlmaWVyIi5jb2RlIAogICsgJzonICsgSElFLiJCeSBBZ2UgU3RyYXRpZmllciAyIgorICc6JyArIEhJRS4iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIKKyBDb21iaW5lKEhJRS5wYXRpZW50R3JvdXBzLCAnOicpCisgQ29tYmluZShISUUuIlNUSSBzeW5kcm9tZSIsICc6JykK"^^xsd:base64Binary ]
  ] [
fhir:contentType [ fhir:v "application/elm+xml" ]
  ] ) . #