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
Draft as of 2024-12-06 |
{
"resourceType" : "Library",
"id" : "HIVIND96Logic",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"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.96 Logic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">HIVIND96Logic</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-HIVIND96Logic.html\">HIV.IND.96 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>Crude probability of surviving 1 year after a diagnosis of cervical cancer</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.96 Logic\n * Ref No: CCA.4\n * Short Name: Cervical cancer survival\n *\n * Definition: Crude probability of surviving 1 year after a diagnosis of cervical cancer\n *\n * Numerator: Number of women living with HIV still alive 12 months after receiving a diagnosis of invasive cervical cancer\n * Numerator Calculation: COUNT of women with "HIV status"='HIV-positive' AND "Cervical cancer diagnosis"='Invasive cervical cancer' for a "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" in previous 12 month reporting period\n * Numerator Exclusions: "Date of death" less than 12 months after "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" for "Cervical cancer diagnosis"='Invasive cervical cancer'\n *\n * Denominator: Number of women living with HIV who received a diagnosis of invasive cervical cancer within a 12-month cohort observation period\n * Denominator Calculation: COUNT of women with "HIV status"='HIV-positive' AND "Cervical cancer diagnosis"='Invasive cervical cancer' for a "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" in previous 12 month reporting period\n * Denominator Exclusions: \n *\n * Disaggregations:\n * •\u00a0Age (15–19, 20–24, 25–29, 30–49, 50+ years) \n * •\u00a0Cervical cancer stage at diagnosis (0, I, II, III, IV) \n * •\u00a0Cities and other administrative areas of epidemiologic importance\n *\n * Disaggregation Elements: Age | Cervical cancer stage at diagnosis\n *\n * Numerator and Denominator Elements:\n * Cervical cancer diagnosis \n * Date of diagnosis of cervical precancer lesions or invasive cervical cancer \n * HIV status\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.DE17: Age | Calculated age (number of years) of the client based on date of birth\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.D.DE705: Date of diagnosis of cervical precancer lesions or invasive cervical cancer | Date of diagnosis of cervical precancer lesions or invasive cervical cancer\n * HIV.D.DE709: Cervical cancer diagnosis | Type of cervical cancer diagnosis\n * HIV.D.DE710: Cervical precancer lesions | Client is diagnosed with cervical precancer lesions\n * HIV.D.DE711: Invasive cervical cancer | Client is diagnosed with invasive cervical cancer disease\n * HIV.D.DE712: Cervical cancer stage at diagnosis | Cervical cancer stage at diagnosis of cervical cancer\n * HIV.D.DE713: Stage 0 | Stage 0 cervical cancer at diagnosis of cervical cancer\n * HIV.D.DE714: Stage I | Stage I cervical cancer at diagnosis of cervical cancer\n * HIV.D.DE715: Stage II | Stage II cervical cancer at diagnosis of cervical cancer\n * HIV.D.DE716: Stage III | Stage III cervical cancer at diagnosis of cervical cancer\n * HIV.D.DE717: Stage IV | Stage IV cervical cancer at diagnosis of cervical cancer\n *\n * Additional Context\n * - what it measures: This indicator measures the effectiveness of cervical cancer treatment for women diagnosed with cervical cancer.\n * - rationale: •\u00a0Surveillance of cervical cancer survival among women living with HIV is essential in monitoring the access and effectiveness of treatment and follow-up to support the needs of cancer survivors. Adequate and complete follow-up is a prerequisite to conducting a survival study. | •\u00a0It is calculated by assessing the percentage of women living with HIV who were diagnosed with invasive cervical cancer who were still alive 12 months after their cervical cancer diagnosis. It excludes those who were not followed for the 12-month period. In places with good retention and follow-up, 5-year survival can also be calculated, including only those individuals under observation with complete follow-up five years after their diagnosis of cervical cancer.\n * - method: This indicator uses a cohort analysis to measure the proportion of women living with HIV who are still alive 12 months after their diagnosis with cervical cancer. | | The source of data is Individual-level data obtained from programme records.\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\n// Profiles:\n/*\n - HIVStatusCondition\n - HIVStatusObservation\n - Patient\n - InvasiveCervicalCancerDiagnosis\n */\n\nlibrary HIVIND96Logic\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 "Measurement Period" Interval<Date> default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine "Initial Population":\n true\n\n/**\n * Numerator\n * \n * Definition: Number of women living with HIV still alive 12 months after receiving a diagnosis of invasive cervical cancer\n * Calculation: COUNT of women with "HIV status"='HIV-positive' AND "Cervical cancer diagnosis"='Invasive cervical cancer' for a "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" in previous 12 month reporting period\n */\n\ndefine "Numerator":\n HIE."Has HIV-positive Status" and \n exists (HIE."Invasive cervical cancer in the last 12 months" C)\n \n\n/**\n * Numerator Exclusions\n *\n * Calculation: "Date of death" less than 12 months after "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" for "Cervical cancer diagnosis"='Invasive cervical cancer'\n */\n \ndefine "Numerator Exclusions":\n exists (HIE."Invasive cervical cancer in the last 12 months" C where \n ( HE."Death documented" after start of C.prevalenceInterval() and\n HE."Death documented" before (start of C.prevalenceInterval() + 12 months))\n )\n\n\n/**\n * Denominator\n *\n * Definition: Number of women living with HIV who received a diagnosis of invasive cervical cancer within a 12-month cohort observation period\n * Calculation: COUNT of women with "HIV status"='HIV-positive' AND "Cervical cancer diagnosis"='Invasive cervical cancer' for a "Date of diagnosis of cervical precancer lesions or invasive cervical cancer" in previous 12 month reporting period\n */\n\ndefine "Denominator":\n HIE."Has HIV-positive Status" and \n exists(HIE."Invasive cervical cancer in the last 12 months" C)\n \n/* end Populations */\n\n/*\n * Disaggregators\n */\n\ndefine "Age Stratifier":\n\tHIE."By Age Stratifier 2"\n\ndefine "Geographic Region Stratifier":\n\tHIE."By Geographic Region Stratifier"\n\ndefine "Cervical cancer stage at diagnosis of cervical cancer Stratifier":\n\tHIE."By Cervical cancer stage at diagnosis of cervical cancer Stratifier"\n\n\ndefine "Stratification":\nHIE."By Age Stratifier 2"\n+ ':' + HIE."By Geographic Region Stratifier"\n+ HIE."By Cervical cancer stage at diagnosis of cervical cancer Stratifier".code \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>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/hiv/Library/HIVIND96Logic",
"version" : "0.3.0",
"name" : "HIVIND96Logic",
"title" : "HIV.IND.96 Logic",
"status" : "draft",
"experimental" : true,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2024-12-06T22:28:12+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "Crude probability of surviving 1 year after a diagnosis of cervical cancer",
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuOTYgTG9naWMKICogUmVmIE5vOiBDQ0EuNAogKiBTaG9ydCBOYW1lOiBDZXJ2aWNhbCBjYW5jZXIgc3Vydml2YWwKICoKICogRGVmaW5pdGlvbjogQ3J1ZGUgcHJvYmFiaWxpdHkgb2Ygc3Vydml2aW5nIDEgeWVhciBhZnRlciBhIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBjYW5jZXIKICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHN0aWxsIGFsaXZlIDEyIG1vbnRocyBhZnRlciByZWNlaXZpbmcgYSBkaWFnbm9zaXMgb2YgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyCiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2Ygd29tZW4gd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJDZXJ2aWNhbCBjYW5jZXIgZGlhZ25vc2lzIj0nSW52YXNpdmUgY2VydmljYWwgY2FuY2VyJyBmb3IgYSAiRGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIiBpbiBwcmV2aW91cyAxMiBtb250aCByZXBvcnRpbmcgcGVyaW9kCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAiRGF0ZSBvZiBkZWF0aCIgbGVzcyB0aGFuIDEyIG1vbnRocyBhZnRlciAiRGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIiBmb3IgIkNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMiPSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInCiAqCiAqIERlbm9taW5hdG9yOiBOdW1iZXIgb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHdobyByZWNlaXZlZCBhIGRpYWdub3NpcyBvZiBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgd2l0aGluIGEgMTItbW9udGggY29ob3J0IG9ic2VydmF0aW9uIHBlcmlvZAogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2Ygd29tZW4gd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJDZXJ2aWNhbCBjYW5jZXIgZGlhZ25vc2lzIj0nSW52YXNpdmUgY2VydmljYWwgY2FuY2VyJyBmb3IgYSAiRGF0ZSBvZiBkaWFnbm9zaXMgb2YgY2VydmljYWwgcHJlY2FuY2VyIGxlc2lvbnMgb3IgaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIiBpbiBwcmV2aW91cyAxMiBtb250aCByZXBvcnRpbmcgcGVyaW9kCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAosKgQWdlICgxNeKAkzE5LCAyMOKAkzI0LCAyNeKAkzI5LCAzMOKAkzQ5LCA1MCsgeWVhcnMpIAogKiAg4oCiwqBDZXJ2aWNhbCBjYW5jZXIgc3RhZ2UgYXQgZGlhZ25vc2lzICgwLCBJLCBJSSwgSUlJLCBJVikgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgYXJlYXMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBDZXJ2aWNhbCBjYW5jZXIgc3RhZ2UgYXQgZGlhZ25vc2lzCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIENlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMgCiAqICBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgCiAqICBISVYgc3RhdHVzCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5ELkRFNzA1OiBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MDk6IENlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMgfCBUeXBlIG9mIGNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMKICogSElWLkQuREU3MTA6IENlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIHwgQ2xpZW50IGlzIGRpYWdub3NlZCB3aXRoIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zCiAqIEhJVi5ELkRFNzExOiBJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgfCBDbGllbnQgaXMgZGlhZ25vc2VkIHdpdGggaW52YXNpdmUgY2VydmljYWwgY2FuY2VyIGRpc2Vhc2UKICogSElWLkQuREU3MTI6IENlcnZpY2FsIGNhbmNlciBzdGFnZSBhdCBkaWFnbm9zaXMgfCBDZXJ2aWNhbCBjYW5jZXIgc3RhZ2UgYXQgZGlhZ25vc2lzIG9mIGNlcnZpY2FsIGNhbmNlcgogKiBISVYuRC5ERTcxMzogU3RhZ2UgMCB8IFN0YWdlIDAgY2VydmljYWwgY2FuY2VyIGF0IGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MTQ6IFN0YWdlIEkgfCBTdGFnZSBJIGNlcnZpY2FsIGNhbmNlciBhdCBkaWFnbm9zaXMgb2YgY2VydmljYWwgY2FuY2VyCiAqIEhJVi5ELkRFNzE1OiBTdGFnZSBJSSB8IFN0YWdlIElJIGNlcnZpY2FsIGNhbmNlciBhdCBkaWFnbm9zaXMgb2YgY2VydmljYWwgY2FuY2VyCiAqIEhJVi5ELkRFNzE2OiBTdGFnZSBJSUkgfCBTdGFnZSBJSUkgY2VydmljYWwgY2FuY2VyIGF0IGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBjYW5jZXIKICogSElWLkQuREU3MTc6IFN0YWdlIElWIHwgU3RhZ2UgSVYgY2VydmljYWwgY2FuY2VyIGF0IGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBjYW5jZXIKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgY2VydmljYWwgY2FuY2VyIHRyZWF0bWVudCBmb3Igd29tZW4gZGlhZ25vc2VkIHdpdGggY2VydmljYWwgY2FuY2VyLgogKiAtIHJhdGlvbmFsZTog4oCiwqBTdXJ2ZWlsbGFuY2Ugb2YgY2VydmljYWwgY2FuY2VyIHN1cnZpdmFsIGFtb25nIHdvbWVuIGxpdmluZyB3aXRoIEhJViBpcyBlc3NlbnRpYWwgaW4gbW9uaXRvcmluZyB0aGUgYWNjZXNzIGFuZCBlZmZlY3RpdmVuZXNzIG9mIHRyZWF0bWVudCBhbmQgZm9sbG93LXVwIHRvIHN1cHBvcnQgdGhlIG5lZWRzIG9mIGNhbmNlciBzdXJ2aXZvcnMuIEFkZXF1YXRlIGFuZCBjb21wbGV0ZSBmb2xsb3ctdXAgaXMgYSBwcmVyZXF1aXNpdGUgdG8gY29uZHVjdGluZyBhIHN1cnZpdmFsIHN0dWR5LiB8IOKAosKgSXQgaXMgY2FsY3VsYXRlZCBieSBhc3Nlc3NpbmcgdGhlIHBlcmNlbnRhZ2Ugb2Ygd29tZW4gbGl2aW5nIHdpdGggSElWIHdobyB3ZXJlIGRpYWdub3NlZCB3aXRoIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB3aG8gd2VyZSBzdGlsbCBhbGl2ZSAxMiBtb250aHMgYWZ0ZXIgdGhlaXIgY2VydmljYWwgY2FuY2VyIGRpYWdub3Npcy4gSXQgZXhjbHVkZXMgdGhvc2Ugd2hvIHdlcmUgbm90IGZvbGxvd2VkIGZvciB0aGUgMTItbW9udGggcGVyaW9kLiBJbiBwbGFjZXMgd2l0aCBnb29kIHJldGVudGlvbiBhbmQgZm9sbG93LXVwLCA1LXllYXIgc3Vydml2YWwgY2FuIGFsc28gYmUgY2FsY3VsYXRlZCwgaW5jbHVkaW5nIG9ubHkgdGhvc2UgaW5kaXZpZHVhbHMgdW5kZXIgb2JzZXJ2YXRpb24gd2l0aCBjb21wbGV0ZSBmb2xsb3ctdXAgZml2ZSB5ZWFycyBhZnRlciB0aGVpciBkaWFnbm9zaXMgb2YgY2VydmljYWwgY2FuY2VyLgogKiAtIG1ldGhvZDogVGhpcyBpbmRpY2F0b3IgdXNlcyBhIGNvaG9ydCBhbmFseXNpcyB0byBtZWFzdXJlIHRoZSBwcm9wb3J0aW9uIG9mIHdvbWVuIGxpdmluZyB3aXRoIEhJViB3aG8gYXJlIHN0aWxsIGFsaXZlIDEyIG1vbnRocyBhZnRlciB0aGVpciBkaWFnbm9zaXMgd2l0aCBjZXJ2aWNhbCBjYW5jZXIuIHwgIHwgVGhlIHNvdXJjZSBvZiBkYXRhIGlzIEluZGl2aWR1YWwtbGV2ZWwgZGF0YSBvYnRhaW5lZCBmcm9tIHByb2dyYW1tZSByZWNvcmRzLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKLy8gUHJvZmlsZXM6Ci8qCiAtIEhJVlN0YXR1c0NvbmRpdGlvbgogLSBISVZTdGF0dXNPYnNlcnZhdGlvbgogLSBQYXRpZW50CiAtIEludmFzaXZlQ2VydmljYWxDYW5jZXJEaWFnbm9zaXMKICovCgpsaWJyYXJ5IEhJVklORDk2TG9naWMKCi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBISVZDb21tb24gdmVyc2lvbiAnMC4wLjEnIGNhbGxlZCBISUMKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tCmluY2x1ZGUgSElWRWxlbWVudHMgY2FsbGVkIEhFCmluY2x1ZGUgSElWSW5kaWNhdG9yRWxlbWVudHMgY2FsbGVkIEhJRQppbmNsdWRlIEhJVkNvbmZpZyBjYWxsZWQgQ29uZmlnCgovLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdCgpjb250ZXh0IFBhdGllbnQKLyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogIHRydWUKCi8qKgogKiBOdW1lcmF0b3IKICogCiAqIERlZmluaXRpb246IE51bWJlciBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgc3RpbGwgYWxpdmUgMTIgbW9udGhzIGFmdGVyIHJlY2VpdmluZyBhIGRpYWdub3NpcyBvZiBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIHdvbWVuIHdpdGggIkhJViBzdGF0dXMiPSdISVYtcG9zaXRpdmUnIEFORCAiQ2VydmljYWwgY2FuY2VyIGRpYWdub3NpcyI9J0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlcicgZm9yIGEgIkRhdGUgb2YgZGlhZ25vc2lzIG9mIGNlcnZpY2FsIHByZWNhbmNlciBsZXNpb25zIG9yIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciIgaW4gcHJldmlvdXMgMTIgbW9udGggcmVwb3J0aW5nIHBlcmlvZAogKi8KCmRlZmluZSAiTnVtZXJhdG9yIjoKICBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiBhbmQgCiAgZXhpc3RzIChISUUuIkludmFzaXZlIGNlcnZpY2FsIGNhbmNlciBpbiB0aGUgbGFzdCAxMiBtb250aHMiIEMpCiAgCgovKioKICogTnVtZXJhdG9yIEV4Y2x1c2lvbnMKICoKICogQ2FsY3VsYXRpb246ICJEYXRlIG9mIGRlYXRoIiBsZXNzIHRoYW4gMTIgbW9udGhzIGFmdGVyICJEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIiIGZvciAiQ2VydmljYWwgY2FuY2VyIGRpYWdub3NpcyI9J0ludmFzaXZlIGNlcnZpY2FsIGNhbmNlcicKICovCiAgICAKZGVmaW5lICJOdW1lcmF0b3IgRXhjbHVzaW9ucyI6CiAgZXhpc3RzIChISUUuIkludmFzaXZlIGNlcnZpY2FsIGNhbmNlciBpbiB0aGUgbGFzdCAxMiBtb250aHMiIEMgd2hlcmUgCiAgICAoIEhFLiJEZWF0aCBkb2N1bWVudGVkIiBhZnRlciBzdGFydCBvZiBDLnByZXZhbGVuY2VJbnRlcnZhbCgpIGFuZAogICAgICBIRS4iRGVhdGggZG9jdW1lbnRlZCIgYmVmb3JlIChzdGFydCBvZiBDLnByZXZhbGVuY2VJbnRlcnZhbCgpICsgMTIgbW9udGhzKSkKICApCgoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IE51bWJlciBvZiB3b21lbiBsaXZpbmcgd2l0aCBISVYgd2hvIHJlY2VpdmVkIGEgZGlhZ25vc2lzIG9mIGludmFzaXZlIGNlcnZpY2FsIGNhbmNlciB3aXRoaW4gYSAxMi1tb250aCBjb2hvcnQgb2JzZXJ2YXRpb24gcGVyaW9kCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiB3b21lbiB3aXRoICJISVYgc3RhdHVzIj0nSElWLXBvc2l0aXZlJyBBTkQgIkNlcnZpY2FsIGNhbmNlciBkaWFnbm9zaXMiPSdJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXInIGZvciBhICJEYXRlIG9mIGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBwcmVjYW5jZXIgbGVzaW9ucyBvciBpbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIiIGluIHByZXZpb3VzIDEyIG1vbnRoIHJlcG9ydGluZyBwZXJpb2QKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIiBhbmQgCiAgICBleGlzdHMoSElFLiJJbnZhc2l2ZSBjZXJ2aWNhbCBjYW5jZXIgaW4gdGhlIGxhc3QgMTIgbW9udGhzIiBDKQogICAKLyogZW5kIFBvcHVsYXRpb25zICovCgovKgogKiBEaXNhZ2dyZWdhdG9ycwogKi8KCmRlZmluZSAiQWdlIFN0cmF0aWZpZXIiOgoJSElFLiJCeSBBZ2UgU3RyYXRpZmllciAyIgoKZGVmaW5lICJHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIjoKCUhJRS4iQnkgR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciIKCmRlZmluZSAiQ2VydmljYWwgY2FuY2VyIHN0YWdlIGF0IGRpYWdub3NpcyBvZiBjZXJ2aWNhbCBjYW5jZXIgU3RyYXRpZmllciI6CglISUUuIkJ5IENlcnZpY2FsIGNhbmNlciBzdGFnZSBhdCBkaWFnbm9zaXMgb2YgY2VydmljYWwgY2FuY2VyIFN0cmF0aWZpZXIiCgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiI6CkhJRS4iQnkgQWdlIFN0cmF0aWZpZXIgMiIKKyAnOicgKyBISUUuIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCisgSElFLiJCeSBDZXJ2aWNhbCBjYW5jZXIgc3RhZ2UgYXQgZGlhZ25vc2lzIG9mIGNlcnZpY2FsIGNhbmNlciBTdHJhdGlmaWVyIi5jb2RlIAo="
},
{
"contentType" : "application/elm+xml"
}
]
}