pulse-code 1.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulse/__init__.py +1 -0
- pulse/__main__.py +4 -0
- pulse/catalog.py +102 -0
- pulse/cli.py +984 -0
- pulse/data/catalog.json +1599 -0
- pulse/data/queries_index.json +328 -0
- pulse/data/variable_labels.json +1338 -0
- pulse/llm_builder.py +732 -0
- pulse/matcher.py +180 -0
- pulse/queries/aids-cases-by-year-1981-1999-req.xml +178 -0
- pulse/queries/births-by-year-1995-2002-req.xml +226 -0
- pulse/queries/births-by-year-2003-2006-req.xml +306 -0
- pulse/queries/births-by-year-2007-2024-req.xml +334 -0
- pulse/queries/cancer-incidence-by-site-by-year-1999-2022-req.xml +174 -0
- pulse/queries/cancer-mortality-by-site-by-year-2018-2023-req.xml +166 -0
- pulse/queries/covid-deaths-by-race-2020-2023-req.xml +529 -0
- pulse/queries/drug-deaths-by-month-1999-2020-req.xml +436 -0
- pulse/queries/drug-deaths-by-month-2018-2024-req.xml +544 -0
- pulse/queries/drug-deaths-by-year-1999-2020-req.xml +436 -0
- pulse/queries/drug-deaths-by-year-2018-2024-req.xml +536 -0
- pulse/queries/fentanyl-deaths-by-month-1999-2020-req.xml +430 -0
- pulse/queries/fentanyl-deaths-by-month-2018-2024-req.xml +530 -0
- pulse/queries/fetal-deaths-by-cause-by-year-2014-2024-req.xml +530 -0
- pulse/queries/fetal-deaths-by-year-2005-2024-req.xml +322 -0
- pulse/queries/heart-vs-cancer-by-sex-2018-2023-req.xml +532 -0
- pulse/queries/heat-wave-days-by-county-req.xml +154 -0
- pulse/queries/infant-mortality-2018-2023-req.xml +531 -0
- pulse/queries/infant-mortality-by-cause-by-year-2007-2023-req.xml +290 -0
- pulse/queries/maternal-mortality-by-year-1999-2020-req.xml +351 -0
- pulse/queries/maternal-mortality-by-year-2018-2024-req.xml +413 -0
- pulse/queries/mortality-by-race-sex-2018-2023-req.xml +490 -0
- pulse/queries/mortality-by-year-cause-1979-1998-req.xml +222 -0
- pulse/queries/mortality-by-year-cause-1999-2020-req.xml +434 -0
- pulse/queries/mortality-by-year-cause-2021-2024-req.xml +529 -0
- pulse/queries/opioid-overdose-deaths-2018-2024-req.xml +544 -0
- pulse/queries/pm25-by-year-2003-2011-req.xml +194 -0
- pulse/queries/provisional-births-by-month-2023-req.xml +854 -0
- pulse/queries/racial-mortality-gap-2018-2023-req.xml +531 -0
- pulse/queries/std-cases-by-disease-by-year-1984-2014-req.xml +178 -0
- pulse/queries/suicide-by-sex-1999-2020-req.xml +411 -0
- pulse/queries/suicide-by-sex-2021-2024-req.xml +551 -0
- pulse/queries/tb-cases-by-year-1993-2023-req.xml +206 -0
- pulse/queries/tick-borne-diseases-by-year-2016-2023-req.xml +125 -0
- pulse/queries/underlying-cause-mortality-by-year-1999-2020-req.xml +350 -0
- pulse/queries/unintentional-injuries-by-age-2018-2023-req.xml +531 -0
- pulse/templates/D10-base.xml +226 -0
- pulse/templates/D104-base.xml +142 -0
- pulse/templates/D117-base.xml +110 -0
- pulse/templates/D128-base.xml +182 -0
- pulse/templates/D140-base.xml +318 -0
- pulse/templates/D141-base.xml +454 -0
- pulse/templates/D149-base.xml +878 -0
- pulse/templates/D157-base.xml +490 -0
- pulse/templates/D158-base.xml +406 -0
- pulse/templates/D159-base.xml +774 -0
- pulse/templates/D16-base.xml +266 -0
- pulse/templates/D176-base.xml +526 -0
- pulse/templates/D178-base.xml +158 -0
- pulse/templates/D18-base.xml +262 -0
- pulse/templates/D192-base.xml +854 -0
- pulse/templates/D204-base.xml +142 -0
- pulse/templates/D23-base.xml +258 -0
- pulse/templates/D27-base.xml +342 -0
- pulse/templates/D31-base.xml +262 -0
- pulse/templates/D60-base.xml +274 -0
- pulse/templates/D61-base.xml +250 -0
- pulse/templates/D66-base.xml +378 -0
- pulse/templates/D69-base.xml +278 -0
- pulse/templates/D73-base.xml +182 -0
- pulse/templates/D74-base.xml +254 -0
- pulse/templates/D76-base.xml +350 -0
- pulse/templates/D77-base.xml +434 -0
- pulse/templates/D8-base.xml +314 -0
- pulse/templates/D80-base.xml +174 -0
- pulse/templates/D81-base.xml +178 -0
- pulse/wonder_client.py +161 -0
- pulse_code-1.0.1.dist-info/METADATA +249 -0
- pulse_code-1.0.1.dist-info/RECORD +82 -0
- pulse_code-1.0.1.dist-info/WHEEL +5 -0
- pulse_code-1.0.1.dist-info/entry_points.txt +2 -0
- pulse_code-1.0.1.dist-info/licenses/LICENSE +121 -0
- pulse_code-1.0.1.dist-info/top_level.txt +1 -0
pulse/matcher.py
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"""Fuzzy keyword matching for finding the best CDC WONDER dataset or query."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import re
|
|
6
|
+
from dataclasses import dataclass
|
|
7
|
+
|
|
8
|
+
from pulse.catalog import BundledQuery, Catalog, Dataset
|
|
9
|
+
|
|
10
|
+
# Synonym groups — any word in a group matches any other word in that group
|
|
11
|
+
_SYNONYMS: list[set[str]] = [
|
|
12
|
+
{"opioid", "opioids", "opiate", "opiates"},
|
|
13
|
+
{"fentanyl", "synthetic opioid", "synthetic narcotic"},
|
|
14
|
+
{"heroin"},
|
|
15
|
+
{"drug", "drugs", "narcotic", "narcotics", "overdose"},
|
|
16
|
+
{"cocaine", "coke"},
|
|
17
|
+
{"meth", "methamphetamine", "amphetamine", "stimulant", "psychostimulant"},
|
|
18
|
+
{
|
|
19
|
+
"death",
|
|
20
|
+
"deaths",
|
|
21
|
+
"mortality",
|
|
22
|
+
"die",
|
|
23
|
+
"dying",
|
|
24
|
+
"fatal",
|
|
25
|
+
"fatality",
|
|
26
|
+
"fatalities",
|
|
27
|
+
"kill",
|
|
28
|
+
},
|
|
29
|
+
{"birth", "births", "natality", "born", "fertility", "fertilit"},
|
|
30
|
+
{"infant", "neonatal", "neonate", "baby", "babies", "newborn", "SIDS"},
|
|
31
|
+
{"maternal", "mother", "pregnancy", "pregnant", "childbirth", "obstetric"},
|
|
32
|
+
{"suicide", "suicidal", "self-harm", "self harm"},
|
|
33
|
+
{"cancer", "tumor", "neoplasm", "oncology"},
|
|
34
|
+
{"heart", "cardiac", "cardiovascular", "coronary"},
|
|
35
|
+
{"race", "racial", "ethnicity", "ethnic", "disparity", "disparities", "equity"},
|
|
36
|
+
{"vaccine", "vaccination", "immunization", "vaers", "adverse event"},
|
|
37
|
+
{"covid", "COVID", "COVID-19", "coronavirus", "pandemic"},
|
|
38
|
+
{"tick", "lyme", "lyme disease", "rocky mountain", "anaplasmosis", "ehrlichiosis"},
|
|
39
|
+
{
|
|
40
|
+
"environment",
|
|
41
|
+
"environmental",
|
|
42
|
+
"climate",
|
|
43
|
+
"temperature",
|
|
44
|
+
"heat",
|
|
45
|
+
"air quality",
|
|
46
|
+
"pollution",
|
|
47
|
+
"PM2.5",
|
|
48
|
+
"precipitation",
|
|
49
|
+
"rain",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"cancer",
|
|
53
|
+
"tumor",
|
|
54
|
+
"neoplasm",
|
|
55
|
+
"oncology",
|
|
56
|
+
"malignant",
|
|
57
|
+
"carcinoma",
|
|
58
|
+
"leukemia",
|
|
59
|
+
"lymphoma",
|
|
60
|
+
"breast cancer",
|
|
61
|
+
"lung cancer",
|
|
62
|
+
"colorectal",
|
|
63
|
+
"prostate",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"STD",
|
|
67
|
+
"STI",
|
|
68
|
+
"chlamydia",
|
|
69
|
+
"gonorrhea",
|
|
70
|
+
"syphilis",
|
|
71
|
+
"sexually transmitted",
|
|
72
|
+
"sexual health",
|
|
73
|
+
},
|
|
74
|
+
{"tuberculosis", "TB", "OTIS", "MDR-TB", "drug-resistant TB"},
|
|
75
|
+
{"fetal death", "stillbirth", "fetal", "stillborn"},
|
|
76
|
+
{"AIDS", "HIV", "epidemic"},
|
|
77
|
+
{"population", "census", "demographics", "projections", "estimates", "denominator"},
|
|
78
|
+
{"sex", "gender", "male", "female"},
|
|
79
|
+
{"state", "states", "county", "counties", "geographic", "geography", "region"},
|
|
80
|
+
{"year", "annual", "yearly", "trend", "trends"},
|
|
81
|
+
{"month", "monthly", "seasonal"},
|
|
82
|
+
{"age", "ages", "age group", "elderly", "children", "young"},
|
|
83
|
+
{"provisional", "recent", "latest", "current"},
|
|
84
|
+
{"historical", "history", "long-term"},
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
# Build reverse lookup: word -> synonym set index
|
|
88
|
+
_WORD_TO_GROUP: dict[str, int] = {}
|
|
89
|
+
for _i, _group in enumerate(_SYNONYMS):
|
|
90
|
+
for _word in _group:
|
|
91
|
+
_WORD_TO_GROUP[_word.lower()] = _i
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _tokenize(text: str) -> set[str]:
|
|
95
|
+
"""Extract tokens and expand synonyms into group IDs."""
|
|
96
|
+
raw_tokens = set(re.findall(r"[a-zA-Z0-9.]+", text.lower()))
|
|
97
|
+
expanded: set[str] = set(raw_tokens)
|
|
98
|
+
for token in raw_tokens:
|
|
99
|
+
idx = _WORD_TO_GROUP.get(token)
|
|
100
|
+
if idx is not None:
|
|
101
|
+
expanded.add(f"__group_{idx}__")
|
|
102
|
+
return expanded
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def _score(prompt_tokens: set[str], item_tokens: set[str]) -> float:
|
|
106
|
+
"""Jaccard-like overlap score, weighted by token count."""
|
|
107
|
+
if not item_tokens:
|
|
108
|
+
return 0.0
|
|
109
|
+
intersection = prompt_tokens & item_tokens
|
|
110
|
+
union = prompt_tokens | item_tokens
|
|
111
|
+
return len(intersection) / len(union)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
@dataclass
|
|
115
|
+
class DatasetMatch:
|
|
116
|
+
dataset: Dataset
|
|
117
|
+
score: float
|
|
118
|
+
reason: str
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
@dataclass
|
|
122
|
+
class QueryMatch:
|
|
123
|
+
query: BundledQuery
|
|
124
|
+
score: float
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def _year_coverage_bonus(prompt: str, ds: "Dataset") -> float:
|
|
128
|
+
"""Boost score if the dataset's year range covers years mentioned in the prompt."""
|
|
129
|
+
import re as _re
|
|
130
|
+
|
|
131
|
+
years = [int(y) for y in _re.findall(r"\b(19\d{2}|20\d{2})\b", prompt)]
|
|
132
|
+
if not years:
|
|
133
|
+
return 0.0
|
|
134
|
+
year_end = ds.year_end or 2026
|
|
135
|
+
covered = sum(1 for y in years if ds.year_start <= y <= year_end)
|
|
136
|
+
return 0.15 * covered / len(years)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def match_datasets(prompt: str, catalog: Catalog, top_n: int = 5) -> list[DatasetMatch]:
|
|
140
|
+
"""Return top-N datasets matching the prompt, scored by keyword overlap."""
|
|
141
|
+
prompt_tokens = _tokenize(prompt)
|
|
142
|
+
results: list[DatasetMatch] = []
|
|
143
|
+
|
|
144
|
+
for ds in catalog.datasets():
|
|
145
|
+
item_tokens = _tokenize(
|
|
146
|
+
" ".join([ds.title, ds.topic, ds.subject, ds.year_range_label] + ds.tags)
|
|
147
|
+
)
|
|
148
|
+
score = _score(prompt_tokens, item_tokens) + _year_coverage_bonus(prompt, ds)
|
|
149
|
+
reason = _build_reason(prompt_tokens, item_tokens, ds)
|
|
150
|
+
results.append(DatasetMatch(dataset=ds, score=score, reason=reason))
|
|
151
|
+
|
|
152
|
+
results.sort(key=lambda x: x.score, reverse=True)
|
|
153
|
+
return results[:top_n]
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def match_queries(prompt: str, catalog: Catalog, top_n: int = 5) -> list[QueryMatch]:
|
|
157
|
+
"""Return top-N bundled queries matching the prompt."""
|
|
158
|
+
prompt_tokens = _tokenize(prompt)
|
|
159
|
+
results: list[QueryMatch] = []
|
|
160
|
+
|
|
161
|
+
for q in catalog.queries():
|
|
162
|
+
item_tokens = _tokenize(
|
|
163
|
+
" ".join(
|
|
164
|
+
[q.description, q.topic, q.year_range, q.dataset_id]
|
|
165
|
+
+ q.tags
|
|
166
|
+
+ q.groupings
|
|
167
|
+
)
|
|
168
|
+
)
|
|
169
|
+
score = _score(prompt_tokens, item_tokens)
|
|
170
|
+
results.append(QueryMatch(query=q, score=score))
|
|
171
|
+
|
|
172
|
+
results.sort(key=lambda x: x.score, reverse=True)
|
|
173
|
+
return results[:top_n]
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
def _build_reason(prompt_tokens: set[str], item_tokens: set[str], ds: Dataset) -> str:
|
|
177
|
+
matched = [t for t in ds.tags if _tokenize(t) & prompt_tokens]
|
|
178
|
+
if matched:
|
|
179
|
+
return f"Matched: {', '.join(matched[:4])}"
|
|
180
|
+
return f"{ds.year_range_label} | {ds.topic}"
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><request-parameters>
|
|
2
|
+
<parameter>
|
|
3
|
+
<name>B_1</name>
|
|
4
|
+
<value>D12.V17-level1</value>
|
|
5
|
+
</parameter>
|
|
6
|
+
<parameter>
|
|
7
|
+
<name>B_2</name>
|
|
8
|
+
<value>*None*</value>
|
|
9
|
+
</parameter>
|
|
10
|
+
<parameter>
|
|
11
|
+
<name>B_3</name>
|
|
12
|
+
<value>*None*</value>
|
|
13
|
+
</parameter>
|
|
14
|
+
<parameter>
|
|
15
|
+
<name>B_4</name>
|
|
16
|
+
<value>*None*</value>
|
|
17
|
+
</parameter>
|
|
18
|
+
<parameter>
|
|
19
|
+
<name>B_5</name>
|
|
20
|
+
<value>*None*</value>
|
|
21
|
+
</parameter>
|
|
22
|
+
<parameter>
|
|
23
|
+
<name>F_D12.V14</name>
|
|
24
|
+
<value>*All*</value>
|
|
25
|
+
</parameter>
|
|
26
|
+
<parameter>
|
|
27
|
+
<name>F_D12.V17</name>
|
|
28
|
+
<value>*All*</value>
|
|
29
|
+
</parameter>
|
|
30
|
+
<parameter>
|
|
31
|
+
<name>I_D12.V14</name>
|
|
32
|
+
<value></value>
|
|
33
|
+
</parameter>
|
|
34
|
+
<parameter>
|
|
35
|
+
<name>I_D12.V17</name>
|
|
36
|
+
<value></value>
|
|
37
|
+
</parameter>
|
|
38
|
+
<parameter>
|
|
39
|
+
<name>M_1</name>
|
|
40
|
+
<value>D12.M1</value>
|
|
41
|
+
</parameter>
|
|
42
|
+
<parameter>
|
|
43
|
+
<name>O_export-format</name>
|
|
44
|
+
<value>xls</value>
|
|
45
|
+
</parameter>
|
|
46
|
+
<parameter>
|
|
47
|
+
<name>O_precision</name>
|
|
48
|
+
<value>0</value>
|
|
49
|
+
</parameter>
|
|
50
|
+
<parameter>
|
|
51
|
+
<name>O_timeout</name>
|
|
52
|
+
<value>600</value>
|
|
53
|
+
</parameter>
|
|
54
|
+
<parameter>
|
|
55
|
+
<name>O_javascript</name>
|
|
56
|
+
<value>on</value>
|
|
57
|
+
</parameter>
|
|
58
|
+
<parameter>
|
|
59
|
+
<name>O_title</name>
|
|
60
|
+
<value></value>
|
|
61
|
+
</parameter>
|
|
62
|
+
<parameter>
|
|
63
|
+
<name>O_oc-sect1-request</name>
|
|
64
|
+
<value>close</value>
|
|
65
|
+
</parameter>
|
|
66
|
+
<parameter>
|
|
67
|
+
<name>O_V14_fmode</name>
|
|
68
|
+
<value>freg</value>
|
|
69
|
+
</parameter>
|
|
70
|
+
<parameter>
|
|
71
|
+
<name>O_V17_fmode</name>
|
|
72
|
+
<value>freg</value>
|
|
73
|
+
</parameter>
|
|
74
|
+
<parameter>
|
|
75
|
+
<name>O_change_action-Send-Export Results</name>
|
|
76
|
+
<value>Export Results</value>
|
|
77
|
+
</parameter>
|
|
78
|
+
<parameter>
|
|
79
|
+
<name>O_show_totals</name>
|
|
80
|
+
<value>true</value>
|
|
81
|
+
</parameter>
|
|
82
|
+
<parameter>
|
|
83
|
+
<name>O_show_zeros</name>
|
|
84
|
+
<value>true</value>
|
|
85
|
+
</parameter>
|
|
86
|
+
<parameter>
|
|
87
|
+
<name>O_show_suppressed</name>
|
|
88
|
+
<value>true</value>
|
|
89
|
+
</parameter>
|
|
90
|
+
<parameter>
|
|
91
|
+
<name>V_D12.V1</name>
|
|
92
|
+
<value>*All*</value>
|
|
93
|
+
</parameter>
|
|
94
|
+
<parameter>
|
|
95
|
+
<name>V_D12.V2</name>
|
|
96
|
+
<value>*All*</value>
|
|
97
|
+
</parameter>
|
|
98
|
+
<parameter>
|
|
99
|
+
<name>V_D12.V3</name>
|
|
100
|
+
<value>*All*</value>
|
|
101
|
+
</parameter>
|
|
102
|
+
<parameter>
|
|
103
|
+
<name>V_D12.V4</name>
|
|
104
|
+
<value>*All*</value>
|
|
105
|
+
</parameter>
|
|
106
|
+
<parameter>
|
|
107
|
+
<name>V_D12.V5</name>
|
|
108
|
+
<value>*All*</value>
|
|
109
|
+
</parameter>
|
|
110
|
+
<parameter>
|
|
111
|
+
<name>V_D12.V6</name>
|
|
112
|
+
<value>*All*</value>
|
|
113
|
+
</parameter>
|
|
114
|
+
<parameter>
|
|
115
|
+
<name>V_D12.V7</name>
|
|
116
|
+
<value>*All*</value>
|
|
117
|
+
</parameter>
|
|
118
|
+
<parameter>
|
|
119
|
+
<name>V_D12.V8</name>
|
|
120
|
+
<value>*All*</value>
|
|
121
|
+
</parameter>
|
|
122
|
+
<parameter>
|
|
123
|
+
<name>V_D12.V9</name>
|
|
124
|
+
<value>*All*</value>
|
|
125
|
+
</parameter>
|
|
126
|
+
<parameter>
|
|
127
|
+
<name>V_D12.V10</name>
|
|
128
|
+
<value>*All*</value>
|
|
129
|
+
</parameter>
|
|
130
|
+
<parameter>
|
|
131
|
+
<name>V_D12.V11</name>
|
|
132
|
+
<value>*All*</value>
|
|
133
|
+
</parameter>
|
|
134
|
+
<parameter>
|
|
135
|
+
<name>V_D12.V12</name>
|
|
136
|
+
<value>*All*</value>
|
|
137
|
+
</parameter>
|
|
138
|
+
<parameter>
|
|
139
|
+
<name>V_D12.V13</name>
|
|
140
|
+
<value>*All*</value>
|
|
141
|
+
</parameter>
|
|
142
|
+
<parameter>
|
|
143
|
+
<name>V_D12.V14</name>
|
|
144
|
+
<value></value>
|
|
145
|
+
</parameter>
|
|
146
|
+
<parameter>
|
|
147
|
+
<name>V_D12.V17</name>
|
|
148
|
+
<value></value>
|
|
149
|
+
</parameter>
|
|
150
|
+
<parameter>
|
|
151
|
+
<name>action-Send</name>
|
|
152
|
+
<value>Send</value>
|
|
153
|
+
</parameter>
|
|
154
|
+
<parameter>
|
|
155
|
+
<name>dataset_code</name>
|
|
156
|
+
<value>D12</value>
|
|
157
|
+
</parameter>
|
|
158
|
+
<parameter>
|
|
159
|
+
<name>dataset_label</name>
|
|
160
|
+
<value>AIDS Public Use (Vintage 1999)</value>
|
|
161
|
+
</parameter>
|
|
162
|
+
<parameter>
|
|
163
|
+
<name>dataset_vintage</name>
|
|
164
|
+
<value></value>
|
|
165
|
+
</parameter>
|
|
166
|
+
<parameter>
|
|
167
|
+
<name>finder-stage-D12.V14</name>
|
|
168
|
+
<value>codeset</value>
|
|
169
|
+
</parameter>
|
|
170
|
+
<parameter>
|
|
171
|
+
<name>finder-stage-D12.V17</name>
|
|
172
|
+
<value>codeset</value>
|
|
173
|
+
</parameter>
|
|
174
|
+
<parameter>
|
|
175
|
+
<name>stage</name>
|
|
176
|
+
<value>request</value>
|
|
177
|
+
</parameter>
|
|
178
|
+
</request-parameters>
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><request-parameters>
|
|
2
|
+
<parameter>
|
|
3
|
+
<name>B_1</name>
|
|
4
|
+
<value>D10.V20</value>
|
|
5
|
+
</parameter>
|
|
6
|
+
<parameter>
|
|
7
|
+
<name>B_2</name>
|
|
8
|
+
<value>*None*</value>
|
|
9
|
+
</parameter>
|
|
10
|
+
<parameter>
|
|
11
|
+
<name>B_3</name>
|
|
12
|
+
<value>*None*</value>
|
|
13
|
+
</parameter>
|
|
14
|
+
<parameter>
|
|
15
|
+
<name>B_4</name>
|
|
16
|
+
<value>*None*</value>
|
|
17
|
+
</parameter>
|
|
18
|
+
<parameter>
|
|
19
|
+
<name>B_5</name>
|
|
20
|
+
<value>*None*</value>
|
|
21
|
+
</parameter>
|
|
22
|
+
<parameter>
|
|
23
|
+
<name>F_D10.V21</name>
|
|
24
|
+
<value>*All*</value>
|
|
25
|
+
</parameter>
|
|
26
|
+
<parameter>
|
|
27
|
+
<name>F_D10.V22</name>
|
|
28
|
+
<value>*All*</value>
|
|
29
|
+
</parameter>
|
|
30
|
+
<parameter>
|
|
31
|
+
<name>F_D10.V37</name>
|
|
32
|
+
<value>*All*</value>
|
|
33
|
+
</parameter>
|
|
34
|
+
<parameter>
|
|
35
|
+
<name>I_D10.V21</name>
|
|
36
|
+
<value></value>
|
|
37
|
+
</parameter>
|
|
38
|
+
<parameter>
|
|
39
|
+
<name>I_D10.V22</name>
|
|
40
|
+
<value></value>
|
|
41
|
+
</parameter>
|
|
42
|
+
<parameter>
|
|
43
|
+
<name>I_D10.V37</name>
|
|
44
|
+
<value></value>
|
|
45
|
+
</parameter>
|
|
46
|
+
<parameter>
|
|
47
|
+
<name>M_1</name>
|
|
48
|
+
<value>D10.M1</value>
|
|
49
|
+
</parameter>
|
|
50
|
+
<parameter>
|
|
51
|
+
<name>O_export-format</name>
|
|
52
|
+
<value>xls</value>
|
|
53
|
+
</parameter>
|
|
54
|
+
<parameter>
|
|
55
|
+
<name>O_timeout</name>
|
|
56
|
+
<value>600</value>
|
|
57
|
+
</parameter>
|
|
58
|
+
<parameter>
|
|
59
|
+
<name>O_javascript</name>
|
|
60
|
+
<value>on</value>
|
|
61
|
+
</parameter>
|
|
62
|
+
<parameter>
|
|
63
|
+
<name>O_title</name>
|
|
64
|
+
<value></value>
|
|
65
|
+
</parameter>
|
|
66
|
+
<parameter>
|
|
67
|
+
<name>O_location</name>
|
|
68
|
+
<value>D10.V21</value>
|
|
69
|
+
</parameter>
|
|
70
|
+
<parameter>
|
|
71
|
+
<name>O_V21_fmode</name>
|
|
72
|
+
<value>freg</value>
|
|
73
|
+
</parameter>
|
|
74
|
+
<parameter>
|
|
75
|
+
<name>O_V22_fmode</name>
|
|
76
|
+
<value>freg</value>
|
|
77
|
+
</parameter>
|
|
78
|
+
<parameter>
|
|
79
|
+
<name>O_V37_fmode</name>
|
|
80
|
+
<value>freg</value>
|
|
81
|
+
</parameter>
|
|
82
|
+
<parameter>
|
|
83
|
+
<name>O_change_action-Send-Export Results</name>
|
|
84
|
+
<value>Export Results</value>
|
|
85
|
+
</parameter>
|
|
86
|
+
<parameter>
|
|
87
|
+
<name>O_show_totals</name>
|
|
88
|
+
<value>true</value>
|
|
89
|
+
</parameter>
|
|
90
|
+
<parameter>
|
|
91
|
+
<name>O_show_zeros</name>
|
|
92
|
+
<value>true</value>
|
|
93
|
+
</parameter>
|
|
94
|
+
<parameter>
|
|
95
|
+
<name>O_show_suppressed</name>
|
|
96
|
+
<value>true</value>
|
|
97
|
+
</parameter>
|
|
98
|
+
<parameter>
|
|
99
|
+
<name>O_precision</name>
|
|
100
|
+
<value>0</value>
|
|
101
|
+
</parameter>
|
|
102
|
+
<parameter>
|
|
103
|
+
<name>V_D10.V4</name>
|
|
104
|
+
<value>*All*</value>
|
|
105
|
+
</parameter>
|
|
106
|
+
<parameter>
|
|
107
|
+
<name>V_D10.V2</name>
|
|
108
|
+
<value>*All*</value>
|
|
109
|
+
</parameter>
|
|
110
|
+
<parameter>
|
|
111
|
+
<name>V_D10.V1</name>
|
|
112
|
+
<value>*All*</value>
|
|
113
|
+
</parameter>
|
|
114
|
+
<parameter>
|
|
115
|
+
<name>V_D10.V5</name>
|
|
116
|
+
<value>*All*</value>
|
|
117
|
+
</parameter>
|
|
118
|
+
<parameter>
|
|
119
|
+
<name>V_D10.V20</name>
|
|
120
|
+
<value>*All*</value>
|
|
121
|
+
</parameter>
|
|
122
|
+
<parameter>
|
|
123
|
+
<name>V_D10.V3</name>
|
|
124
|
+
<value>*All*</value>
|
|
125
|
+
</parameter>
|
|
126
|
+
<parameter>
|
|
127
|
+
<name>V_D10.V6</name>
|
|
128
|
+
<value>*All*</value>
|
|
129
|
+
</parameter>
|
|
130
|
+
<parameter>
|
|
131
|
+
<name>V_D10.V7</name>
|
|
132
|
+
<value>*All*</value>
|
|
133
|
+
</parameter>
|
|
134
|
+
<parameter>
|
|
135
|
+
<name>V_D10.V8</name>
|
|
136
|
+
<value>*All*</value>
|
|
137
|
+
</parameter>
|
|
138
|
+
<parameter>
|
|
139
|
+
<name>V_D10.V9</name>
|
|
140
|
+
<value>*All*</value>
|
|
141
|
+
</parameter>
|
|
142
|
+
<parameter>
|
|
143
|
+
<name>V_D10.V11</name>
|
|
144
|
+
<value>*All*</value>
|
|
145
|
+
</parameter>
|
|
146
|
+
<parameter>
|
|
147
|
+
<name>V_D10.V12</name>
|
|
148
|
+
<value>*All*</value>
|
|
149
|
+
</parameter>
|
|
150
|
+
<parameter>
|
|
151
|
+
<name>V_D10.V16</name>
|
|
152
|
+
<value>*All*</value>
|
|
153
|
+
</parameter>
|
|
154
|
+
<parameter>
|
|
155
|
+
<name>V_D10.V14</name>
|
|
156
|
+
<value>*All*</value>
|
|
157
|
+
</parameter>
|
|
158
|
+
<parameter>
|
|
159
|
+
<name>V_D10.V18</name>
|
|
160
|
+
<value>*All*</value>
|
|
161
|
+
</parameter>
|
|
162
|
+
<parameter>
|
|
163
|
+
<name>V_D10.V15</name>
|
|
164
|
+
<value>*All*</value>
|
|
165
|
+
</parameter>
|
|
166
|
+
<parameter>
|
|
167
|
+
<name>V_D10.V19</name>
|
|
168
|
+
<value>*All*</value>
|
|
169
|
+
</parameter>
|
|
170
|
+
<parameter>
|
|
171
|
+
<name>V_D10.V13</name>
|
|
172
|
+
<value>*All*</value>
|
|
173
|
+
</parameter>
|
|
174
|
+
<parameter>
|
|
175
|
+
<name>V_D10.V17</name>
|
|
176
|
+
<value>*All*</value>
|
|
177
|
+
</parameter>
|
|
178
|
+
<parameter>
|
|
179
|
+
<name>V_D10.V10</name>
|
|
180
|
+
<value>*All*</value>
|
|
181
|
+
</parameter>
|
|
182
|
+
<parameter>
|
|
183
|
+
<name>V_D10.V21</name>
|
|
184
|
+
<value></value>
|
|
185
|
+
</parameter>
|
|
186
|
+
<parameter>
|
|
187
|
+
<name>V_D10.V22</name>
|
|
188
|
+
<value></value>
|
|
189
|
+
</parameter>
|
|
190
|
+
<parameter>
|
|
191
|
+
<name>V_D10.V37</name>
|
|
192
|
+
<value></value>
|
|
193
|
+
</parameter>
|
|
194
|
+
<parameter>
|
|
195
|
+
<name>action-Send</name>
|
|
196
|
+
<value>Send</value>
|
|
197
|
+
</parameter>
|
|
198
|
+
<parameter>
|
|
199
|
+
<name>dataset_code</name>
|
|
200
|
+
<value>D10</value>
|
|
201
|
+
</parameter>
|
|
202
|
+
<parameter>
|
|
203
|
+
<name>dataset_label</name>
|
|
204
|
+
<value>Natality, 1995-2002 Request Form</value>
|
|
205
|
+
</parameter>
|
|
206
|
+
<parameter>
|
|
207
|
+
<name>dataset_vintage</name>
|
|
208
|
+
<value></value>
|
|
209
|
+
</parameter>
|
|
210
|
+
<parameter>
|
|
211
|
+
<name>finder-stage-D10.V21</name>
|
|
212
|
+
<value>codeset</value>
|
|
213
|
+
</parameter>
|
|
214
|
+
<parameter>
|
|
215
|
+
<name>finder-stage-D10.V22</name>
|
|
216
|
+
<value>codeset</value>
|
|
217
|
+
</parameter>
|
|
218
|
+
<parameter>
|
|
219
|
+
<name>finder-stage-D10.V37</name>
|
|
220
|
+
<value>codeset</value>
|
|
221
|
+
</parameter>
|
|
222
|
+
<parameter>
|
|
223
|
+
<name>stage</name>
|
|
224
|
+
<value>request</value>
|
|
225
|
+
</parameter>
|
|
226
|
+
</request-parameters>
|