Compare commits
211 Commits
a6520ea531
...
v0.4.4
| Author | SHA1 | Date | |
|---|---|---|---|
| 48cf707ea6 | |||
| 52d5726641 | |||
| 29a4f238bf | |||
| f86f4a7f2c | |||
| 03d49f4eb6 | |||
| ad91d12875 | |||
| 3363403c8e | |||
| 311a853c31 | |||
| f8a13f1b19 | |||
| db8c1e2119 | |||
| 8147d76ebd | |||
| 39fe848fd4 | |||
| 593e8cbb11 | |||
| 55aa2340ad | |||
| 01c8e2b506 | |||
| 1c1b08c8a1 | |||
| adc2594bfb | |||
| 5bd6b13f7b | |||
| 6a9ca5639e | |||
| 3fc1acafe4 | |||
| 7761cd2b32 | |||
| df22875684 | |||
| 7d4ade03d8 | |||
| 3e91ff7e59 | |||
| 6e4cceae2e | |||
| 68a428f084 | |||
| 3f62ec237b | |||
| d88695dd8b | |||
| e9561f15b3 | |||
| 35c504e842 | |||
| 89fe6688b7 | |||
| 870747d14a | |||
| 65758559cd | |||
| 677de56269 | |||
| 7fb7e5f73e | |||
| 15247c1170 | |||
| 3d3e0c580d | |||
| 54704c7404 | |||
| 7cffa7f5d9 | |||
| a8ada6f73b | |||
| 278864ac6d | |||
| 5619336d09 | |||
| a0f0719f9c | |||
| 49b3d72cb2 | |||
| 4813f63da5 | |||
| 04ef3b0b55 | |||
| 25f0017595 | |||
| a5e39b94d3 | |||
| 9968c28e5c | |||
| 7125b57aa2 | |||
| 958eba6c44 | |||
| fcb5002641 | |||
| b7c824b34a | |||
| e8cf5ab9be | |||
| c35bc8e8a4 | |||
| c2e7119335 | |||
| c6903044aa | |||
| aca893377c | |||
| ccf6fef643 | |||
| c80f2f3a40 | |||
| 804a7ff3d6 | |||
| db2f074cbe | |||
| 7731328402 | |||
| a5d41e88de | |||
| 5ca0ffdd86 | |||
| d82e428e24 | |||
| dc43651043 | |||
| 2fc782a082 | |||
| 2db03cd2cc | |||
| 323abf04dc | |||
| e3de38a794 | |||
| 9ed33227d3 | |||
| 8ddb62ab26 | |||
| c2be28e714 | |||
| dee47229d7 | |||
| a60c2c6c21 | |||
| b759890259 | |||
| c9cf4c5157 | |||
| 45505bd4b8 | |||
| 3e1f6979b5 | |||
| c39615ff85 | |||
| 06d3a6ef13 | |||
| 8c8b8f032c | |||
| 4d24e3f30c | |||
| 57aba6ddc6 | |||
| 665ba07e37 | |||
| 18f71a6a04 | |||
| 83ad838fc4 | |||
| 63ca3fa44f | |||
| fdca2f9c3b | |||
| 3b48bd79e2 | |||
| b620db17d5 | |||
| f2201f4da8 | |||
| b3cf356b32 | |||
| 7cb360b1d2 | |||
| 6beb9318fe | |||
| 423d1c271f | |||
| 53190dddd6 | |||
| 5205c06bab | |||
| b89620b4ed | |||
| c195390fe7 | |||
| e6cb213212 | |||
| 0bce070ae2 | |||
| 9bf4b2d457 | |||
| 68c748b06e | |||
| 2b2ec21c24 | |||
| 80c870f8a0 | |||
| 5da54fa665 | |||
| 39717d3c1d | |||
|
|
777f2b3a0d | ||
|
|
791dda3931 | ||
|
|
205f3e58a1 | ||
|
|
c5e0a7d039 | ||
|
|
3297b88035 | ||
| 18c7029f91 | |||
| 0b3ed58124 | |||
| ea9714686d | |||
| 96c7f1038e | |||
| debd34938f | |||
| 6f9ef8f32c | |||
| 9f903f8971 | |||
| e96406dd66 | |||
| 7c70cbd667 | |||
| 441ba94e45 | |||
| 56353fb6f0 | |||
| 7bfa246e8e | |||
| 575386df1b | |||
| 96448cd6f6 | |||
| 1c19dd476c | |||
| 334dc16c70 | |||
| 41ba52b5e8 | |||
| a5fbd82834 | |||
| 8137b9d6f1 | |||
| 5840b58bca | |||
| ee5e028591 | |||
| 532f5dd501 | |||
| 4c5bee4468 | |||
| 634e7e28eb | |||
| 2b5009d4f5 | |||
| f029d7c962 | |||
| f273edb121 | |||
| f6ea094d5e | |||
| 9f0019a1da | |||
| c8437dd2e1 | |||
| c691d0e46b | |||
| 32d5756d7d | |||
|
|
1a667c5f9a | ||
|
|
a3e60adc5e | ||
| 56c68be788 | |||
| e2dafa0160 | |||
| b955d14708 | |||
|
|
299009f6c9 | ||
|
|
4de0a829dc | ||
| c3983aa607 | |||
| 59b22811a2 | |||
|
|
fb43708aeb | ||
|
|
ce894013c5 | ||
|
|
1db5c0edf7 | ||
|
|
2df304d85e | ||
|
|
077877ec80 | ||
| def389e7fc | |||
|
|
67d74244b3 | ||
| 03e2f6d659 | |||
|
|
581e3a70ba | ||
|
|
455fd529c4 | ||
|
|
18d97f8d16 | ||
|
|
8ddb780c4e | ||
| 6564996858 | |||
| cc8b5fb0d0 | |||
| 5bd5bdced4 | |||
| 94b28ce78f | |||
| 6c6e2ed120 | |||
| 804668dca5 | |||
| d2b35feca7 | |||
| 23586826bb | |||
| 01951a31ca | |||
|
|
381e005976 | ||
| bd5e7517bd | |||
| 4e7aa67afb | |||
| 9dff0a48ae | |||
| f3a7939168 | |||
| 95f596780c | |||
| 4e40212905 | |||
| e29ca3f7a5 | |||
| a930b30ccd | |||
| 2e302e0ac4 | |||
| 39262c35cf | |||
| 44d5defc63 | |||
|
|
1c45affa52 | ||
| 8891af2bd9 | |||
| 0bf74590f6 | |||
| 9fa9bd0e12 | |||
| 43c0191fb2 | |||
| 4c8e55383f | |||
| 959f37daac | |||
| 414b5145a3 | |||
| f60c3b42e3 | |||
| a90fb108d6 | |||
| b65aa7b29d | |||
|
|
5030fa651c | ||
|
|
29fb5d4e22 | ||
| fa447c460a | |||
| 5e5f296994 | |||
|
|
63162aa374 | ||
|
|
e55855f018 | ||
|
|
7a4fd7c267 | ||
|
|
5d6f95f12e | ||
| e04999c0f2 | |||
| 09a2796c4c | |||
| 3d6eb877ec | |||
| 51c4b7aaf1 |
660
.gitea/workflows/ci-cd.yaml
Normal file
660
.gitea/workflows/ci-cd.yaml
Normal file
@@ -0,0 +1,660 @@
|
|||||||
|
name: FHIR IG CI/CD Pipeline with Version Persistence
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: git.dghs.gov.bd
|
||||||
|
IMAGE_NAME: gitadmin/bd-core-fhir-ig
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-ig:
|
||||||
|
runs-on: fhir-runner
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Extract version from IG
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
VERSION=$(grep -oP '<version value="\K[^"]+' input/bd.fhir.core.xml | head -1)
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "ERROR: Could not extract version from ImplementationGuide XML"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Extracted version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
|
||||||
|
BUILD_TYPE="release"
|
||||||
|
TAG_VERSION="${GITHUB_REF#refs/tags/v}"
|
||||||
|
|
||||||
|
if [ "$TAG_VERSION" != "$VERSION" ]; then
|
||||||
|
echo "ERROR: Git tag version ($TAG_VERSION) doesn't match IG version ($VERSION)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
BUILD_TYPE="dev"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "build_type=$BUILD_TYPE" >> $GITHUB_OUTPUT
|
||||||
|
echo "Build type: $BUILD_TYPE"
|
||||||
|
|
||||||
|
- name: Prepare package-list.json and history.xml for IG Publisher
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
BUILD_TYPE="${{ steps.version.outputs.build_type }}"
|
||||||
|
DATE=$(date +%Y-%m-%d)
|
||||||
|
|
||||||
|
export VERSION DATE BUILD_TYPE
|
||||||
|
|
||||||
|
echo "📋 Preparing package-list.json and history.xml for IG Publisher..."
|
||||||
|
|
||||||
|
if [ ! -f "package-list.json" ]; then
|
||||||
|
echo "⚠️ package-list.json not found in repo root"
|
||||||
|
echo "Creating initial package-list.json..."
|
||||||
|
cat > package-list.json << 'PKGEOF'
|
||||||
|
{
|
||||||
|
"package-id": "bd.fhir.core",
|
||||||
|
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||||
|
"canonical": "https://fhir.dghs.gov.bd/core",
|
||||||
|
"introduction": "The Bangladesh Core FHIR IG defines national base profiles, value sets, and extensions for health data interoperability.",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"version": "current",
|
||||||
|
"desc": "Continuous Integration Build (latest in version control)",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/core/",
|
||||||
|
"status": "ci-build",
|
||||||
|
"current": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
PKGEOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
python3 << 'PYEOF'
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
version = os.environ.get('VERSION', '')
|
||||||
|
date = os.environ.get('DATE', '')
|
||||||
|
build_type = os.environ.get('BUILD_TYPE', '')
|
||||||
|
|
||||||
|
with open('package-list.json', 'r', encoding='utf-8') as f:
|
||||||
|
pkg_list = json.load(f)
|
||||||
|
|
||||||
|
if 'list' not in pkg_list or not isinstance(pkg_list['list'], list):
|
||||||
|
print("ERROR: package-list.json does not contain a valid 'list' array")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
current_entries = [e for e in pkg_list['list'] if e.get('version') == 'current']
|
||||||
|
if not current_entries:
|
||||||
|
pkg_list['list'].insert(0, {
|
||||||
|
"version": "current",
|
||||||
|
"desc": "Continuous Integration Build (latest in version control)",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/core/",
|
||||||
|
"status": "ci-build",
|
||||||
|
"current": True
|
||||||
|
})
|
||||||
|
|
||||||
|
if build_type == 'release':
|
||||||
|
version_entry = None
|
||||||
|
for e in pkg_list['list']:
|
||||||
|
if e.get('version') == version:
|
||||||
|
version_entry = e
|
||||||
|
break
|
||||||
|
if version_entry is None:
|
||||||
|
new_entry = {
|
||||||
|
"version": version,
|
||||||
|
"date": date,
|
||||||
|
"desc": f"Release {version}",
|
||||||
|
"path": f"https://fhir.dghs.gov.bd/core/{version}/",
|
||||||
|
"status": "trial-use",
|
||||||
|
"sequence": "STU 1"
|
||||||
|
}
|
||||||
|
|
||||||
|
insert_index = 1
|
||||||
|
for i, entry in enumerate(pkg_list['list']):
|
||||||
|
if entry.get('version') == 'current':
|
||||||
|
insert_index = i + 1
|
||||||
|
break
|
||||||
|
|
||||||
|
pkg_list['list'].insert(insert_index, new_entry)
|
||||||
|
print(f"✅ Added version {version} to package-list.json")
|
||||||
|
else:
|
||||||
|
print(f"ℹ️ Version {version} already exists in package-list.json")
|
||||||
|
else:
|
||||||
|
print("ℹ️ Dev build - using existing package-list.json without release modification")
|
||||||
|
|
||||||
|
with open('package-list.json', 'w', encoding='utf-8') as f:
|
||||||
|
json.dump(pkg_list, f, indent=2, ensure_ascii=False)
|
||||||
|
PYEOF
|
||||||
|
|
||||||
|
echo "🔍 Validating package-list.json..."
|
||||||
|
python3 -m json.tool package-list.json > /dev/null && echo "✅ Valid JSON" || (echo "❌ Invalid JSON!" && exit 1)
|
||||||
|
|
||||||
|
echo "📂 Ensuring package-list.json is in required locations..."
|
||||||
|
mkdir -p input
|
||||||
|
cp package-list.json input/package-list.json
|
||||||
|
|
||||||
|
echo "📝 Generating static history.xml from package-list.json..."
|
||||||
|
mkdir -p input/pagecontent
|
||||||
|
|
||||||
|
python3 << 'PYEOF'
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from html import escape
|
||||||
|
|
||||||
|
os.makedirs('input/pagecontent', exist_ok=True)
|
||||||
|
|
||||||
|
with open('package-list.json', 'r', encoding='utf-8') as f:
|
||||||
|
pkg_list = json.load(f)
|
||||||
|
|
||||||
|
xml = '''<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
|
||||||
|
<p>This page provides the version history for the Bangladesh Core FHIR Implementation Guide.</p>
|
||||||
|
|
||||||
|
<p>For a machine-readable version history see <a href="package-list.json">package-list.json</a>.</p>
|
||||||
|
|
||||||
|
<p><b>Published Versions</b></p>
|
||||||
|
|
||||||
|
<table class="grid table table-striped table-bordered table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Version</th>
|
||||||
|
<th>Date</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
'''
|
||||||
|
|
||||||
|
def version_key(v):
|
||||||
|
try:
|
||||||
|
return tuple(int(x) for x in v.split('.'))
|
||||||
|
except:
|
||||||
|
return (0,)
|
||||||
|
|
||||||
|
published = [
|
||||||
|
e for e in pkg_list['list']
|
||||||
|
if e.get('version') and e.get('version') != "current"
|
||||||
|
]
|
||||||
|
|
||||||
|
# Sort newest version first
|
||||||
|
published.sort(
|
||||||
|
key=lambda e: version_key(e.get("version", "0.0.0")),
|
||||||
|
reverse=True
|
||||||
|
)
|
||||||
|
|
||||||
|
published_found = False
|
||||||
|
first_row = True
|
||||||
|
|
||||||
|
for entry in published:
|
||||||
|
published_found = True
|
||||||
|
|
||||||
|
version = escape(entry.get('version', 'Unknown'))
|
||||||
|
date = escape(entry.get('date', 'N/A'))
|
||||||
|
desc = escape(entry.get('desc', ''))
|
||||||
|
path = escape(entry.get('path', '#'))
|
||||||
|
|
||||||
|
status_val = entry.get('status', 'unknown')
|
||||||
|
|
||||||
|
if status_val == "trial-use":
|
||||||
|
status = '<span class="badge bg-info">Trial Use</span>'
|
||||||
|
elif status_val == "normative":
|
||||||
|
status = '<span class="badge bg-success">Normative</span>'
|
||||||
|
else:
|
||||||
|
status = f'<span class="badge bg-secondary">{escape(status_val)}</span>'
|
||||||
|
|
||||||
|
badge = '<span class="badge bg-success">Latest</span> ' if first_row else ''
|
||||||
|
|
||||||
|
xml += f'''
|
||||||
|
<tr>
|
||||||
|
<td><a href="{path}">{badge}{version}</a></td>
|
||||||
|
<td>{date}</td>
|
||||||
|
<td>{status}</td>
|
||||||
|
<td>{desc}</td>
|
||||||
|
</tr>
|
||||||
|
'''
|
||||||
|
|
||||||
|
first_row = False
|
||||||
|
|
||||||
|
if not published_found:
|
||||||
|
xml += '''
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">No published versions available yet.</td>
|
||||||
|
</tr>
|
||||||
|
'''
|
||||||
|
|
||||||
|
xml += '''
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p class="lead"><b>Continuous Integration Build</b></p>
|
||||||
|
'''
|
||||||
|
|
||||||
|
current_entry = None
|
||||||
|
for entry in pkg_list['list']:
|
||||||
|
if entry.get('version') == 'current':
|
||||||
|
current_entry = entry
|
||||||
|
break
|
||||||
|
|
||||||
|
if current_entry:
|
||||||
|
path = escape(current_entry.get('path', pkg_list.get('canonical', '') + '/'))
|
||||||
|
xml += f'''
|
||||||
|
<p>The latest development build is available at:
|
||||||
|
<a href="{path}">{path}</a></p>
|
||||||
|
'''
|
||||||
|
else:
|
||||||
|
xml += '''
|
||||||
|
<p><i>No CI build entry found in package-list.json.</i></p>
|
||||||
|
'''
|
||||||
|
|
||||||
|
xml += '''
|
||||||
|
</div>
|
||||||
|
'''
|
||||||
|
|
||||||
|
with open('input/pagecontent/history.xml', 'w', encoding='utf-8') as f:
|
||||||
|
f.write(xml)
|
||||||
|
|
||||||
|
print("✅ Generated static history.xml")
|
||||||
|
print(f" File location: {os.path.abspath('input/pagecontent/history.xml')}")
|
||||||
|
print(f" File size: {os.path.getsize('input/pagecontent/history.xml')} bytes")
|
||||||
|
PYEOF
|
||||||
|
|
||||||
|
if [ -f "input/pagecontent/history.xml" ]; then
|
||||||
|
echo "✅ Verified: history.xml exists"
|
||||||
|
echo " First 20 lines:"
|
||||||
|
head -20 input/pagecontent/history.xml
|
||||||
|
else
|
||||||
|
echo "❌ ERROR: history.xml was not created!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ Pre-build preparation complete:"
|
||||||
|
echo " - Root: $(pwd)/package-list.json"
|
||||||
|
echo " - Input: $(pwd)/input/package-list.json"
|
||||||
|
echo " - History: $(pwd)/input/pagecontent/history.xml"
|
||||||
|
echo "==============================="
|
||||||
|
echo "PACKAGE LIST USED FOR BUILD:"
|
||||||
|
cat package-list.json
|
||||||
|
echo "-------------------------------"
|
||||||
|
echo "INPUT COPY:"
|
||||||
|
cat input/package-list.json
|
||||||
|
echo "==============================="
|
||||||
|
|
||||||
|
- name: Emergency Disk Cleanup
|
||||||
|
run: |
|
||||||
|
echo "Disk usage before:"
|
||||||
|
df -h
|
||||||
|
|
||||||
|
echo "Clearing tool cache..."
|
||||||
|
rm -rf /opt/hostedtoolcache/* || true
|
||||||
|
|
||||||
|
rm -rf /usr/share/dotnet || true
|
||||||
|
rm -rf /usr/local/lib/android || true
|
||||||
|
rm -rf /opt/ghc || true
|
||||||
|
rm -rf ~/.fhir/packages || true
|
||||||
|
|
||||||
|
echo "Disk usage after:"
|
||||||
|
df -h
|
||||||
|
|
||||||
|
- name: Install Docker CLI
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y docker.io
|
||||||
|
docker --version
|
||||||
|
|
||||||
|
- name: Preload previous IG package for comparison
|
||||||
|
run: |
|
||||||
|
echo "Detecting previous version..."
|
||||||
|
export VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
PREV_VERSION=$(python3 <<'PY'
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
current_build = os.environ.get("VERSION")
|
||||||
|
|
||||||
|
with open("package-list.json") as f:
|
||||||
|
data = json.load(f)
|
||||||
|
|
||||||
|
def parse(v):
|
||||||
|
try:
|
||||||
|
return tuple(int(x) for x in v.split("."))
|
||||||
|
except:
|
||||||
|
return (0,)
|
||||||
|
|
||||||
|
versions = [
|
||||||
|
v["version"]
|
||||||
|
for v in data["list"]
|
||||||
|
if v.get("version") not in ("current", current_build)
|
||||||
|
]
|
||||||
|
|
||||||
|
versions.sort(key=parse, reverse=True)
|
||||||
|
|
||||||
|
print(versions[0] if versions else "")
|
||||||
|
PY
|
||||||
|
)
|
||||||
|
|
||||||
|
if [ -z "$PREV_VERSION" ]; then
|
||||||
|
echo "No previous version found. Skipping preload."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Previous version detected: $PREV_VERSION"
|
||||||
|
|
||||||
|
mkdir -p previous-packages
|
||||||
|
TMPDIR=$(mktemp -d)
|
||||||
|
|
||||||
|
URL="https://fhir.dghs.gov.bd/core/$PREV_VERSION/package.tgz"
|
||||||
|
|
||||||
|
echo "Downloading $URL"
|
||||||
|
curl -fL "$URL" -o "$TMPDIR/package.tgz"
|
||||||
|
|
||||||
|
mkdir -p "previous-packages/bd.fhir.core#$PREV_VERSION"
|
||||||
|
tar -xzf "$TMPDIR/package.tgz" -C "previous-packages/bd.fhir.core#$PREV_VERSION"
|
||||||
|
|
||||||
|
echo "Previous package cached:"
|
||||||
|
ls previous-packages
|
||||||
|
|
||||||
|
- name: Build FHIR IG
|
||||||
|
run: |
|
||||||
|
echo "Building FHIR IG version ${{ steps.version.outputs.version }}..."
|
||||||
|
|
||||||
|
CONTAINER_ID=$(docker create \
|
||||||
|
-v $(pwd)/previous-packages:/previous-packages \
|
||||||
|
hl7fhir/ig-publisher-base:latest \
|
||||||
|
/bin/bash -c "
|
||||||
|
|
||||||
|
mkdir -p /tmp/build
|
||||||
|
cp -r /home/publisher/ig /tmp/build/ig
|
||||||
|
|
||||||
|
cd /tmp/build/ig
|
||||||
|
mkdir -p input-cache
|
||||||
|
curl -L -o input-cache/publisher.jar https://supervision.dghs.gov.bd/publisher.jar
|
||||||
|
ls -lh input-cache
|
||||||
|
rm -f package-list.json
|
||||||
|
|
||||||
|
_genonce.sh
|
||||||
|
")
|
||||||
|
|
||||||
|
echo "Container ID: $CONTAINER_ID"
|
||||||
|
|
||||||
|
docker cp "$(pwd)/." "$CONTAINER_ID:/home/publisher/ig/"
|
||||||
|
echo "Mounted FHIR packages:"
|
||||||
|
ls -R previous-packages || echo "No previous packages directory"
|
||||||
|
docker start -a "$CONTAINER_ID"
|
||||||
|
EXIT_CODE=$?
|
||||||
|
|
||||||
|
echo "Copying outputs from container..."
|
||||||
|
docker cp "$CONTAINER_ID:/tmp/build/ig/output" ./output || echo "Warning: No output directory"
|
||||||
|
docker cp "$CONTAINER_ID:/tmp/build/ig/fsh-generated" ./fsh-generated || echo "No FSH generated"
|
||||||
|
docker cp "$CONTAINER_ID:/tmp/build/ig/input-cache" ./input-cache || echo "No input-cache"
|
||||||
|
docker cp "$CONTAINER_ID:/tmp/build/ig/temp" ./temp || echo "No temp directory"
|
||||||
|
|
||||||
|
if [ $EXIT_CODE -ne 0 ]; then
|
||||||
|
echo "Build failed, showing logs:"
|
||||||
|
docker logs "$CONTAINER_ID"
|
||||||
|
docker rm "$CONTAINER_ID"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker rm "$CONTAINER_ID"
|
||||||
|
|
||||||
|
if [ ! -f "output/index.html" ]; then
|
||||||
|
echo "ERROR: Build failed - no index.html"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "🔍 Checking for history.html..."
|
||||||
|
if [ -f "output/history.html" ]; then
|
||||||
|
echo "✅ history.html generated successfully!"
|
||||||
|
echo "📄 history.html size: $(ls -lh output/history.html | awk '{print $5}')"
|
||||||
|
else
|
||||||
|
echo "⚠️ WARNING: history.html was NOT generated"
|
||||||
|
echo "This might indicate an issue with the template or history.xml/package-list.json"
|
||||||
|
fi
|
||||||
|
echo "================================"
|
||||||
|
echo "IG Publisher comparison log:"
|
||||||
|
cat output/qa.compare.txt || echo "qa.compare.txt not found"
|
||||||
|
echo "================================"
|
||||||
|
echo "✅ Build successful!"
|
||||||
|
|
||||||
|
- name: Update package-feed.xml for releases
|
||||||
|
if: steps.version.outputs.build_type == 'release'
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
DATETIME=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||||
|
|
||||||
|
if [ ! -f "package-feed.xml" ]; then
|
||||||
|
echo "⚠️ package-feed.xml not found, creating initial feed..."
|
||||||
|
|
||||||
|
cat > package-feed.xml <<EOF
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>bd.fhir.core</title>
|
||||||
|
<id>https://fhir.dghs.gov.bd/core/package-feed.xml</id>
|
||||||
|
<updated>$DATETIME</updated>
|
||||||
|
</feed>
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat > update-feed.py << 'EOF'
|
||||||
|
import sys
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
|
version = sys.argv[1]
|
||||||
|
datetime_iso = sys.argv[2]
|
||||||
|
|
||||||
|
ET.register_namespace('', 'http://www.w3.org/2005/Atom')
|
||||||
|
|
||||||
|
tree = ET.parse('package-feed.xml')
|
||||||
|
root = tree.getroot()
|
||||||
|
ns = {'atom': 'http://www.w3.org/2005/Atom'}
|
||||||
|
|
||||||
|
updated_elem = root.find('atom:updated', ns)
|
||||||
|
if updated_elem is not None:
|
||||||
|
updated_elem.text = datetime_iso
|
||||||
|
|
||||||
|
entry_exists = False
|
||||||
|
for entry in root.findall('atom:entry', ns):
|
||||||
|
title = entry.find('atom:title', ns)
|
||||||
|
if title is not None and version in (title.text or ''):
|
||||||
|
entry_exists = True
|
||||||
|
entry_updated = entry.find('atom:updated', ns)
|
||||||
|
if entry_updated is not None:
|
||||||
|
entry_updated.text = datetime_iso
|
||||||
|
break
|
||||||
|
|
||||||
|
if not entry_exists:
|
||||||
|
new_entry = ET.Element('{http://www.w3.org/2005/Atom}entry')
|
||||||
|
|
||||||
|
title = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}title')
|
||||||
|
title.text = f"bd.fhir.core version {version}"
|
||||||
|
|
||||||
|
link = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}link')
|
||||||
|
link.set('rel', 'alternate')
|
||||||
|
link.set('href', f"https://fhir.dghs.gov.bd/core/{version}/")
|
||||||
|
|
||||||
|
entry_id = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}id')
|
||||||
|
entry_id.text = f"https://fhir.dghs.gov.bd/core/{version}/"
|
||||||
|
|
||||||
|
entry_updated = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}updated')
|
||||||
|
entry_updated.text = datetime_iso
|
||||||
|
|
||||||
|
summary = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}summary')
|
||||||
|
summary.text = f"Release {version} of Bangladesh Core FHIR Implementation Guide"
|
||||||
|
|
||||||
|
insert_pos = 0
|
||||||
|
for i, child in enumerate(root):
|
||||||
|
if child.tag.endswith('entry'):
|
||||||
|
insert_pos = i
|
||||||
|
break
|
||||||
|
insert_pos = i + 1
|
||||||
|
|
||||||
|
root.insert(insert_pos, new_entry)
|
||||||
|
|
||||||
|
tree.write('output/package-feed.xml', encoding='utf-8', xml_declaration=True)
|
||||||
|
print("✅ Updated package-feed.xml")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
python3 update-feed.py "$VERSION" "$DATETIME"
|
||||||
|
|
||||||
|
cp package-list.json output/package-list.json
|
||||||
|
|
||||||
|
echo "📋 Updated registry files"
|
||||||
|
|
||||||
|
- name: Prepare deployment artifact
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
BUILD_TYPE="${{ steps.version.outputs.build_type }}"
|
||||||
|
|
||||||
|
tar -czf ig-output.tar.gz -C output .
|
||||||
|
|
||||||
|
echo "version=$VERSION" > deployment.env
|
||||||
|
echo "build_type=$BUILD_TYPE" >> deployment.env
|
||||||
|
echo "build_date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> deployment.env
|
||||||
|
|
||||||
|
echo "📦 Output contents:"
|
||||||
|
ls -lh output/ | grep -E "(history\.html|package-list\.json|package-feed\.xml|index\.html)" || echo "Some files may be missing"
|
||||||
|
|
||||||
|
ls -lh ig-output.tar.gz
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ig-output
|
||||||
|
path: |
|
||||||
|
ig-output.tar.gz
|
||||||
|
deployment.env
|
||||||
|
package-list.json
|
||||||
|
package-feed.xml
|
||||||
|
retention-days: 30
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
needs: build-ig
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Download artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ig-output
|
||||||
|
|
||||||
|
- name: Load deployment env
|
||||||
|
id: deploy_info
|
||||||
|
run: |
|
||||||
|
source deployment.env
|
||||||
|
echo "version=$version" >> $GITHUB_OUTPUT
|
||||||
|
echo "build_type=$build_type" >> $GITHUB_OUTPUT
|
||||||
|
echo "build_date=$build_date" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
echo "Deploying version: $version"
|
||||||
|
echo "Build type: $build_type"
|
||||||
|
|
||||||
|
- name: Deploy to server
|
||||||
|
uses: appleboy/scp-action@v0.1.7
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
username: ${{ secrets.DEPLOY_USER }}
|
||||||
|
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||||
|
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||||
|
source: "ig-output.tar.gz,deployment.env,package-list.json,package-feed.xml"
|
||||||
|
target: "/tmp/fhir-ig-deploy/"
|
||||||
|
|
||||||
|
- name: Execute deployment on server
|
||||||
|
uses: appleboy/ssh-action@v1.0.3
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
username: ${{ secrets.DEPLOY_USER }}
|
||||||
|
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||||
|
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||||
|
script: |
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source /tmp/fhir-ig-deploy/deployment.env
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
echo "Deploying FHIR IG"
|
||||||
|
echo "Version: $version"
|
||||||
|
echo "Build Type: $build_type"
|
||||||
|
echo "Build Date: $build_date"
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
VERSIONS_DIR="/opt/fhir-ig/versions"
|
||||||
|
mkdir -p "$VERSIONS_DIR"
|
||||||
|
|
||||||
|
if [ "$build_type" = "release" ]; then
|
||||||
|
TARGET_DIR="$VERSIONS_DIR/$version"
|
||||||
|
echo "📦 Deploying release version to: $TARGET_DIR"
|
||||||
|
else
|
||||||
|
TARGET_DIR="$VERSIONS_DIR/dev"
|
||||||
|
echo "🔧 Deploying dev build to: $TARGET_DIR"
|
||||||
|
mkdir -p "$TARGET_DIR"
|
||||||
|
echo "Cleaning old dev files..."
|
||||||
|
rm -rf "$TARGET_DIR"/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$TARGET_DIR"
|
||||||
|
|
||||||
|
echo "Extracting IG output..."
|
||||||
|
tar -xzf /tmp/fhir-ig-deploy/ig-output.tar.gz -C "$TARGET_DIR"
|
||||||
|
|
||||||
|
if [ -f "$TARGET_DIR/history.html" ]; then
|
||||||
|
echo "✅ history.html deployed successfully"
|
||||||
|
else
|
||||||
|
echo "⚠️ WARNING: history.html not found in deployment"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp "$TARGET_DIR/package-list.json" "$VERSIONS_DIR/package-list.json"
|
||||||
|
cp "$TARGET_DIR/package-feed.xml" "$VERSIONS_DIR/package-feed.xml"
|
||||||
|
|
||||||
|
cp "$TARGET_DIR/package-list.json" "/opt/fhir-ig/package-list.json"
|
||||||
|
cp "$TARGET_DIR/package-feed.xml" "/opt/fhir-ig/package-feed.xml"
|
||||||
|
|
||||||
|
if [ "$build_type" = "release" ]; then
|
||||||
|
echo "Updating 'current' symlink to point to $version"
|
||||||
|
rm -f "$VERSIONS_DIR/current"
|
||||||
|
ln -sf "$version" "$VERSIONS_DIR/current"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /opt/fhir-ig
|
||||||
|
|
||||||
|
if [ ! -f "docker-compose.prod.yml" ]; then
|
||||||
|
echo "ERROR: docker-compose.prod.yml not found!"
|
||||||
|
echo "Please deploy the updated docker-compose.prod.yml and nginx.conf first"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker compose -f docker-compose.prod.yml up -d --force-recreate fhir-ig
|
||||||
|
|
||||||
|
rm -rf /tmp/fhir-ig-deploy
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
echo "✅ Deployment completed successfully!"
|
||||||
|
echo "Version $version is now available at:"
|
||||||
|
if [ "$build_type" = "release" ]; then
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/$version/"
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/$version/history.html"
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/ (current)"
|
||||||
|
else
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/dev/"
|
||||||
|
fi
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
echo "Available versions:"
|
||||||
|
ls -lh "$VERSIONS_DIR" | grep -v total
|
||||||
BIN
.gitignore
vendored
BIN
.gitignore
vendored
Binary file not shown.
23
CHANGELOG.md
Normal file
23
CHANGELOG.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## [0.2.0] – 2025-10-02
|
||||||
|
**First official draft release of BD-Core-FHIR-IG**
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **BDPatientProfile** with Bangladesh-specific identifier and address extensions.
|
||||||
|
- **BDPractitionerProfile** to capture practitioner details.
|
||||||
|
- **Identifier CodeSystem and ValueSet** including:
|
||||||
|
- National ID (NID)
|
||||||
|
- Birth Registration Number (BRN)
|
||||||
|
- Unique Health ID (UHID)
|
||||||
|
- **Bangladesh Address profile** with Division, District, Upazila, and Union levels.
|
||||||
|
- Initial **examples** for Patient and Practitioner resources.
|
||||||
|
- Configured **bd.fhir.core.xml** with canonical URL `https://fhir.dghs.gov.bd/core`.
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
- This is a **pre-release draft**.
|
||||||
|
- Backward compatibility is **not guaranteed** until `1.0.0`.
|
||||||
|
- Future drafts may adjust slicing rules, bindings, and extensions.
|
||||||
|
|
||||||
|
---
|
||||||
43
README.md
43
README.md
@@ -1,14 +1,39 @@
|
|||||||
# sample-ig
|
# Bangladesh Core FHIR Implementation Guide (BD-Core-FHIR-IG)
|
||||||
A sample, template-driven implementation guide that provides a starting environment to use a base for defining new IGs
|
|
||||||
|
|
||||||
|
The **Bangladesh Core FHIR Implementation Guide (IG)** defines the national baseline for health data exchange in Bangladesh.
|
||||||
|
It ensures that health information systems can share and understand data consistently, supporting the goals of the **Bangladesh Digital Health Blueprint**.
|
||||||
|
|
||||||
See https://build.fhir.org/ig/FHIR/sample-ig/
|
👉 Published IG: [https://fhir.dghs.gov.bd](https://fhir.dghs.gov.bd)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## FHIR Foundation Project Statement
|
## Purpose
|
||||||
|
|
||||||
* Maintainers: Grahame Grieve / Lloyd Mckenzie
|
- Provide a **national reference** for stakeholders building digital health solutions.
|
||||||
* Issues / Discussion: Use github issues
|
- Ensure alignment with **international FHIR standards**, making future **cross-border health information exchange** possible.
|
||||||
* License: Creative Commons Public Domain
|
- Promote **patient-centered data exchange**, reducing duplication and improving continuity of care.
|
||||||
* Contribution Policy: Make PRs. PRs have to build ok with the latest IG Publisher
|
|
||||||
* Security Information: There should be no security issues here - it's all static content. Can report issues with the standard github repotring method
|
---
|
||||||
|
|
||||||
|
## Using This IG
|
||||||
|
|
||||||
|
- **For Health System Developers:**
|
||||||
|
Use the defined **profiles, value sets, and code systems** in this IG when designing or integrating digital health applications. This ensures interoperability with other systems in Bangladesh and beyond.
|
||||||
|
|
||||||
|
- **For Policymakers and Implementers:**
|
||||||
|
Treat this IG as the **standard reference** for system requirements, data flows, and exchange formats when planning or evaluating digital health projects.
|
||||||
|
|
||||||
|
- **For Vendors and Partners:**
|
||||||
|
Align your solutions with this IG to ensure **compliance with national standards** and **seamless integration** with Bangladesh’s digital health ecosystem.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contributions
|
||||||
|
|
||||||
|
Feedback and contributions are welcome. Issues can be raised through this repository to suggest improvements or alignments.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is released under the [Creative Commons Public Domain License](https://creativecommons.org/publicdomain/).
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ h5:before{color:silver;counter-increment:detail;content:var(--heading-prefix) ".
|
|||||||
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
||||||
</style>
|
</style>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
||||||
{% assign path = page.path | split: '.html' %}
|
{% assign path = page.path | split: '.html' %}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ h5:before{color:silver;counter-increment:detail;content:var(--heading-prefix) ".
|
|||||||
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
||||||
</style>
|
</style>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
||||||
{% if page.path == 'index.html' %}
|
{% if page.path == 'index.html' %}
|
||||||
{% include fragment-igTable.html %}
|
{% include fragment-igTable.html %}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
<h2 id="root">{{[type]}}: {{site.data.pages[page.path].title | escape_once}}
|
<h2 id="root">{{[type]}}: {{site.data.pages[page.path].title | escape_once}}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
|
|
||||||
<div style="counter-reset: section 10" class="col-12">
|
<div style="counter-reset: section 10" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
<h2 id="root">CodeSystem: {{site.data.pages[page.path].title | escape_once}}
|
<h2 id="root">CodeSystem: {{site.data.pages[page.path].title | escape_once}}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
<h2 id="root">Extension: {{site.data.pages[page.path].title | escape_once}}
|
<h2 id="root">Extension: {{site.data.pages[page.path].title | escape_once}}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
|
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section {{section}}" class="col-12">
|
<div style="counter-reset: section {{section}}" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='{{[fmt]}}' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='{{[fmt]}}' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section 4" class="col-12">
|
<div style="counter-reset: section 4" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='definition' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='definition' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section 6" class="col-12">
|
<div style="counter-reset: section 6" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='example' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='example' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section {{section}}" class="col-12">
|
<div style="counter-reset: section {{section}}" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active=format %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active=format %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
|
|
||||||
<div style="counter-reset: section 10" class="col-12">
|
<div style="counter-reset: section 10" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section 5" class="col-12">
|
<div style="counter-reset: section 5" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='mapping' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='mapping' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div style="counter-reset: section 6" class="col-12">
|
<div style="counter-reset: section 6" class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
|
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
---
|
---
|
||||||
{% include fragment-pagebegin.html %}
|
{% include fragment-pagebegin.html %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||||
<a name="root"> </a>
|
<a name="root"> </a>
|
||||||
<h2 id="root">ValueSet: {{site.data.pages[page.path].title | escape_once}}
|
<h2 id="root">ValueSet: {{site.data.pages[page.path].title | escape_once}}
|
||||||
|
|||||||
8
ig.ini
8
ig.ini
@@ -1,14 +1,12 @@
|
|||||||
[IG]
|
[IG]
|
||||||
# ini file for the Implementation Guide publisher
|
# ini file for the Implementation Guide publisher
|
||||||
# see comments below for instructions
|
# see comments below for instructions
|
||||||
|
ig = input/bd.fhir.core.xml
|
||||||
ig = input/myig.xml
|
|
||||||
#template = fhir.base.template#current
|
#template = fhir.base.template#current
|
||||||
template = #bd-national-template
|
template = #bd-national-template
|
||||||
#template = D:\Git\templates\ig-template-base
|
#template = D:\Git\templates\ig-template-base
|
||||||
#template = #local-template
|
#template = #local-template
|
||||||
|
historypage = true
|
||||||
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
### ig.ini parameters: ###
|
### ig.ini parameters: ###
|
||||||
@@ -48,5 +46,3 @@ examples:
|
|||||||
|
|
||||||
# for more documentation on implementation guides and templates, see the FHIR Guidance ImplementationGuide
|
# for more documentation on implementation guides and templates, see the FHIR Guidance ImplementationGuide
|
||||||
# http://build.fhir.org/ig/FHIR/ig-guidance
|
# http://build.fhir.org/ig/FHIR/ig-guidance
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</extension>-->
|
</extension>-->
|
||||||
<url value="https://fhir.dghs.gov.bd/core/ImplementationGuide/bd.fhir.core"/>
|
<url value="https://fhir.dghs.gov.bd/core/ImplementationGuide/bd.fhir.core"/>
|
||||||
<!-- This version will propagate to all artifacts unless the "propagate-version" extension is overridden -->
|
<!-- This version will propagate to all artifacts unless the "propagate-version" extension is overridden -->
|
||||||
<version value="0.2.0"/>
|
<version value="0.4.4"/>
|
||||||
<name value="BangladeshCoreFHIRIG"/>
|
<name value="BangladeshCoreFHIRIG"/>
|
||||||
<title value="Bangladesh Core FHIR Implementation Guide"/>
|
<title value="Bangladesh Core FHIR Implementation Guide"/>
|
||||||
<status value="active"/>
|
<status value="active"/>
|
||||||
@@ -57,91 +57,8 @@
|
|||||||
<reference>
|
<reference>
|
||||||
<reference value="StructureDefinition/bd-patient"/>
|
<reference value="StructureDefinition/bd-patient"/>
|
||||||
</reference>
|
</reference>
|
||||||
<description value="Overriding description because we can"/>
|
<description value="Banlgladesh Patient Profile"/>
|
||||||
</resource>
|
</resource>
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="StructureDefinition/bd-logical"/>
|
|
||||||
</reference>
|
|
||||||
<description value="Logical Model"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="Library/example-sql"/>
|
|
||||||
</reference>
|
|
||||||
<description value="A test example"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="Library/example-image"/>
|
|
||||||
</reference>
|
|
||||||
<description value="A test image example"/>
|
|
||||||
</resource>
|
|
||||||
<!--<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="bd-logicalModel/AS"/>
|
|
||||||
</reference>
|
|
||||||
</resource> -->
|
|
||||||
<resource>
|
|
||||||
<extension url="http://hl7.org/fhir/tools/StructureDefinition/ig-example-actor">
|
|
||||||
<valueCanonical value="https://fhir.dghs.gov.bd/core/ActorDefinition/example"/>
|
|
||||||
</extension>
|
|
||||||
<reference>
|
|
||||||
<reference value="Patient/example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Simple patient example"/>
|
|
||||||
<description value="A simple example showing how examples are defined and referenced"/>
|
|
||||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="Observation/example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Observation patient example"/>
|
|
||||||
<description value="Example showing slicing"/>
|
|
||||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="Binary/example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Example binary"/>
|
|
||||||
<description value="Example showing binary content"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<extension url="http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format">
|
|
||||||
<valueCode value="application/xml"/>
|
|
||||||
</extension>
|
|
||||||
<reference>
|
|
||||||
<reference value="Binary/logical-example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Example of Logical Model"/>
|
|
||||||
<description value="Example showing example content for a logical model"/>
|
|
||||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-logical"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<extension url="http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format">
|
|
||||||
<valueCode value="image/jpeg"/>
|
|
||||||
</extension>
|
|
||||||
<reference>
|
|
||||||
<reference value="Binary/image-example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Example of Binary Image"/>
|
|
||||||
<description value="Example showing example content for an image"/>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="ValueSet/valueset-no-codesystem"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Value set for no code system"/>
|
|
||||||
</resource>
|
|
||||||
<!-- <resource>
|
|
||||||
<reference>
|
|
||||||
<reference value="Library/example"/>
|
|
||||||
</reference>
|
|
||||||
<name value="Simple library example"/>
|
|
||||||
<description value="A simple example showing how library is pre-loaded"/>
|
|
||||||
</resource> -->
|
|
||||||
<page>
|
<page>
|
||||||
<!-- The root will always be toc.html - the template will force it if you don't do it -->
|
<!-- The root will always be toc.html - the template will force it if you don't do it -->
|
||||||
<nameUrl value="toc.html"/>
|
<nameUrl value="toc.html"/>
|
||||||
@@ -161,9 +78,6 @@
|
|||||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
|
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
|
||||||
<valueCode value="trial-use"/>
|
<valueCode value="trial-use"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
|
|
||||||
<valueInteger value="3"/>
|
|
||||||
</extension>
|
|
||||||
<nameUrl value="spec.html"/>
|
<nameUrl value="spec.html"/>
|
||||||
<title value="Detailed BD-Core-FHIR Specification"/>
|
<title value="Detailed BD-Core-FHIR Specification"/>
|
||||||
<generation value="markdown"/>
|
<generation value="markdown"/>
|
||||||
@@ -188,6 +102,11 @@
|
|||||||
<title value="IG Change History"/>
|
<title value="IG Change History"/>
|
||||||
<generation value="html"/>
|
<generation value="html"/>
|
||||||
</page>
|
</page>
|
||||||
|
<page>
|
||||||
|
<nameUrl value="history.html"/>
|
||||||
|
<title value="Version History"/>
|
||||||
|
<generation value="html"/>
|
||||||
|
</page>
|
||||||
</page>
|
</page>
|
||||||
<!-- copyright year is a mandatory parameter -->
|
<!-- copyright year is a mandatory parameter -->
|
||||||
<parameter>
|
<parameter>
|
||||||
@@ -197,7 +116,7 @@
|
|||||||
<!-- releaselabel should be the ballot status for HL7-published IGs. -->
|
<!-- releaselabel should be the ballot status for HL7-published IGs. -->
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="releaselabel"/>
|
<code value="releaselabel"/>
|
||||||
<value value="Published by MoHFW"/>
|
<value value="Published by DGHS, MoHFW"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="find-other-resources"/>
|
<code value="find-other-resources"/>
|
||||||
@@ -236,10 +155,6 @@
|
|||||||
<code value="excludemap"/>
|
<code value="excludemap"/>
|
||||||
<value value="true"/>
|
<value value="true"/>
|
||||||
</parameter>-->
|
</parameter>-->
|
||||||
<parameter>
|
|
||||||
<code value="showsource"/>
|
|
||||||
<value value="true"/>
|
|
||||||
</parameter>
|
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="i18n-default-lang"/>
|
<code value="i18n-default-lang"/>
|
||||||
<value value="en"/>
|
<value value="en"/>
|
||||||
@@ -260,9 +175,5 @@
|
|||||||
<code value="translation-sources"/>
|
<code value="translation-sources"/>
|
||||||
<value value="input/translations-fr"/>
|
<value value="input/translations-fr"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
|
||||||
<code value="fcp-approved-specification"/>
|
|
||||||
<value value="false"/>
|
|
||||||
</parameter>
|
|
||||||
</definition>
|
</definition>
|
||||||
</ImplementationGuide>
|
</ImplementationGuide>
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"options":[
|
|
||||||
"EnableAnnotations",
|
|
||||||
"EnableLocators",
|
|
||||||
"DisableListDemotion",
|
|
||||||
"DisableListPromotion"
|
|
||||||
|
|
||||||
],
|
|
||||||
"formats":[
|
|
||||||
"XML",
|
|
||||||
"JSON"
|
|
||||||
],
|
|
||||||
"validateUnits":true,
|
|
||||||
"verifyOnly":false,
|
|
||||||
"errorLevel":"Info",
|
|
||||||
"signatureLevel":"None"
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
library example version '1.0.0'
|
|
||||||
|
|
||||||
using FHIR version '4.0.1'
|
|
||||||
|
|
||||||
include fhir.cqf.common.FHIRHelpers version '4.0.1'
|
|
||||||
|
|
||||||
codesystem "Observation Category Codes": 'http://terminology.hl7.org/CodeSystem/observation-category'
|
|
||||||
|
|
||||||
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
|
|
||||||
valueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'
|
|
||||||
valueset "Telephone Evaluation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1082'
|
|
||||||
valueset "Telephone Management": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1053'
|
|
||||||
|
|
||||||
valueset "COVID-19 Screening Result": 'TBD'
|
|
||||||
|
|
||||||
code "Laboratory Observation Category": 'laboratory' from "Observation Category Codes"
|
|
||||||
|
|
||||||
parameter "Measurement Period" Interval<DateTime>
|
|
||||||
|
|
||||||
context Patient
|
|
||||||
|
|
||||||
define "Inpatient, Emergency, or Telephone Evaluation or Management Encounter":
|
|
||||||
(
|
|
||||||
[Encounter: "Encounter Inpatient"]
|
|
||||||
union [Encounter: "Emergency Department Visit"]
|
|
||||||
union [Encounter: "Telephone Evaluation"]
|
|
||||||
union [Encounter: "Telephone Management"]
|
|
||||||
) Encounter
|
|
||||||
where Encounter.status = 'finished'
|
|
||||||
and Encounter.period during "Measurement Period"
|
|
||||||
|
|
||||||
define "Initial Population":
|
|
||||||
exists ("Inpatient, Emergency, or Telephone Evaluation or Management Encounter")
|
|
||||||
|
|
||||||
define "Denominator":
|
|
||||||
true
|
|
||||||
|
|
||||||
define "COVID-19 Communicable Disease Screening":
|
|
||||||
[Observation: "COVID-19 Screening Result"] Result
|
|
||||||
where exists (Result.category C where C ~ "Laboratory Observation Category")
|
|
||||||
and Result.status in { 'final', 'amended', 'corrected' }
|
|
||||||
and Result.effective during "Measurement Period"
|
|
||||||
|
|
||||||
define "Numerator":
|
|
||||||
exists ("COVID-19 Communicable Disease Screening")
|
|
||||||
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
library notincluded
|
|
||||||
|
|
||||||
// Example library that doesn't get included, so results in a missed warning
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"resourceType" : "Binary",
|
|
||||||
"id" : "example",
|
|
||||||
"data" : "ig-loader-example.pdf"
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB |
@@ -1,4 +0,0 @@
|
|||||||
<MyLogical xmlns="http://example.org/logical">
|
|
||||||
<element1 value="1"/>
|
|
||||||
<element2 value="This is a string">Text</element2>
|
|
||||||
</MyLogical>
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"resourceType" : "Library",
|
|
||||||
"id": "example",
|
|
||||||
"url" : "http://somewhere.org/fhir/uv/myig/Library/example",
|
|
||||||
"version" : "1.0.0",
|
|
||||||
"name": "Example",
|
|
||||||
"title": "Example CQL Library",
|
|
||||||
"status" : "draft",
|
|
||||||
"experimental": true,
|
|
||||||
"description": "Some example library",
|
|
||||||
"type" : {
|
|
||||||
"coding" : [{
|
|
||||||
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
|
|
||||||
"code" : "logic-library"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"subjectCodeableConcept": {
|
|
||||||
"coding": [{
|
|
||||||
"system": "http://hl7.org/fhir/resource-types",
|
|
||||||
"code": "Patient"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"content" : [{
|
|
||||||
"id" : "ig-loader-example.cql"
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
test comment for display
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<Observation xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
|
||||||
<id value="example"/>
|
|
||||||
<meta>
|
|
||||||
<profile value="http://somewhere.org/fhir/uv/myig/StructureDefinition/myObservation"/>
|
|
||||||
</meta>
|
|
||||||
<status value="final"/>
|
|
||||||
<subject>
|
|
||||||
<reference value="http://somewhere.else.org/pas/server/Patient/example"/>
|
|
||||||
</subject>
|
|
||||||
<code>
|
|
||||||
<coding>
|
|
||||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
|
||||||
<code value="01"/>
|
|
||||||
<display value="CS1"/>
|
|
||||||
</coding>
|
|
||||||
<coding>
|
|
||||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
|
||||||
<code value="01"/>
|
|
||||||
<display value="CS2"/>
|
|
||||||
</coding>
|
|
||||||
<coding>
|
|
||||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
|
||||||
<code value="01"/>
|
|
||||||
<display value="VS1"/>
|
|
||||||
</coding>
|
|
||||||
<coding>
|
|
||||||
<system value="http://loinc.org"/>
|
|
||||||
<code value="85354-9"/>
|
|
||||||
</coding>
|
|
||||||
<coding>
|
|
||||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
|
||||||
<code value="01"/>
|
|
||||||
<display value="VS2"/>
|
|
||||||
</coding>
|
|
||||||
</code>
|
|
||||||
<component>
|
|
||||||
<code>
|
|
||||||
<coding>
|
|
||||||
<system value="http://loinc.org"/>
|
|
||||||
<code value="8480-6"/>
|
|
||||||
</coding>
|
|
||||||
</code>
|
|
||||||
<valueQuantity>
|
|
||||||
<value value="1"/>
|
|
||||||
<system value="http://unitsofmeasure.org"/>
|
|
||||||
<code value="mm[Hg]"/>
|
|
||||||
</valueQuantity>
|
|
||||||
</component>
|
|
||||||
<component>
|
|
||||||
<code>
|
|
||||||
<coding>
|
|
||||||
<system value="http://loinc.org"/>
|
|
||||||
<code value="8462-4"/>
|
|
||||||
</coding>
|
|
||||||
</code>
|
|
||||||
<valueQuantity>
|
|
||||||
<value value="1"/>
|
|
||||||
<system value="http://unitsofmeasure.org"/>
|
|
||||||
<code value="mm[Hg]"/>
|
|
||||||
</valueQuantity>
|
|
||||||
</component>
|
|
||||||
</Observation>
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
test comment for display
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
|
||||||
<id value="example"/>
|
|
||||||
<meta>
|
|
||||||
<profile value="http://somewhere.org/fhir/uv/myig/StructureDefinition/mypatient"/>
|
|
||||||
</meta>
|
|
||||||
<extension url="http://somewhere.org/fhir/uv/myig/StructureDefinition/ext-myExtension">
|
|
||||||
<valueBoolean value="false"/>
|
|
||||||
</extension>
|
|
||||||
<name>
|
|
||||||
<use value="usual"/>
|
|
||||||
<family value="Smith"/>
|
|
||||||
<given value="Jack"/>
|
|
||||||
</name>
|
|
||||||
<name>
|
|
||||||
<use value="official"/>
|
|
||||||
<family value="Smith"/>
|
|
||||||
<given value="John"/>
|
|
||||||
<given value="Jacob"/>
|
|
||||||
<given value="Jingleheimer"/>
|
|
||||||
<period>
|
|
||||||
<end value="2001-01-01"/>
|
|
||||||
</period>
|
|
||||||
</name>
|
|
||||||
<name>
|
|
||||||
<use value="official"/>
|
|
||||||
<family value="Smith"/>
|
|
||||||
<given value="John"/>
|
|
||||||
<given value="Jacob"/>
|
|
||||||
<given value="Jingleheimer"/>
|
|
||||||
<period>
|
|
||||||
<start value="2001-01-01"/>
|
|
||||||
</period>
|
|
||||||
</name>
|
|
||||||
<birthDate value="2018-09-07"/>
|
|
||||||
<maritalStatus>
|
|
||||||
<text value="Married"/>
|
|
||||||
</maritalStatus>
|
|
||||||
</Patient>
|
|
||||||
22
input/fsh/codeSystems/BBImmunizationReactionCS.fsh
Normal file
22
input/fsh/codeSystems/BBImmunizationReactionCS.fsh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
CodeSystem: BDImmunizationReactionCS
|
||||||
|
Id: bd-immunization-reaction
|
||||||
|
Title: "Bangladesh Immunization Reaction Code System"
|
||||||
|
Description: "Codes for adverse reactions after vaccination in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-reaction"
|
||||||
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
* ^content = #complete
|
||||||
|
|
||||||
|
* #NONE "No Reaction"
|
||||||
|
"No adverse reaction observed after vaccination."
|
||||||
|
* #FEVER "Fever"
|
||||||
|
"Elevated body temperature following vaccination."
|
||||||
|
* #SWELLING "Swelling"
|
||||||
|
"Local swelling at the injection site."
|
||||||
|
* #RASH "Rash"
|
||||||
|
"Generalized or localized rash after vaccination."
|
||||||
|
* #ANAPHYLAXIS "Anaphylaxis"
|
||||||
|
"Severe immediate allergic reaction following vaccination."
|
||||||
|
* #OTHER "Other Reaction"
|
||||||
|
"Any other adverse reaction not categorized above."
|
||||||
@@ -6,6 +6,8 @@ Id: bd-blood-groups
|
|||||||
Title: "Bangladesh Blood Group CodeSystem"
|
Title: "Bangladesh Blood Group CodeSystem"
|
||||||
Description: "Blood group codes according to CCDS guideline"
|
Description: "Blood group codes according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-blood-groups"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-blood-groups"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
* #1 "O Positive"
|
* #1 "O Positive"
|
||||||
* #2 "O Negative"
|
* #2 "O Negative"
|
||||||
@@ -20,7 +22,7 @@ Description: "Blood group codes according to CCDS guideline"
|
|||||||
// ValueSet for BD Blood Groups
|
// ValueSet for BD Blood Groups
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
ValueSet: BDBloodGroupVS
|
ValueSet: BDBloodGroupVS
|
||||||
Id: bd-blood-group-vs
|
Id: bd-blood-group-valueset
|
||||||
Title: "Bangladesh Blood Group ValueSet"
|
Title: "Bangladesh Blood Group ValueSet"
|
||||||
Description: "Blood group value set according to CCDS guideline"
|
Description: "Blood group value set according to CCDS guideline"
|
||||||
* include codes from system BDBloodGroupCS
|
* include codes from system BDBloodGroupCS
|
||||||
|
|||||||
203
input/fsh/codeSystems/BDCountryListCS.fsh
Normal file
203
input/fsh/codeSystems/BDCountryListCS.fsh
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
CodeSystem: BDCountryListCS
|
||||||
|
Id: bd-country-list
|
||||||
|
Title: "Nationality List"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
|
* #4 "Afghan"
|
||||||
|
* #8 "Albanian"
|
||||||
|
* #12 "Algerian"
|
||||||
|
* #840 "American"
|
||||||
|
* #20 "Andorran"
|
||||||
|
* #24 "Angolan"
|
||||||
|
* #28 "Antiguans"
|
||||||
|
* #32 "Argentine"
|
||||||
|
* #51 "Armenian"
|
||||||
|
* #36 "Australian"
|
||||||
|
* #40 "Austrian"
|
||||||
|
* #31 "Azerbaijani"
|
||||||
|
* #44 "Bahamian"
|
||||||
|
* #48 "Bahraini"
|
||||||
|
* #50 "Bangladeshi"
|
||||||
|
* #52 "Barbadian"
|
||||||
|
* #112 "Belarusian"
|
||||||
|
* #56 "Belgian"
|
||||||
|
* #84 "Belizean"
|
||||||
|
* #204 "Beninese"
|
||||||
|
* #64 "Bhutanese"
|
||||||
|
* #68 "Bolivian"
|
||||||
|
* #70 "Bosnian"
|
||||||
|
* #76 "Brazilian"
|
||||||
|
* #826 "British (collective)"
|
||||||
|
* #96 "Bruneian"
|
||||||
|
* #100 "Bulgarian"
|
||||||
|
* #854 "Burkinabe"
|
||||||
|
* #108 "Burundian"
|
||||||
|
* #116 "Cambodian"
|
||||||
|
* #120 "Cameroonian"
|
||||||
|
* #124 "Canadian"
|
||||||
|
* #140 "Central African"
|
||||||
|
* #152 "Chilean"
|
||||||
|
* #156 "Chinese"
|
||||||
|
* #170 "Colombian"
|
||||||
|
* #174 "Comoran"
|
||||||
|
* #180 "Congolese"
|
||||||
|
* #178 "Congolese"
|
||||||
|
* #188 "Costa Rican"
|
||||||
|
* #191 "Croatian"
|
||||||
|
* #192 "Cuban"
|
||||||
|
* #196 "Cypriot"
|
||||||
|
* #203 "Czech"
|
||||||
|
* #208 "Danish"
|
||||||
|
* #262 "Djibouti"
|
||||||
|
* #212 "Dominican"
|
||||||
|
* #214 "Dominican"
|
||||||
|
* #528 "Dutch"
|
||||||
|
* #218 "Ecuadorean"
|
||||||
|
* #818 "Egyptian"
|
||||||
|
* #784 "Emirian"
|
||||||
|
* #226 "Equatorial Guinean"
|
||||||
|
* #232 "Eritrean"
|
||||||
|
* #233 "Estonian"
|
||||||
|
* #231 "Ethiopian"
|
||||||
|
* #242 "Fijian"
|
||||||
|
* #608 "Filipino"
|
||||||
|
* #246 "Finnish"
|
||||||
|
* #250 "French"
|
||||||
|
* #266 "Gabonese"
|
||||||
|
* #270 "Gambian"
|
||||||
|
* #268 "Georgian"
|
||||||
|
* #276 "German"
|
||||||
|
* #288 "Ghanaian"
|
||||||
|
* #300 "Greek"
|
||||||
|
* #308 "Grenadian"
|
||||||
|
* #320 "Guatemalan"
|
||||||
|
* #624 "Guinea-Bissauan"
|
||||||
|
* #324 "Guinean"
|
||||||
|
* #328 "Guyanese"
|
||||||
|
* #332 "Haitian"
|
||||||
|
* #340 "Honduran"
|
||||||
|
* #348 "Hungarian"
|
||||||
|
* #296 "I-Kiribati"
|
||||||
|
* #352 "Icelander"
|
||||||
|
* #356 "Indian"
|
||||||
|
* #360 "Indonesian"
|
||||||
|
* #364 "Iranian"
|
||||||
|
* #368 "Iraqi"
|
||||||
|
* #372 "Irish"
|
||||||
|
* #380 "Italian"
|
||||||
|
* #384 "Ivorian"
|
||||||
|
* #388 "Jamaican"
|
||||||
|
* #392 "Japanese"
|
||||||
|
* #400 "Jordanian"
|
||||||
|
* #398 "Kazakhstani"
|
||||||
|
* #404 "Kenyan"
|
||||||
|
* #659 "Kittian and Nevisian"
|
||||||
|
* #414 "Kuwaiti"
|
||||||
|
* #417 "Kyrgyz"
|
||||||
|
* #418 "Lao"
|
||||||
|
* #428 "Latvian"
|
||||||
|
* #422 "Lebanese"
|
||||||
|
* #430 "Liberian"
|
||||||
|
* #434 "Libyan"
|
||||||
|
* #438 "Liechtensteiner"
|
||||||
|
* #440 "Lithuanian"
|
||||||
|
* #442 "Luxembourger"
|
||||||
|
* #807 "Macedonian"
|
||||||
|
* #450 "Malagasy"
|
||||||
|
* #454 "Malawian"
|
||||||
|
* #458 "Malaysian"
|
||||||
|
* #462 "Maldivan"
|
||||||
|
* #466 "Malian"
|
||||||
|
* #470 "Maltese"
|
||||||
|
* #584 "Marshallese"
|
||||||
|
* #478 "Mauritanian"
|
||||||
|
* #480 "Mauritian"
|
||||||
|
* #484 "Mexican"
|
||||||
|
* #583 "Micronesian"
|
||||||
|
* #498 "Moldovan"
|
||||||
|
* #492 "Monegasque"
|
||||||
|
* #496 "Mongolian"
|
||||||
|
* #504 "Moroccan"
|
||||||
|
* #426 "Mosotho"
|
||||||
|
* #72 "Motswana"
|
||||||
|
* #508 "Mozambican"
|
||||||
|
* #104 "Myanmarese"
|
||||||
|
* #516 "Namibian"
|
||||||
|
* #520 "Nauruan"
|
||||||
|
* #524 "Nepalese"
|
||||||
|
* #554 "New Zealander"
|
||||||
|
* #548 "Ni-Vanuatu"
|
||||||
|
* #558 "Nicaraguan"
|
||||||
|
* #566 "Nigerian"
|
||||||
|
* #562 "Nigerien"
|
||||||
|
* #408 "North Korean"
|
||||||
|
* #578 "Norwegian"
|
||||||
|
* #512 "Omani"
|
||||||
|
* #586 "Pakistani"
|
||||||
|
* #585 "Palauan"
|
||||||
|
* #591 "Panamanian"
|
||||||
|
* #598 "Papua New Guinean"
|
||||||
|
* #600 "Paraguayan"
|
||||||
|
* #604 "Peruvian"
|
||||||
|
* #616 "Polish"
|
||||||
|
* #620 "Portuguese"
|
||||||
|
* #634 "Qatari"
|
||||||
|
* #642 "Romanian"
|
||||||
|
* #643 "Russian"
|
||||||
|
* #646 "Rwandan"
|
||||||
|
* #662 "Saint Lucian"
|
||||||
|
* #222 "Salvadoran"
|
||||||
|
* #674 "Sammarinese"
|
||||||
|
* #882 "Samoan"
|
||||||
|
* #678 "Sao Tomean"
|
||||||
|
* #682 "Saudi"
|
||||||
|
* #686 "Senegalese"
|
||||||
|
* #891 "Serbian"
|
||||||
|
* #690 "Seychellois"
|
||||||
|
* #694 "Sierra Leonean"
|
||||||
|
* #702 "Singaporean"
|
||||||
|
* #703 "Slovak"
|
||||||
|
* #705 "Slovene"
|
||||||
|
* #90 "Solomon Islander"
|
||||||
|
* #706 "Somali"
|
||||||
|
* #710 "South African"
|
||||||
|
* #410 "South Korean"
|
||||||
|
* #724 "Spanish"
|
||||||
|
* #144 "Sri Lankan"
|
||||||
|
* #736 "Sudanese"
|
||||||
|
* #740 "Surinamer"
|
||||||
|
* #748 "Swazi"
|
||||||
|
* #752 "Swedish"
|
||||||
|
* #756 "Swiss"
|
||||||
|
* #760 "Syrian"
|
||||||
|
* #158 "Taiwanese"
|
||||||
|
* #762 "Tajik"
|
||||||
|
* #834 "Tanzanian"
|
||||||
|
* #764 "Thai"
|
||||||
|
* #768 "Togolese"
|
||||||
|
* #776 "Tongan"
|
||||||
|
* #780 "Trinidadian"
|
||||||
|
* #788 "Tunisian"
|
||||||
|
* #792 "Turkish"
|
||||||
|
* #795 "Turkmen(s)"
|
||||||
|
* #798 "Tuvaluan"
|
||||||
|
* #800 "Ugandan"
|
||||||
|
* #804 "Ukrainian"
|
||||||
|
* #858 "Uruguayan"
|
||||||
|
* #860 "Uzbek"
|
||||||
|
* #862 "Venezuelan"
|
||||||
|
* #132 "Verdian"
|
||||||
|
* #704 "Vietnamese"
|
||||||
|
* #887 "Yemeni"
|
||||||
|
* #894 "Zambian"
|
||||||
|
* #716 "Zimbabwean"
|
||||||
|
|
||||||
|
|
||||||
|
ValueSet: BDCountryListVS
|
||||||
|
Id: bd-country-list-valueset
|
||||||
|
Title: "Nationality ValueSet"
|
||||||
|
Description: "Nationality value set"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list-valueset"
|
||||||
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list
|
||||||
33
input/fsh/codeSystems/BDDGDADrugCS.fsh
Normal file
33
input/fsh/codeSystems/BDDGDADrugCS.fsh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
CodeSystem: BDDGDADrugCS
|
||||||
|
Id: dgda-drug-registry
|
||||||
|
Title: "DGDA Drug Registry Code System"
|
||||||
|
Description: """
|
||||||
|
Code system representing the Drug Registration Authority (DGDA) of Bangladesh's
|
||||||
|
official drug registry. Concepts are maintained in the national OCL terminology
|
||||||
|
server at https://tr.ocl.dghs.gov.bd and are not enumerated within this
|
||||||
|
Implementation Guide.
|
||||||
|
|
||||||
|
This code system contains two concept classes:
|
||||||
|
- **Drug**: Finished pharmaceutical drug products (identified by DAR number and trade name)
|
||||||
|
- **Ingredient**: Raw material / active pharmaceutical ingredients
|
||||||
|
|
||||||
|
Concept IDs follow the format: {DAR-number}--{trade-name-slug}
|
||||||
|
Example: 353-0026-039--marvelous-fe
|
||||||
|
|
||||||
|
**Canonical URL note:** https://dgda.gov.bd/drug-registry is a logical identifier
|
||||||
|
only and does not resolve to a web endpoint.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://dgda.gov.bd/drug-registry"
|
||||||
|
* ^version = "v1.0.0"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "Directorate General of Drug Administration (DGDA), Government of Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^content = #not-present
|
||||||
|
* ^count = 39196
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^valueSet = "https://dgda.gov.bd/fhir/ValueSet/registered-drugs"
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
CodeSystem: BDGeoCodesCS
|
CodeSystem: BDGeoCodesCS
|
||||||
Id: bd-geocodes-cs
|
Id: bd-geocodes
|
||||||
Title: "Bangladesh Address Codes"
|
Title: "Bangladesh GeoCodes CodeSystem"
|
||||||
Description: "Bangladesh Address Codes"
|
Description: "Bangladesh GeoCodes"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
// DIvisions
|
// DIvisions
|
||||||
* #30 "Dhaka"
|
* #30 "Dhaka"
|
||||||
* #20 "Chattogram"
|
* #20 "Chattogram"
|
||||||
@@ -1601,10 +1603,10 @@ Description: "Bangladesh Address Codes"
|
|||||||
* #4589009077 "Sreebardi Pourasabha"
|
* #4589009077 "Sreebardi Pourasabha"
|
||||||
|
|
||||||
ValueSet: BDDivisionsVS
|
ValueSet: BDDivisionsVS
|
||||||
Id: bd-division-code-vs
|
Id: bd-division-code-valueset
|
||||||
Title: "Bangladesh Division ValueSet"
|
Title: "Bangladesh Division ValueSet"
|
||||||
Description: "Bangladesh Division Codes (only two-digit codes)"
|
Description: "Bangladesh Division Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-divisions"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-division-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 2 digits
|
// include only codes that are exactly 2 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1612,10 +1614,10 @@ Description: "Bangladesh Division Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDDistrictsVS
|
ValueSet: BDDistrictsVS
|
||||||
Id: bd-district-code-vs
|
Id: bd-district-code-valueset
|
||||||
Title: "Bangladesh district ValueSet"
|
Title: "Bangladesh district ValueSet"
|
||||||
Description: "Bangladesh district Codes (only two-digit codes)"
|
Description: "Bangladesh district Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-districts"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-district-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 4 digits
|
// include only codes that are exactly 4 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1623,10 +1625,10 @@ Description: "Bangladesh district Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDCityCorporationsVS
|
ValueSet: BDCityCorporationsVS
|
||||||
Id: bd-city-corporations-code-vs
|
Id: bd-city-corporation-code-valueset
|
||||||
Title: "Bangladesh City Corperation ValueSet"
|
Title: "Bangladesh City Corperation ValueSet"
|
||||||
Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-city-corporations"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-city-corporation-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 6 digits
|
// include only codes that are exactly 6 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1634,20 +1636,20 @@ Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDUpazillasVS
|
ValueSet: BDUpazillasVS
|
||||||
Id: bd-upazillas-code-vs
|
Id: bd-upazilla-code-valueset
|
||||||
Title: "Bangladesh Upazila ValueSet"
|
Title: "Bangladesh Upazila ValueSet"
|
||||||
Description: "Bangladesh Upazila Codes (only two-digit codes)"
|
Description: "Bangladesh Upazila Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-upazillas"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-upazilla-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 8 digits
|
// include only codes that are exactly 8 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
where code regex "^[0-9]{8}$"
|
where code regex "^[0-9]{8}$"
|
||||||
|
|
||||||
ValueSet: BDMunicipalitiesVS
|
ValueSet: BDMunicipalitiesVS
|
||||||
Id: bd-municipalities-code-vs
|
Id: bd-municipalities-code-valueset
|
||||||
Title: "Bangladesh Municipalities ValueSet"
|
Title: "Bangladesh Municipalities ValueSet"
|
||||||
Description: "Bangladesh Municipalities Codes (only two-digit codes)"
|
Description: "Bangladesh Municipalities Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-municipalities"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-municipalities-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 10 digits
|
// include only codes that are exactly 10 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
|
|||||||
24
input/fsh/codeSystems/BDIdentifierType.fsh
Normal file
24
input/fsh/codeSystems/BDIdentifierType.fsh
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
//// this code systems for Identifier types
|
||||||
|
|
||||||
|
CodeSystem: BangladeshIdentifierType
|
||||||
|
Id: bd-identifier-type
|
||||||
|
Title: "Bangladesh Identifier Types"
|
||||||
|
Description: "Codes identifying the type of identifiers used in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
|
* #NID "National ID"
|
||||||
|
* #BRN "Birth Registration Number"
|
||||||
|
* #UHID "Unique Health ID"
|
||||||
|
|
||||||
|
|
||||||
|
ValueSet: BangladeshIdentifierTypeVS
|
||||||
|
Id: bd-identifier-type-valueset
|
||||||
|
Title: "Bangladesh Identifier Type"
|
||||||
|
Description: "Bangladesh Standard Identifier type"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
|
||||||
|
// * include codes from valueset http://hl7.org/fhir/ValueSet/identifier-type /// use name or uri
|
||||||
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type
|
||||||
|
|
||||||
|
////////////// end identifier types
|
||||||
20
input/fsh/codeSystems/BDImmunizationSiteCS.fsh
Normal file
20
input/fsh/codeSystems/BDImmunizationSiteCS.fsh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
CodeSystem: BDImmunizationSiteCS
|
||||||
|
Id: bd-immunization-site
|
||||||
|
Title: "Bangladesh Immunization Site Code System"
|
||||||
|
Description: "Codes for anatomical site of vaccine administration in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-site"
|
||||||
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
* ^content = #complete
|
||||||
|
|
||||||
|
* #LA "Left Arm"
|
||||||
|
"Vaccine administered in the left arm (intramuscular or subcutaneous)."
|
||||||
|
* #RA "Right Arm"
|
||||||
|
"Vaccine administered in the right arm."
|
||||||
|
* #LT "Left Thigh"
|
||||||
|
"Vaccine administered in the left thigh."
|
||||||
|
* #RT "Right Thigh"
|
||||||
|
"Vaccine administered in the right thigh."
|
||||||
|
* #ORAL "Oral"
|
||||||
|
"Vaccine administered orally (e.g., OPV, Rotavirus)."
|
||||||
24
input/fsh/codeSystems/BDMedicationCS.fsh
Normal file
24
input/fsh/codeSystems/BDMedicationCS.fsh
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
CodeSystem: BDMedicationCS
|
||||||
|
Id: bd-medication-code
|
||||||
|
Title: "Bangladesh Medication Codes"
|
||||||
|
Description: "Bangladesh Medication Codes"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-medication-code"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
// DGDA DAR Code "Brand Name"
|
||||||
|
* #394-0010-030 "Tubutol" "Ethambutol"
|
||||||
|
* #394-0011-030 "AFDCDT-2" "Isoniazid + Rifampicin"
|
||||||
|
* #394-0012-030 "AFDCDT-3" "Isoniazid + Pyrazinamide + Rifampicin"
|
||||||
|
* #394-0017-046 "Levetiracetam 250" "Levetiracetam"
|
||||||
|
* #394-0021-028 "Donepezil Hydrochloride 5" "Donepezil Hydrochloride"
|
||||||
|
* #355-0065-023 "Cefufine" "Cefuroxime"
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------
|
||||||
|
// ValueSet for BD Medication
|
||||||
|
// ---------------------------
|
||||||
|
ValueSet: BDMedicationVS
|
||||||
|
Id: bd-medication-valueset
|
||||||
|
Title: "Bangladesh Medication ValueSet"
|
||||||
|
Description: "Bangladesh Medication ValueSet"
|
||||||
|
* include codes from system BDMedicationCS
|
||||||
40
input/fsh/codeSystems/BDMedicationForm.fsh
Normal file
40
input/fsh/codeSystems/BDMedicationForm.fsh
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
// ---------------------------
|
||||||
|
// CodeSystem for BD Medication Dose Forms
|
||||||
|
// ---------------------------
|
||||||
|
CodeSystem: BDMedicationDoseForm
|
||||||
|
Id: bd-dose-form
|
||||||
|
Title: "Bangladesh Medication Dose Form CodeSystem"
|
||||||
|
Description: "Medication dose form codes according to CCDS guideline"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-dose-form"
|
||||||
|
* ^content = #complete
|
||||||
|
|
||||||
|
* #TAB "Tablet"
|
||||||
|
"Solid oral dosage form, usually uncoated or coated, intended for swallowing."
|
||||||
|
* #DTAB "Dispersible Tablet"
|
||||||
|
"Tablet designed to be dissolved/dispersed in water before administration."
|
||||||
|
* #CAP "Capsule"
|
||||||
|
"Solid dosage form with active ingredients enclosed in a gelatin shell."
|
||||||
|
* #SYP "Syrup"
|
||||||
|
"Liquid oral dosage form containing active substance(s) in solution."
|
||||||
|
* #SUSP "Suspension"
|
||||||
|
"Liquid oral dosage form with insoluble particles dispersed in a liquid."
|
||||||
|
* #PFS "Powder for Suspension"
|
||||||
|
"Powder that requires reconstitution into a liquid suspension before use."
|
||||||
|
* #INJ "Injection"
|
||||||
|
"Sterile solution or suspension intended for parenteral administration."
|
||||||
|
* #SOL "Solution"
|
||||||
|
"Liquid dosage form where drug is fully dissolved in a solvent."
|
||||||
|
* #CRM "Cream"
|
||||||
|
"Semi-solid topical dosage form containing the drug in an emulsion base."
|
||||||
|
* #LOT "Lotion"
|
||||||
|
"Low-viscosity liquid topical dosage form for external application."
|
||||||
|
|
||||||
|
|
||||||
|
// // ---------------------------
|
||||||
|
// // ValueSet for BD Medication Dose Forms
|
||||||
|
// // ---------------------------
|
||||||
|
// ValueSet: BDMedicationDoseFormVS
|
||||||
|
// Id: bd-dose-form-valueset
|
||||||
|
// Title: "Bangladesh Medication Dose Form ValueSet"
|
||||||
|
// Description: "Medication dose form value set according to CCDS guideline"
|
||||||
|
// * ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-valueset"
|
||||||
@@ -1,83 +1,84 @@
|
|||||||
CodeSystem: bd-occupations
|
CodeSystem: BDOccupationsCS
|
||||||
Id: bangladesh-occupations-cs
|
Id: bd-occupations
|
||||||
Title: "Bangladesh Occupations"
|
Title: "Bangladesh Occupations"
|
||||||
|
Description: "Occupations code system according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations"
|
||||||
|
|
||||||
* #1 "Physical Scientists & Related Technicians" "ভৌত বিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
* #1 "Physical Scientists & Related Technicians" "ভৌত বিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||||
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি "
|
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি"
|
||||||
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান "
|
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান"
|
||||||
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা "
|
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা"
|
||||||
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান "
|
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||||
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক "
|
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক"
|
||||||
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী "
|
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী"
|
||||||
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী "
|
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী"
|
||||||
* #9 "Economists" "অর্থনীতিবিদ"
|
* #9 "Economists" "অর্থনীতিবিদ"
|
||||||
* #10 "Accountants" "হিসাবরক্ষক"
|
* #10 "Accountants" "হিসাবরক্ষক"
|
||||||
* #12 "Judges" "বিচারক"
|
* #12 "Judges" "বিচারক"
|
||||||
* #13 "Teachers" "শিক্ষক"
|
* #13 "Teachers" "শিক্ষক"
|
||||||
* #14 "Religious Workers" "ধর্মীয় কর্মী"
|
* #14 "Religious Workers" "ধর্মীয় কর্মী"
|
||||||
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী "
|
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী"
|
||||||
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী "
|
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী"
|
||||||
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী "
|
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী"
|
||||||
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী "
|
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী"
|
||||||
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী "
|
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী"
|
||||||
* #20 "Lawyers" "আইনজীবী"
|
* #20 "Lawyers" "আইনজীবী"
|
||||||
* #21 "Managers" "ম্যানেজার"
|
* #21 "Managers" "ম্যানেজার"
|
||||||
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা "
|
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা"
|
||||||
* #31 "Clerks" "করণিক (কেরানী)"
|
* #31 "Clerks" "করণিক (কেরানী)"
|
||||||
* #32 "Typists, Stenographers and Computer Operators" "টাইপিস্ট/স্টেনোগ্রাফার/কম্পিউটার অপারেটর"
|
* #32 "Typists, Stenographers and Computer Operators" "টাইপিস্ট/স্টেনোগ্রাফার/কম্পিউটার অপারেটর"
|
||||||
* #33 "Record Keepers, Cahiers and Related Staffs" "রেকর্ড কিপার, ক্যাশিয়ার ও এতদসম্পর্কিত কর্মী"
|
* #33 "Record Keepers, Cahiers and Related Staffs" "রেকর্ড কিপার, ক্যাশিয়ার ও এতদসম্পর্কিত কর্মী"
|
||||||
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী "
|
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী"
|
||||||
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক "
|
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক"
|
||||||
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক) "
|
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক)"
|
||||||
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন) "
|
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন)"
|
||||||
* #38 "Telephone and Telegraph Operators" "টেলিফোন ও টেলিগ্রাফ অপারেটর"
|
* #38 "Telephone and Telegraph Operators" "টেলিফোন ও টেলিগ্রাফ অপারেটর"
|
||||||
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ "
|
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ"
|
||||||
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা) "
|
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা)"
|
||||||
* #42 "Sales Supervisors" "বিক্রয় তত্ত্বাবধায়ক"
|
* #42 "Sales Supervisors" "বিক্রয় তত্ত্বাবধায়ক"
|
||||||
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী "
|
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী"
|
||||||
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা "
|
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা"
|
||||||
* #45 "Street and Market Salespersons" "ফেরিওয়ালা "
|
* #45 "Street and Market Salespersons" "ফেরিওয়ালা"
|
||||||
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী "
|
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী"
|
||||||
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার "
|
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার"
|
||||||
* #51 "Hotel Proprietors" "হোটেল মালিক "
|
* #51 "Hotel Proprietors" "হোটেল মালিক"
|
||||||
* #52 "Residential Hotel Supervisors" "আবাসিক হোটেল তত্ত্বাবধায়ক"
|
* #52 "Residential Hotel Supervisors" "আবাসিক হোটেল তত্ত্বাবধায়ক"
|
||||||
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী "
|
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী"
|
||||||
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা "
|
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা"
|
||||||
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী "
|
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী"
|
||||||
* #56 "Laundry Workers" "ধোপা "
|
* #56 "Laundry Workers" "ধোপা"
|
||||||
* #58 "Security Guards" "নিরাপত্তা কর্মী "
|
* #58 "Security Guards" "নিরাপত্তা কর্মী"
|
||||||
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী "
|
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী"
|
||||||
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক "
|
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক"
|
||||||
* #61 "Crop and Livestock Farmers" "কৃষিকাজ "
|
* #61 "Crop and Livestock Farmers" "কৃষিকাজ"
|
||||||
* #63 "Forestry Workers" "বন কর্মী "
|
* #63 "Forestry Workers" "বন কর্মী"
|
||||||
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী "
|
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী"
|
||||||
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান "
|
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান"
|
||||||
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী "
|
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী"
|
||||||
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী "
|
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী"
|
||||||
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী "
|
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী"
|
||||||
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা "
|
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা"
|
||||||
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী "
|
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী"
|
||||||
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী "
|
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী"
|
||||||
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী "
|
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী"
|
||||||
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী "
|
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী"
|
||||||
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী "
|
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী"
|
||||||
* #81 "Carpenters" "কাঠমিস্ত্রি "
|
* #81 "Carpenters" "কাঠমিস্ত্রি"
|
||||||
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী "
|
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী"
|
||||||
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী "
|
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী"
|
||||||
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী "
|
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী"
|
||||||
* #85 "Electricians" "বৈদ্যুতিক কর্মী"
|
* #85 "Electricians" "বৈদ্যুতিক কর্মী"
|
||||||
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী "
|
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী"
|
||||||
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী "
|
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী"
|
||||||
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার "
|
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার"
|
||||||
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী "
|
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী"
|
||||||
* #90 "Rubber and Plastic Products Makers" "রাবার ও প্লাস্টিক দ্রব্য প্রস্তুতকারী"
|
* #90 "Rubber and Plastic Products Makers" "রাবার ও প্লাস্টিক দ্রব্য প্রস্তুতকারী"
|
||||||
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী "
|
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী"
|
||||||
* #92 "Printers and Related Workers" "মুদ্রণকাজ"
|
* #92 "Printers and Related Workers" "মুদ্রণকাজ"
|
||||||
|
|
||||||
ValueSet: bd-occupations
|
ValueSet: BDOccupationsVS
|
||||||
Id: bd-occupations-vs
|
Id: bd-occupations-valueset
|
||||||
Title: "Bangladesh Occupations ValueSet"
|
Title: "Bangladesh Occupations ValueSet"
|
||||||
Description: "Occupations value set according to CCDS guideline"
|
Description: "Occupations value set according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations-valueset"
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
//codeSystems/bd-regions.fsh
|
//codeSystems/bd-regions.fsh
|
||||||
CodeSystem: bd-religions
|
CodeSystem: BDReligionsCS
|
||||||
Id: bangladesh-religions-cs
|
Id: bd-religions
|
||||||
Title: "Bangladesh Religions"
|
Title: "Bangladesh Religions"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions"
|
||||||
|
|
||||||
@@ -12,9 +12,9 @@ Title: "Bangladesh Religions"
|
|||||||
* #9 "Not a believer" "Identifies as not having a religion"
|
* #9 "Not a believer" "Identifies as not having a religion"
|
||||||
* #0 "Other (specify)" "Other religion (to be specified in free text)"
|
* #0 "Other (specify)" "Other religion (to be specified in free text)"
|
||||||
|
|
||||||
ValueSet: bd-religions
|
ValueSet: BDReligionsVS
|
||||||
Id: bd-religions-vs
|
Id: bd-religions-valueset
|
||||||
Title: "Bangladesh Religions ValueSet"
|
Title: "Bangladesh Religions ValueSet"
|
||||||
Description: "Religions value set according to CCDS guideline"
|
Description: "Religions value set according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-religions"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-religions-valueset"
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions
|
||||||
30
input/fsh/codeSystems/BDVaccineCodesCS.fsh
Normal file
30
input/fsh/codeSystems/BDVaccineCodesCS.fsh
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
CodeSystem: BDVaccineCS
|
||||||
|
Id: bd-vaccine-code
|
||||||
|
Title: "Bangladesh Vaccine Code System"
|
||||||
|
Description: "Vaccine codes used in Bangladesh EPI and immunization program."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-vaccine-code"
|
||||||
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
* ^content = #complete
|
||||||
|
|
||||||
|
* #BCG "BCG Vaccine"
|
||||||
|
"Bacillus Calmette-Guérin vaccine, used against tuberculosis."
|
||||||
|
* #OPV "Oral Polio Vaccine (OPV)"
|
||||||
|
"Live attenuated oral polio vaccine."
|
||||||
|
* #IPV "Inactivated Polio Vaccine (IPV)"
|
||||||
|
"Inactivated polio vaccine."
|
||||||
|
* #PENTA "Pentavalent Vaccine"
|
||||||
|
"DTP-HepB-Hib combined vaccine."
|
||||||
|
* #MR "Measles-Rubella (MR) Vaccine"
|
||||||
|
"Combined measles and rubella vaccine."
|
||||||
|
* #TT "Tetanus Toxoid (TT) Vaccine"
|
||||||
|
"Vaccine used for tetanus prevention."
|
||||||
|
* #PCV10 "Pneumococcal Conjugate Vaccine"
|
||||||
|
"10-valent pneumococcal conjugate vaccine."
|
||||||
|
* #ROTA "Rotavirus Vaccine"
|
||||||
|
"Live attenuated rotavirus vaccine for diarrheal disease prevention."
|
||||||
|
* #HPV "Human Papillomavirus (HPV) Vaccine"
|
||||||
|
"Vaccine used for prevention of cervical cancer and HPV-related diseases."
|
||||||
|
* #COVID19 "COVID-19 Vaccine"
|
||||||
|
"Vaccines against SARS-CoV-2 (various manufacturers)."
|
||||||
47
input/fsh/codeSystems/ICD11MMSCS.fsh
Normal file
47
input/fsh/codeSystems/ICD11MMSCS.fsh
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
// ============================================================
|
||||||
|
// CodeSystem-icd11-mms.fsh
|
||||||
|
// ICD-11 Mortality and Morbidity Statistics (MMS) — stub only
|
||||||
|
// Content is hosted externally; canonical authority is WHO.
|
||||||
|
// Runtime resolution via OCL: https://tr.ocl.dghs.gov.bd
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
CodeSystem: ICD11MMSCS
|
||||||
|
Id: icd11-mms
|
||||||
|
Title: "ICD-11 Mortality and Morbidity Statistics (MMS)"
|
||||||
|
Description: """
|
||||||
|
WHO ICD-11 Mortality and Morbidity Statistics linearization.
|
||||||
|
Canonical system URI: http://id.who.int/icd/release/11/mms
|
||||||
|
|
||||||
|
This CodeSystem is declared as a stub (content = #not-present).
|
||||||
|
The authoritative content is maintained by the World Health Organization.
|
||||||
|
In Bangladesh, runtime code validation and lookup are delegated to the
|
||||||
|
national OCL terminology server at https://tr.ocl.dghs.gov.bd.
|
||||||
|
|
||||||
|
Supported operations (use system= parameter, not url=):
|
||||||
|
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||||
|
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||||
|
|
||||||
|
$expand is not supported — known OCL limitation. Expansion must not be
|
||||||
|
attempted at build time or by IG Publisher.
|
||||||
|
|
||||||
|
Preferred code form: short stem codes (e.g. 1A00, NC72.Z).
|
||||||
|
Linearization URIs are not used as code identifiers in this IG.
|
||||||
|
|
||||||
|
Version 2025-01 is imported into OCL with 36,941 concepts across
|
||||||
|
the following concept classes: Diagnosis, Finding, Substance, Organism,
|
||||||
|
Device, Anatomy, Misc.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "http://id.who.int/icd/release/11/mms"
|
||||||
|
* ^version = "2025-01"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "World Health Organization (WHO)"
|
||||||
|
* ^contact.name = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^copyright = "ICD-11 is copyright © World Health Organization. Used under licence."
|
||||||
|
* ^content = #not-present
|
||||||
|
* ^count = 36941
|
||||||
|
* ^caseSensitive = true
|
||||||
20
input/fsh/codeSystems/ImmunizationRoute.fsh
Normal file
20
input/fsh/codeSystems/ImmunizationRoute.fsh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
CodeSystem: BDImmunizationRouteCS
|
||||||
|
Id: bd-immunization-route
|
||||||
|
Title: "Bangladesh Immunization Route Code System"
|
||||||
|
Description: "Codes for routes of vaccine administration in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-route"
|
||||||
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
* ^content = #complete
|
||||||
|
|
||||||
|
* #IM "Intramuscular"
|
||||||
|
"Vaccine administered into a muscle."
|
||||||
|
* #SC "Subcutaneous"
|
||||||
|
"Vaccine administered under the skin."
|
||||||
|
* #ID "Intradermal"
|
||||||
|
"Vaccine administered into the dermis layer of the skin."
|
||||||
|
* #ORAL "Oral"
|
||||||
|
"Vaccine administered orally."
|
||||||
|
* #IN "Intranasal"
|
||||||
|
"Vaccine administered via the nose."
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
//// this code systems for Identifier types
|
|
||||||
|
|
||||||
CodeSystem: BangladeshIdentifierType
|
|
||||||
Id: bangladesh-identifier-type-cs
|
|
||||||
Title: "Bangladesh Identifier Types"
|
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
|
|
||||||
|
|
||||||
* #TYPE_NID "National ID"
|
|
||||||
* #TYPE_BRN "Birth Registration Number"
|
|
||||||
* #TYPE_UID "Unique ID"
|
|
||||||
|
|
||||||
|
|
||||||
ValueSet: BangladeshIdentifierTypeVS
|
|
||||||
Id: bangladesh-identifier-type-vs
|
|
||||||
Title: "Bangladesh Identifier Type"
|
|
||||||
Description: "Bangladesh Standard Identifier type"
|
|
||||||
// * include codes from valueset http://hl7.org/fhir/ValueSet/identifier-type /// use name or uri
|
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type
|
|
||||||
|
|
||||||
////////////// end identifier types
|
|
||||||
25
input/fsh/examples/BDEncounterExample.fsh
Normal file
25
input/fsh/examples/BDEncounterExample.fsh
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Instance: BDEncounterExample
|
||||||
|
InstanceOf: BDEncounter
|
||||||
|
Usage: #example
|
||||||
|
Title: "Example of a Bangladesh Patient Encounter"
|
||||||
|
Description: "An example of an outpatient encounter for a Bangladesh patient."
|
||||||
|
|
||||||
|
* identifier[0].value = "ENC-2023-001"
|
||||||
|
* identifier[0].system = "https://fhir.dghs.gov.bd/core/identifier/encounter"
|
||||||
|
|
||||||
|
* status = #finished
|
||||||
|
|
||||||
|
// Must use a code from your BDEncounterClassSubsetVS
|
||||||
|
// Example using standard HL7 ActCode for ambulatory (outpatient)
|
||||||
|
* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#AMB "ambulatory"
|
||||||
|
|
||||||
|
// Reference the patient example we created in the previous step
|
||||||
|
* subject = Reference(BDPatientExample)
|
||||||
|
|
||||||
|
// serviceProvider is 1..1 in your profile
|
||||||
|
* serviceProvider = Reference(BDOrganizationExample)
|
||||||
|
|
||||||
|
// participant and participant.period are 1..1
|
||||||
|
* participant[0].individual = Reference(BDPractitionerExample)
|
||||||
|
* participant[0].period.start = "2023-10-27T10:00:00Z"
|
||||||
|
* participant[0].period.end = "2023-10-27T10:30:00Z"
|
||||||
33
input/fsh/examples/BDMedicationExample.fsh
Normal file
33
input/fsh/examples/BDMedicationExample.fsh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
Instance: BDMedicationExample
|
||||||
|
InstanceOf: BDMedication
|
||||||
|
Title: "Medication Example — Marvelous Fe (Combination Drug)"
|
||||||
|
Description: """
|
||||||
|
Example BDMedication instance for Marvelous Fe, a combination drug containing
|
||||||
|
ferrous sulphate and folic acid. Demonstrates multi-ingredient handling with
|
||||||
|
ICD-11 MMS substance codes populated from OCL Has-active-ingredient mappings.
|
||||||
|
Dose form coded using EDQM Standard Terms.
|
||||||
|
"""
|
||||||
|
Usage: #example
|
||||||
|
|
||||||
|
* code.coding[0].system = "https://dgda.gov.bd/drug-registry"
|
||||||
|
* code.coding[0].code = #353-0026-039--marvelous-fe
|
||||||
|
* code.coding[0].display = "Marvelous Fe"
|
||||||
|
* code.text = "Marvelous Fe"
|
||||||
|
|
||||||
|
* form.coding[0].system = "http://standardterms.edqm.eu"
|
||||||
|
* form.coding[0].code = #10219000
|
||||||
|
* form.coding[0].display = "Tablet"
|
||||||
|
|
||||||
|
// Ingredient 1: Ferrous Sulphate → ICD-11 XM substance code
|
||||||
|
* ingredient[0].itemCodeableConcept.coding[0].system = "http://id.who.int/icd/release/11/mms"
|
||||||
|
* ingredient[0].itemCodeableConcept.coding[0].code = #XM3SQ1
|
||||||
|
* ingredient[0].itemCodeableConcept.coding[0].display = "Ferrous sulphate"
|
||||||
|
* ingredient[0].itemCodeableConcept.text = "Ferrous sulphate"
|
||||||
|
* ingredient[0].isActive = true
|
||||||
|
|
||||||
|
// Ingredient 2: Folic Acid → ICD-11 XM substance code
|
||||||
|
* ingredient[1].itemCodeableConcept.coding[0].system = "http://id.who.int/icd/release/11/mms"
|
||||||
|
* ingredient[1].itemCodeableConcept.coding[0].code = #XM7R82
|
||||||
|
* ingredient[1].itemCodeableConcept.coding[0].display = "Folic acid"
|
||||||
|
* ingredient[1].itemCodeableConcept.text = "Folic acid"
|
||||||
|
* ingredient[1].isActive = true
|
||||||
41
input/fsh/examples/BDMedicationRequestExample.fsh
Normal file
41
input/fsh/examples/BDMedicationRequestExample.fsh
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
Instance: BDMedicationRequestExample
|
||||||
|
InstanceOf: BDMedicationRequest
|
||||||
|
Title: "Medication Request Example — Marvelous Fe Prescription"
|
||||||
|
Description: """
|
||||||
|
Example BDMedicationRequest instance prescribing Marvelous Fe. Demonstrates
|
||||||
|
the full prescription chain: BDMedicationRequest → BDMedication → DGDA code
|
||||||
|
→ ICD-11 substance ingredients. Route of administration coded using HL7 v3
|
||||||
|
RouteOfAdministration.
|
||||||
|
"""
|
||||||
|
Usage: #example
|
||||||
|
|
||||||
|
* identifier[0].system = "https://fhir.dghs.gov.bd/identifier/prescription"
|
||||||
|
* identifier[0].value = "RX-2024-BD-000001"
|
||||||
|
|
||||||
|
* status = #active
|
||||||
|
* intent = #order
|
||||||
|
|
||||||
|
* medicationReference = Reference(BDMedicationExample)
|
||||||
|
|
||||||
|
* subject = Reference(BDPatientExample)
|
||||||
|
* subject.display = "Example Patient"
|
||||||
|
|
||||||
|
* encounter = Reference(BDEncounterExample)
|
||||||
|
* encounter.display = "Example Outpatient Encounter"
|
||||||
|
|
||||||
|
* authoredOn = "2024-11-01T10:30:00+06:00"
|
||||||
|
|
||||||
|
* requester = Reference(BDPractitionerExample)
|
||||||
|
* requester.display = "Example Practitioner"
|
||||||
|
|
||||||
|
* dosageInstruction[0].text = "Take 1 tablet daily after meals"
|
||||||
|
* dosageInstruction[0].timing.repeat.frequency = 1
|
||||||
|
* dosageInstruction[0].timing.repeat.period = 1
|
||||||
|
* dosageInstruction[0].timing.repeat.periodUnit = #d
|
||||||
|
* dosageInstruction[0].route.coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration"
|
||||||
|
* dosageInstruction[0].route.coding[0].code = #PO
|
||||||
|
* dosageInstruction[0].route.coding[0].display = "Swallow, oral"
|
||||||
|
* dosageInstruction[0].doseAndRate[0].doseQuantity.value = 1
|
||||||
|
* dosageInstruction[0].doseAndRate[0].doseQuantity.unit = "tablet"
|
||||||
|
* dosageInstruction[0].doseAndRate[0].doseQuantity.system = "http://unitsofmeasure.org"
|
||||||
|
* dosageInstruction[0].doseAndRate[0].doseQuantity.code = #{tbl}
|
||||||
22
input/fsh/examples/BDOrganizationExample.fsh
Normal file
22
input/fsh/examples/BDOrganizationExample.fsh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Instance: BDOrganizationExample
|
||||||
|
InstanceOf: BDOrganization
|
||||||
|
Usage: #example
|
||||||
|
Title: "Dhaka Medical College Hospital"
|
||||||
|
Description: "Example for DMCH using the Facility Code 10000033"
|
||||||
|
|
||||||
|
// Strictly following 'identifier 1..* MS' from your profile
|
||||||
|
* identifier[0].value = "10000033"
|
||||||
|
* identifier[0].system = "http://hrm.dghs.gov.bd/facilities/code" // Using a generic DGHS system
|
||||||
|
* identifier[0].type = http://terminology.hl7.org/CodeSystem/v2-0203#FI "Facility ID"
|
||||||
|
|
||||||
|
* name = "Dhaka Medical College Hospital"
|
||||||
|
|
||||||
|
// Standard FHIR Address fields (No 'division' as a top-level field)
|
||||||
|
* address[0].line = "100 Ramna"
|
||||||
|
* address[0].city = "Dhaka"
|
||||||
|
* address[0].district = "Dhaka"
|
||||||
|
* address[0].country = "BD"
|
||||||
|
|
||||||
|
// To include Division without a 'does not exist' error, use the extension syntax:
|
||||||
|
* address[0].extension[0].url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-division"
|
||||||
|
* address[0].extension[0].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#30 "Dhaka"
|
||||||
39
input/fsh/examples/BDPatientExample.fsh
Normal file
39
input/fsh/examples/BDPatientExample.fsh
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Instance: BDPatientExample
|
||||||
|
InstanceOf: BDPatient
|
||||||
|
Usage: #example
|
||||||
|
Title: "Example of a Bangladesh Patient"
|
||||||
|
Description: "A minimal example for a patient satisfying name translations and address requirements."
|
||||||
|
|
||||||
|
// Required Name with English and Bangla Translations
|
||||||
|
* name[0].use = #official
|
||||||
|
* name[0].text = "Abul Kashem"
|
||||||
|
* name[0].text.extension[nameEn].extension[lang].valueCode = #en
|
||||||
|
* name[0].text.extension[nameEn].extension[content].valueString = "Abul Kashem"
|
||||||
|
* name[0].text.extension[nameBn].extension[lang].valueCode = #bn
|
||||||
|
* name[0].text.extension[nameBn].extension[content].valueString = "আবুল কাশেম"
|
||||||
|
|
||||||
|
// Required Gender and BirthDate (for clinical completeness)
|
||||||
|
* gender = #male
|
||||||
|
* birthDate = "1985-05-20"
|
||||||
|
|
||||||
|
// Identifier Slice: NID Example
|
||||||
|
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
|
* identifier[NID].type.coding.code = #NID
|
||||||
|
* identifier[NID].value = "1234567890"
|
||||||
|
|
||||||
|
// --- Address with required extensions ---
|
||||||
|
* address[0].use = #home
|
||||||
|
* address[0].line = "House 12, Road 5"
|
||||||
|
* address[0].city = "Dhamrai"
|
||||||
|
* address[0].district = "Dhaka" // This is a native field in your profile
|
||||||
|
* address[0].postalCode = "1350"
|
||||||
|
* address[0].country = "BD"
|
||||||
|
|
||||||
|
// The "Division" extension (Must match the name in BDAddress)
|
||||||
|
* address[0].extension[division].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#30 "Dhaka"
|
||||||
|
|
||||||
|
// The "Upazilla" extension (Must match the name in BDAddress)
|
||||||
|
* address[0].extension[upazilla].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#3026 "Dhamrai"
|
||||||
|
|
||||||
|
// Optional Religion Extension
|
||||||
|
* extension[religion].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions-cs#islam "Islam"
|
||||||
25
input/fsh/examples/BDPractitionerExample.fsh
Normal file
25
input/fsh/examples/BDPractitionerExample.fsh
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Instance: BDPractitionerExample
|
||||||
|
InstanceOf: BDPractitioner
|
||||||
|
Usage: #example
|
||||||
|
Title: "Example of a Bangladesh Practitioner"
|
||||||
|
Description: "A licensed physician example for the Bangladesh HIE."
|
||||||
|
|
||||||
|
// Required Identifier (1..* MS)
|
||||||
|
// Using BMDC (Bangladesh Medical & Dental Council) registration number
|
||||||
|
* identifier[0].system = "https://fhir.dghs.gov.bd/core/identifier/bmdc-registration"
|
||||||
|
* identifier[0].value = "A-12345"
|
||||||
|
* identifier[0].type = http://terminology.hl7.org/CodeSystem/v2-0203#MD "Medical License number"
|
||||||
|
|
||||||
|
// Recommended Name
|
||||||
|
* name[0].use = #official
|
||||||
|
* name[0].family = "Ahmed"
|
||||||
|
* name[0].given[0] = "Tanvir"
|
||||||
|
* name[0].prefix[0] = "Dr."
|
||||||
|
|
||||||
|
// Contact Information
|
||||||
|
* telecom[0].system = #phone
|
||||||
|
* telecom[0].value = "+8801712345678"
|
||||||
|
* telecom[0].use = #work
|
||||||
|
|
||||||
|
// Gender (Commonly used in health records)
|
||||||
|
* gender = #male
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// ---------------------------
|
// ---------------------------
|
||||||
// Extension Definition
|
// Extension Definition
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
Extension: bdbloodgroup
|
Extension: BDBloodGroup
|
||||||
Id: bd-blood-group
|
Id: bd-blood-group
|
||||||
Title: "Patient Blood Group"
|
Title: "Patient Blood Group"
|
||||||
Description: "Blood group of the patient according to CCDS guideline"
|
Description: "Blood group of the patient according to CCDS guideline"
|
||||||
|
|||||||
@@ -6,5 +6,5 @@ Description: "BD Division"
|
|||||||
Context: Address
|
Context: Address
|
||||||
|
|
||||||
|
|
||||||
* value[x] only string
|
* value[x] only CodeableConcept
|
||||||
* value[x] from BDDivisionsVS
|
* valueCodeableConcept from BDDivisionsVS (required)
|
||||||
68
input/fsh/extensions/icd11ClusterExpression.fsh
Normal file
68
input/fsh/extensions/icd11ClusterExpression.fsh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
// ============================================================
|
||||||
|
// icd11ClusterExpression.fsh
|
||||||
|
// Extension for ICD-11 postcoordinated cluster expressions
|
||||||
|
// Context: Coding (broad — usable across all ICD-11 coded elements)
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
Extension: ICD11ClusterExpression
|
||||||
|
Id: icd11-cluster-expression
|
||||||
|
Title: "ICD-11 Cluster Expression"
|
||||||
|
Description: """
|
||||||
|
Carries a postcoordinated ICD-11 cluster expression as a single string
|
||||||
|
on a Coding element where the stem code alone is insufficient to fully
|
||||||
|
represent the clinical concept.
|
||||||
|
|
||||||
|
A cluster expression combines a stem code with one or more satellite
|
||||||
|
codes using the & operator (combination) or / operator (specificity).
|
||||||
|
Example: NC72.Z&XK8G&XJ7ZH&XJ7YM
|
||||||
|
- NC72.Z — stem: Fracture of femur, unspecified
|
||||||
|
- XK8G — satellite: laterality
|
||||||
|
- XJ7ZH — satellite: fracture subtype
|
||||||
|
- XJ7YM — satellite: fracture open or closed
|
||||||
|
|
||||||
|
Usage rules:
|
||||||
|
- SHALL only be present when the expression contains at least one
|
||||||
|
satellite code joined by & or / operators.
|
||||||
|
- Single stem codes SHALL be represented in Coding.code only and
|
||||||
|
validated via OCL $validate-code. The cluster validator at
|
||||||
|
https://icd11.dghs.gov.bd/cluster/validate explicitly rejects
|
||||||
|
stem-only expressions.
|
||||||
|
- The stem code in Coding.code SHALL match the leading stem code
|
||||||
|
in this expression string.
|
||||||
|
- Satellite codes in the cluster expression are exempt from the
|
||||||
|
Diagnosis/Finding class restriction that applies to stem codes
|
||||||
|
in Condition.code.
|
||||||
|
- Cluster expressions SHALL be validated against the Bangladesh
|
||||||
|
ICD-11 Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate
|
||||||
|
prior to submission to the HIE.
|
||||||
|
|
||||||
|
Cluster validator endpoint:
|
||||||
|
POST https://icd11.dghs.gov.bd/cluster/validate
|
||||||
|
Body: { "expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM" }
|
||||||
|
|
||||||
|
This extension is not MustSupport and is not mandatory. It is present
|
||||||
|
only when postcoordination is clinically required. Cluster expressions
|
||||||
|
are typically sourced from the WHO Electronic Coding Tool (ECT) at the
|
||||||
|
point of care.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^context[+].type = #element
|
||||||
|
* ^context[=].expression = "Coding"
|
||||||
|
|
||||||
|
* value[x] only string
|
||||||
|
* valueString 1..1
|
||||||
|
* valueString ^short = "ICD-11 postcoordinated cluster expression string"
|
||||||
|
* valueString ^definition = """
|
||||||
|
The full postcoordinated cluster expression, including the stem code and
|
||||||
|
all satellite codes joined by & or / operators. Example:
|
||||||
|
NC72.Z&XK8G&XJ7ZH&XJ7YM. The stem code in this string SHALL match
|
||||||
|
Coding.code on the parent Coding element.
|
||||||
|
"""
|
||||||
@@ -7,4 +7,4 @@ Context: Patient
|
|||||||
|
|
||||||
// Religion using standard HL7 extension
|
// Religion using standard HL7 extension
|
||||||
* extension contains http://hl7.org/fhir/StructureDefinition/language named language 1..1
|
* extension contains http://hl7.org/fhir/StructureDefinition/language named language 1..1
|
||||||
* extension[language].valueCode from LanguageValueSet
|
* extension[language].valueCode from BDLanguageVS
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
Extension: Nationality
|
||||||
|
Id: nationality
|
||||||
|
Title: "Patient Nationality"
|
||||||
|
Description: "Nationality of the patient based on Bangladesh country list."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/nationality"
|
||||||
|
|
||||||
|
// Define where this extension can be used
|
||||||
|
* ^context[0].type = #element
|
||||||
|
* ^context[0].expression = "Patient"
|
||||||
|
|
||||||
|
// Only one value, bound to your ValueSet
|
||||||
|
* value[x] only CodeableConcept
|
||||||
|
* valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list-valueset (required)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Extension: occupation
|
Extension: Occupation
|
||||||
Description: "Occupation"
|
Description: "Occupation"
|
||||||
Id: occupation-bd
|
Id: occupation-bd
|
||||||
Title: "Bangladesh Occupations"
|
Title: "Bangladesh Occupations"
|
||||||
@@ -7,5 +7,5 @@ Context: Patient
|
|||||||
|
|
||||||
// occupation using standard HL7 extension
|
// occupation using standard HL7 extension
|
||||||
* value[x] only string
|
* value[x] only string
|
||||||
* value[x] from https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations (required)
|
* value[x] from https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations-valueset (required)
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,5 @@ Description: "BD Upazilla"
|
|||||||
Context: Address
|
Context: Address
|
||||||
|
|
||||||
|
|
||||||
* value[x] only string
|
* value[x] only CodeableConcept
|
||||||
* value[x] from BDUpazillasVS
|
* valueCodeableConcept from BDUpazillasVS (required)
|
||||||
63
input/fsh/namingSystems/ICD11MMSNamingSystem.fsh
Normal file
63
input/fsh/namingSystems/ICD11MMSNamingSystem.fsh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
// ============================================================
|
||||||
|
// ICD11MMSNamingSystem.fsh
|
||||||
|
// NamingSystem for ICD-11 MMS in the Bangladesh national context
|
||||||
|
// Canonical authority: WHO
|
||||||
|
// National resolver: OCL at https://tr.ocl.dghs.gov.bd
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
Instance: icd11-mms-bd
|
||||||
|
InstanceOf: NamingSystem
|
||||||
|
Usage: #definition
|
||||||
|
Title: "ICD-11 MMS NamingSystem — Bangladesh"
|
||||||
|
Description: """
|
||||||
|
Declares the ICD-11 Mortality and Morbidity Statistics (MMS) coding system
|
||||||
|
as a known and supported terminology within the Bangladesh national health
|
||||||
|
information infrastructure.
|
||||||
|
|
||||||
|
Canonical system URI: http://id.who.int/icd/release/11/mms
|
||||||
|
Canonical authority: World Health Organization (WHO)
|
||||||
|
|
||||||
|
Preferred code form: short stem codes (e.g. 1A00, NC72.Z).
|
||||||
|
Linearization URIs are not used as code identifiers in this IG.
|
||||||
|
|
||||||
|
National terminology resolver (OCL):
|
||||||
|
https://tr.ocl.dghs.gov.bd
|
||||||
|
|
||||||
|
Supported OCL operations (use system= parameter, not url=):
|
||||||
|
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code
|
||||||
|
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||||
|
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup
|
||||||
|
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||||
|
|
||||||
|
$expand is not supported — known OCL limitation.
|
||||||
|
|
||||||
|
Version 2025-01 is active in the national OCL instance with 36,941
|
||||||
|
imported concepts. The OCL resolver is an internal national service;
|
||||||
|
vendors do not interact with it directly. All vendor submissions are
|
||||||
|
validated at the HIE boundary via the Bangladesh ICD-11 Cluster Validator
|
||||||
|
at https://icd11.dghs.gov.bd/cluster/validate.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* name = "ICD11MMSBangladesh"
|
||||||
|
* status = #active
|
||||||
|
* kind = #codesystem
|
||||||
|
* date = "2025-01-01"
|
||||||
|
* publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* contact.telecom.system = #url
|
||||||
|
* contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* responsible = "World Health Organization (WHO)"
|
||||||
|
|
||||||
|
// Primary identifier — canonical system URI (WHO authority)
|
||||||
|
* uniqueId[+].type = #uri
|
||||||
|
* uniqueId[=].value = "http://id.who.int/icd/release/11/mms"
|
||||||
|
* uniqueId[=].preferred = true
|
||||||
|
* uniqueId[=].comment = "Canonical ICD-11 MMS system URI. Canonical authority is WHO."
|
||||||
|
* uniqueId[=].period.start = "2025-01-01"
|
||||||
|
|
||||||
|
// Secondary identifier — national OCL source locator (machine-discoverable, not canonical)
|
||||||
|
* uniqueId[+].type = #uri
|
||||||
|
* uniqueId[=].value = "https://tr.ocl.dghs.gov.bd/orgs/MoHFW/sources/ICD-11-MMS/"
|
||||||
|
* uniqueId[=].preferred = false
|
||||||
|
* uniqueId[=].comment = "National terminology resolver — Bangladesh OCL instance. Not the canonical system URI."
|
||||||
65
input/fsh/profile/BDConditionProfile.fsh
Normal file
65
input/fsh/profile/BDConditionProfile.fsh
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
// ============================================================
|
||||||
|
// BDConditionProfile.fsh
|
||||||
|
// BD-Core Condition profile with mandatory ICD-11 MMS stem slice
|
||||||
|
// Binding: Diagnosis and Finding class concepts only
|
||||||
|
// Runtime enforcement via OCL ValueSet $validate-code
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
Profile: BDConditionProfile
|
||||||
|
Parent: Condition
|
||||||
|
Id: bd-condition
|
||||||
|
Title: "BD Core Condition Profile (ICD-11)"
|
||||||
|
Description: """
|
||||||
|
Condition resource coded with ICD-11 MMS, restricted to Diagnosis and
|
||||||
|
Finding class concepts. Defined in the Bangladesh Core FHIR Implementation
|
||||||
|
Guide (BD-Core-FHIR-IG) published by DGHS/MoHFW.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* code 1..1 MS
|
||||||
|
* code from bd-condition-icd11-diagnosis-valueset (required)
|
||||||
|
* code ^comment = """
|
||||||
|
Condition.code SHALL contain at least one coding conforming to the
|
||||||
|
coding[stem] slice with system = http://id.who.int/icd/release/11/mms.
|
||||||
|
|
||||||
|
Stem code rules:
|
||||||
|
- The stem code SHALL be a Diagnosis or Finding class ICD-11 MMS concept.
|
||||||
|
- This restriction is enforced at runtime via OCL ValueSet $validate-code
|
||||||
|
against the Bangladesh ICD-11 MMS Condition ValueSet.
|
||||||
|
- Stem-only codes SHALL be validated via OCL $validate-code.
|
||||||
|
- Substance, Organism, Device, Anatomy, and Misc class concepts SHALL NOT
|
||||||
|
appear as standalone stem codes in Condition.code.
|
||||||
|
|
||||||
|
Cluster expression rules:
|
||||||
|
- When a concept requires postcoordination, the full cluster expression
|
||||||
|
SHALL be carried in the icd11-cluster-expression extension on coding[stem].
|
||||||
|
- The icd11-cluster-expression extension SHALL only be present when the
|
||||||
|
expression contains at least one satellite code joined by & or / operators.
|
||||||
|
- Satellite codes in the cluster expression are exempt from the
|
||||||
|
Diagnosis/Finding class restriction.
|
||||||
|
- Cluster expressions SHALL be validated against the Bangladesh ICD-11
|
||||||
|
Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate
|
||||||
|
prior to submission to the HIE.
|
||||||
|
|
||||||
|
Additional local codings are permitted alongside the mandatory ICD-11 stem
|
||||||
|
(slicing is open). Cluster expressions are typically sourced from the WHO
|
||||||
|
Electronic Coding Tool (ECT) at the point of care.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* code.coding ^slicing.discriminator.type = #value
|
||||||
|
* code.coding ^slicing.discriminator.path = "system"
|
||||||
|
* code.coding ^slicing.rules = #open
|
||||||
|
* code.coding ^slicing.description = "Slice requiring exactly one ICD-11 MMS stem code. Additional local codings permitted."
|
||||||
|
|
||||||
|
* code.coding contains stem 1..1
|
||||||
|
* code.coding[stem] ^short = "Mandatory ICD-11 MMS stem code"
|
||||||
|
* code.coding[stem] ^definition = """
|
||||||
|
Exactly one ICD-11 MMS stem code is required. The stem code SHALL be a
|
||||||
|
Diagnosis or Finding class concept. When the condition requires
|
||||||
|
postcoordination, the full cluster expression is carried in the
|
||||||
|
icd11-cluster-expression extension on this coding element.
|
||||||
|
"""
|
||||||
|
* code.coding[stem].system 1..1
|
||||||
|
* code.coding[stem].system = "http://id.who.int/icd/release/11/mms" (exactly)
|
||||||
|
* code.coding[stem].code 1..1
|
||||||
|
* code.coding[stem].extension contains
|
||||||
|
https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression named clusterExpression 0..1
|
||||||
37
input/fsh/profile/BDEncounter.fsh
Normal file
37
input/fsh/profile/BDEncounter.fsh
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
Profile: BDEncounter
|
||||||
|
Id: bd-encounter
|
||||||
|
Parent: Encounter
|
||||||
|
Title: "Encounter Profile for Bangladesh"
|
||||||
|
Description: "Profile of Encounter Bangladesh Standard"
|
||||||
|
|
||||||
|
* identifier 1..*
|
||||||
|
|
||||||
|
* status 1..1
|
||||||
|
* status from BDEncounterStatusSubsetVS
|
||||||
|
* status ^short = "Encounter status in BD"
|
||||||
|
* status ^definition = "Status of patient encounter (planned, in-progress, finished, cancelled)"
|
||||||
|
|
||||||
|
* class 1..1
|
||||||
|
* class from BDEncounterClassSubsetVS
|
||||||
|
|
||||||
|
* subject 1..1
|
||||||
|
//* subject from https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
||||||
|
|
||||||
|
* basedOn 0..1 MS
|
||||||
|
//* basedOn only Reference (CarePlan or DeviceRequest or MedicationRequest or ServiceRequest)
|
||||||
|
|
||||||
|
* partOf 0..1 MS
|
||||||
|
|
||||||
|
* serviceProvider 1..1
|
||||||
|
|
||||||
|
* participant 1..*
|
||||||
|
* participant.period 1..1
|
||||||
|
|
||||||
|
* diagnosis 0..* MS
|
||||||
|
* diagnosis.condition only Reference(BDConditionProfile)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* hospitalization.dischargeDisposition 0..1 MS
|
||||||
71
input/fsh/profile/BDImmunization.fsh
Normal file
71
input/fsh/profile/BDImmunization.fsh
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
// @Name: Profile
|
||||||
|
// @Description: Immunization Profile of the Bangladeshi Patient.
|
||||||
|
Profile: BDImmunizationProfile
|
||||||
|
Id: bd-immunization
|
||||||
|
Parent: Immunization
|
||||||
|
Title: "Immunization Profile for Bangladesh"
|
||||||
|
Description: "Bangladesh Immunization Profile"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-immunization"
|
||||||
|
|
||||||
|
|
||||||
|
* identifier 1..*
|
||||||
|
* identifier ^short = "Unique identifier"
|
||||||
|
* identifier ^definition = "Unique identifier for the vaccination event"
|
||||||
|
|
||||||
|
* reasonReference 0..*
|
||||||
|
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
||||||
|
|
||||||
|
* vaccineCode 1..1
|
||||||
|
* vaccineCode from BDVaccineVS (required)
|
||||||
|
|
||||||
|
//* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-medication"
|
||||||
|
|
||||||
|
* manufacturer 0..1
|
||||||
|
* manufacturer ^short = "Manufacturer"
|
||||||
|
* manufacturer ^definition = "Vaccine manufacturer"
|
||||||
|
* manufacturer only Reference(BDOrganization)
|
||||||
|
|
||||||
|
* lotNumber 0..1
|
||||||
|
* lotNumber ^short = "Vaccine Lot Number"
|
||||||
|
* lotNumber ^definition = "Vaccine lot or batch number"
|
||||||
|
|
||||||
|
* expirationDate 0..1
|
||||||
|
* expirationDate ^short = "Expiration Date"
|
||||||
|
* expirationDate ^definition = "Expiration date of vaccine lot"
|
||||||
|
|
||||||
|
* patient 1..1
|
||||||
|
* patient ^definition = "The patient receiving the vaccine"
|
||||||
|
* patient only Reference(BDPatient)
|
||||||
|
|
||||||
|
* encounter 1..1
|
||||||
|
* encounter ^definition = "Encounter during which vaccine was administered"
|
||||||
|
* encounter only Reference(BDEncounter)
|
||||||
|
|
||||||
|
* occurrence[x] 1..1
|
||||||
|
|
||||||
|
* location 0..1
|
||||||
|
* location ^definition = "Location where vaccine was administered"
|
||||||
|
* location only Reference(BDLocation)
|
||||||
|
|
||||||
|
* site 0..1
|
||||||
|
* site ^definition = "Body site of administration"
|
||||||
|
* site from BDImmunizationSiteVS
|
||||||
|
|
||||||
|
* route 0..1
|
||||||
|
* route ^definition = "Route of administration"
|
||||||
|
* route from BDImmunizationRouteVS
|
||||||
|
|
||||||
|
* doseQuantity 0..1
|
||||||
|
* doseQuantity ^definition = "Amount of vaccine administered"
|
||||||
|
* doseQuantity.system = "http://unitsofmeasure.org"
|
||||||
|
|
||||||
|
* performer 0..*
|
||||||
|
* performer ^definition = "Individual who performed the immunization"
|
||||||
|
* performer.actor only Reference(BDPractitioner)
|
||||||
|
|
||||||
|
* reaction 0..*
|
||||||
|
* reaction ^definition = "Adverse reaction following immunization"
|
||||||
|
//TODO: change to BDObservation after creating the profile
|
||||||
|
* reaction.detail only Reference(Observation)
|
||||||
|
//TODO change to BDObservation after creating the profile
|
||||||
|
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
||||||
77
input/fsh/profile/BDLabPanelObservation.fsh
Normal file
77
input/fsh/profile/BDLabPanelObservation.fsh
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
Profile: BDLabPanelObservationProfile
|
||||||
|
Id: bd-lab-panel-observation
|
||||||
|
Parent: bd-observation
|
||||||
|
Title: "Bangladesh Laboratory Panel Observation"
|
||||||
|
Description: """
|
||||||
|
Profile for laboratory panel (order-level) Observations in Bangladesh.
|
||||||
|
Represents an ordered laboratory test panel (e.g. CBC, LFT, RFT) as the
|
||||||
|
parent Observation in a hasMember hierarchy.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
- Observation.code is the panel/order code (from BD LOINC Lab Panels ValueSet)
|
||||||
|
- Observation.hasMember references individual result Observations
|
||||||
|
(bd-lab-result-observation) for each component
|
||||||
|
- Observation.value[x] is prohibited — panels do not carry a direct result value
|
||||||
|
- Observation.category is fixed to 'laboratory'
|
||||||
|
|
||||||
|
FHIR hasMember pattern:
|
||||||
|
DiagnosticReport.result --> bd-lab-panel-observation
|
||||||
|
└── hasMember --> bd-lab-result-observation (x N)
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-panel-observation"
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^status = #draft
|
||||||
|
|
||||||
|
// ── Identifier ────────────────────────────────────────────────────────────
|
||||||
|
// Lab panels must carry an identifier (accession number or order ID).
|
||||||
|
* identifier 1..* MS
|
||||||
|
* identifier.value 1..1
|
||||||
|
|
||||||
|
// ── Category ──────────────────────────────────────────────────────────────
|
||||||
|
// Fixed to 'laboratory' for all lab panel observations.
|
||||||
|
* category = http://terminology.hl7.org/CodeSystem/observation-category#laboratory
|
||||||
|
* category ^definition = "Fixed to 'laboratory' for laboratory panel observations"
|
||||||
|
|
||||||
|
// ── Code ──────────────────────────────────────────────────────────────────
|
||||||
|
// Bound to BD LOINC Lab Panels ValueSet — orderable panel codes only.
|
||||||
|
* code 1..1 MS
|
||||||
|
* code from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-panels (extensible)
|
||||||
|
* code ^definition = "LOINC panel/order code for this laboratory panel"
|
||||||
|
* code ^comment = "E.g. 58410-2 CBC panel, 24323-8 Comprehensive metabolic panel"
|
||||||
|
|
||||||
|
// ── Status ────────────────────────────────────────────────────────────────
|
||||||
|
// Restrict to statuses relevant to lab reporting.
|
||||||
|
* status from http://hl7.org/fhir/ValueSet/observation-status (required)
|
||||||
|
|
||||||
|
// ── Effective ─────────────────────────────────────────────────────────────
|
||||||
|
// When the panel was performed — required for lab context.
|
||||||
|
* effective[x] 1..1 MS
|
||||||
|
* effective[x] only dateTime or Period
|
||||||
|
* effectiveDateTime ^definition = "Date/time the laboratory panel was performed"
|
||||||
|
|
||||||
|
// ── Value[x] ──────────────────────────────────────────────────────────────
|
||||||
|
// Panels do not carry a direct result value — results are in hasMember children.
|
||||||
|
* value[x] 0..0
|
||||||
|
|
||||||
|
// ── hasMember ─────────────────────────────────────────────────────────────
|
||||||
|
// Must reference at least one component result Observation.
|
||||||
|
// Typed to bd-lab-result-observation.
|
||||||
|
* hasMember 1..* MS
|
||||||
|
* hasMember only Reference(BDLabResultObservationProfile)
|
||||||
|
* hasMember ^definition = "References to individual component result Observations for this panel"
|
||||||
|
* hasMember ^comment = "Each hasMember entry is a bd-lab-result-observation"
|
||||||
|
|
||||||
|
// ── derivedFrom ───────────────────────────────────────────────────────────
|
||||||
|
// Panels are not derived from other observations — prohibited at this level.
|
||||||
|
* derivedFrom 0..0
|
||||||
|
|
||||||
|
// ── Specimen ──────────────────────────────────────────────────────────────
|
||||||
|
// SHOULD be present for laboratory panels per IPS alignment.
|
||||||
|
* specimen 0..1 MS
|
||||||
|
* specimen ^definition = "Specimen collected for this laboratory panel"
|
||||||
|
* specimen ^comment = "Should be present when specimen information is available"
|
||||||
|
|
||||||
|
// ── Note ──────────────────────────────────────────────────────────────────
|
||||||
|
* note 0..* MS
|
||||||
|
* note ^definition = "Comments about the laboratory panel"
|
||||||
122
input/fsh/profile/BDLabReport.fsh
Normal file
122
input/fsh/profile/BDLabReport.fsh
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
Profile: BDLabReportProfile
|
||||||
|
Id: bd-lab-report
|
||||||
|
Parent: DiagnosticReport
|
||||||
|
Title: "Bangladesh Laboratory Report"
|
||||||
|
Description: """
|
||||||
|
Profile for laboratory DiagnosticReport in Bangladesh, aligned with IPS
|
||||||
|
(International Patient Summary) DiagnosticReport pattern.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
- Represents a complete laboratory report for a patient encounter
|
||||||
|
- DiagnosticReport.result references panel-level Observations
|
||||||
|
(bd-lab-panel-observation) or standalone result Observations
|
||||||
|
(bd-lab-result-observation) where no panel grouping exists
|
||||||
|
- DiagnosticReport.code is fixed to LOINC 11502-2 (Laboratory report)
|
||||||
|
- specimen is SHOULD (MS, 0..*)
|
||||||
|
|
||||||
|
Report structure:
|
||||||
|
bd-lab-report (DiagnosticReport)
|
||||||
|
├── result --> bd-lab-panel-observation
|
||||||
|
│ └── hasMember --> bd-lab-result-observation (x N)
|
||||||
|
└── result --> bd-lab-result-observation (standalone, no panel)
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-report"
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^status = #draft
|
||||||
|
|
||||||
|
// ── Identifier ────────────────────────────────────────────────────────────
|
||||||
|
// Lab reports must carry an accession number or report ID.
|
||||||
|
* identifier 1..* MS
|
||||||
|
* identifier.value 1..1
|
||||||
|
|
||||||
|
// ── Status ────────────────────────────────────────────────────────────────
|
||||||
|
* status 1..1
|
||||||
|
* status from http://hl7.org/fhir/ValueSet/diagnostic-report-status (required)
|
||||||
|
* status ^definition = "Status of the laboratory report"
|
||||||
|
* status ^comment = "E.g. registered, partial, preliminary, final, amended, corrected"
|
||||||
|
|
||||||
|
// ── Category ──────────────────────────────────────────────────────────────
|
||||||
|
// Fixed to LAB (laboratory) category.
|
||||||
|
* category 1..* MS
|
||||||
|
* category = http://terminology.hl7.org/CodeSystem/v2-0074#LAB "Laboratory"
|
||||||
|
* category ^definition = "Fixed to 'LAB' for laboratory diagnostic reports"
|
||||||
|
|
||||||
|
// ── Code ──────────────────────────────────────────────────────────────────
|
||||||
|
// Fixed to LOINC 11502-2 (Laboratory report) — IPS-aligned.
|
||||||
|
* code 1..1 MS
|
||||||
|
* code = http://loinc.org#11502-2 "Laboratory report"
|
||||||
|
* code ^definition = "Fixed to LOINC 11502-2 — Laboratory report"
|
||||||
|
|
||||||
|
// ── Subject ───────────────────────────────────────────────────────────────
|
||||||
|
* subject 1..1 MS
|
||||||
|
* subject only Reference(Patient)
|
||||||
|
* subject.reference 1..1 MS
|
||||||
|
* subject.display 1..1 MS
|
||||||
|
* subject ^definition = "Reference to the Patient this report is about"
|
||||||
|
|
||||||
|
// ── Encounter ─────────────────────────────────────────────────────────────
|
||||||
|
* encounter 1..1 MS
|
||||||
|
* encounter.reference 1..1 MS
|
||||||
|
* encounter ^definition = "Reference to the Encounter during which this report was ordered"
|
||||||
|
|
||||||
|
// ── Effective ─────────────────────────────────────────────────────────────
|
||||||
|
// When the report was clinically relevant — required for lab context.
|
||||||
|
* effective[x] 1..1 MS
|
||||||
|
* effective[x] only dateTime or Period
|
||||||
|
* effectiveDateTime ^definition = "Date/time the specimen was collected or the report period"
|
||||||
|
|
||||||
|
// ── Issued ────────────────────────────────────────────────────────────────
|
||||||
|
// Date/time the report was released — required for lab reports.
|
||||||
|
* issued 1..1 MS
|
||||||
|
* issued ^definition = "Date/time the report was issued by the laboratory"
|
||||||
|
|
||||||
|
// ── Performer ─────────────────────────────────────────────────────────────
|
||||||
|
// Who performed the laboratory test (laboratory organization or practitioner).
|
||||||
|
// Kept flexible — may be Organization, Practitioner, or PractitionerRole.
|
||||||
|
* performer 1..* MS
|
||||||
|
* performer ^definition = "Laboratory or practitioner who performed the test"
|
||||||
|
* performer ^comment = "Typically the laboratory Organization. May also include the responsible Practitioner."
|
||||||
|
|
||||||
|
// ── Results Interpreter ───────────────────────────────────────────────────
|
||||||
|
// Who interpreted the results (clinician, pathologist).
|
||||||
|
// Optional but MustSupport — include when a formal interpretation was made.
|
||||||
|
* resultsInterpreter 0..* MS
|
||||||
|
* resultsInterpreter ^definition = "Clinician or pathologist who interpreted the laboratory results"
|
||||||
|
* resultsInterpreter ^comment = "Include when a formal interpretation or authorisation was made by a named clinician."
|
||||||
|
|
||||||
|
// ── Specimen ──────────────────────────────────────────────────────────────
|
||||||
|
// SHOULD be present per IPS alignment — MustSupport, optional cardinality.
|
||||||
|
* specimen 0..* MS
|
||||||
|
* specimen ^definition = "Specimen(s) used for this laboratory report"
|
||||||
|
* specimen ^comment = "Should be present when specimen information is available. IPS alignment: SHOULD."
|
||||||
|
|
||||||
|
// ── Result ────────────────────────────────────────────────────────────────
|
||||||
|
// References panel-level Observations or standalone result Observations.
|
||||||
|
// At least one result is required for a meaningful report.
|
||||||
|
* result 1..* MS
|
||||||
|
* result only Reference(BDLabPanelObservationProfile or BDLabResultObservationProfile)
|
||||||
|
* result ^definition = "References to Observation resources that are part of this report"
|
||||||
|
* result ^comment = """
|
||||||
|
Use BDLabPanelObservationProfile for ordered panels (CBC, LFT, RFT, etc.)
|
||||||
|
where individual results are grouped under a panel using hasMember.
|
||||||
|
Use BDLabResultObservationProfile directly for standalone results
|
||||||
|
that are not part of a named panel.
|
||||||
|
"""
|
||||||
|
|
||||||
|
// ── Conclusion ────────────────────────────────────────────────────────────
|
||||||
|
// Free-text clinical interpretation of the overall report.
|
||||||
|
* conclusion 0..1 MS
|
||||||
|
* conclusion ^definition = "Clinical interpretation or summary of the laboratory report"
|
||||||
|
|
||||||
|
// ── Conclusion Code ───────────────────────────────────────────────────────
|
||||||
|
// Coded clinical finding — may reference ICD-11 diagnosis codes.
|
||||||
|
* conclusionCode 0..* MS
|
||||||
|
* conclusionCode ^definition = "Coded representation of the clinical conclusion"
|
||||||
|
* conclusionCode ^comment = "May use ICD-11 MMS codes consistent with bd-condition-icd11-diagnosis-valueset"
|
||||||
|
|
||||||
|
// ── Presented Form ────────────────────────────────────────────────────────
|
||||||
|
// Attach the original PDF or HL7 CDA report if available.
|
||||||
|
* presentedForm 0..* MS
|
||||||
|
* presentedForm ^definition = "Entire report as issued — e.g. PDF attachment"
|
||||||
|
* presentedForm ^comment = "Include the original report document when available"
|
||||||
104
input/fsh/profile/BDLabResultObservation.fsh
Normal file
104
input/fsh/profile/BDLabResultObservation.fsh
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
Profile: BDLabResultObservationProfile
|
||||||
|
Id: bd-lab-result-observation
|
||||||
|
Parent: bd-observation
|
||||||
|
Title: "Bangladesh Laboratory Result Observation"
|
||||||
|
Description: """
|
||||||
|
Profile for individual laboratory result (component-level) Observations
|
||||||
|
in Bangladesh. Represents a single test result within a laboratory panel
|
||||||
|
(e.g. Haemoglobin within a CBC panel).
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
- Observation.code is the result/component code (from BD LOINC Lab Results ValueSet)
|
||||||
|
- Observation.value[x] is required — every leaf result must carry a value
|
||||||
|
- Observation.hasMember is prohibited — leaf results cannot group further
|
||||||
|
- Observation.derivedFrom references the parent panel Observation
|
||||||
|
- Observation.category is fixed to 'laboratory'
|
||||||
|
|
||||||
|
FHIR hasMember pattern:
|
||||||
|
bd-lab-panel-observation
|
||||||
|
└── hasMember --> bd-lab-result-observation (this profile)
|
||||||
|
|
||||||
|
Coded results (Ord/Nom scale):
|
||||||
|
Use valueCodeableConcept with codes from BD LOINC Answer Lists ValueSet.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-result-observation"
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^status = #draft
|
||||||
|
|
||||||
|
// ── Identifier ────────────────────────────────────────────────────────────
|
||||||
|
// Result observations carry the accession number or result ID.
|
||||||
|
* identifier 1..* MS
|
||||||
|
* identifier.value 1..1
|
||||||
|
|
||||||
|
// ── Category ──────────────────────────────────────────────────────────────
|
||||||
|
// Fixed to 'laboratory' for all lab result observations.
|
||||||
|
* category = http://terminology.hl7.org/CodeSystem/observation-category#laboratory
|
||||||
|
* category ^definition = "Fixed to 'laboratory' for laboratory result observations"
|
||||||
|
|
||||||
|
// ── Code ──────────────────────────────────────────────────────────────────
|
||||||
|
// Bound to BD LOINC Lab Results ValueSet — leaf result codes only.
|
||||||
|
* code 1..1 MS
|
||||||
|
* code from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-results (extensible)
|
||||||
|
* code ^definition = "LOINC result/component code for this individual laboratory result"
|
||||||
|
* code ^comment = "E.g. 718-7 Hemoglobin, 2160-0 Creatinine"
|
||||||
|
|
||||||
|
// ── Status ────────────────────────────────────────────────────────────────
|
||||||
|
* status from http://hl7.org/fhir/ValueSet/observation-status (required)
|
||||||
|
|
||||||
|
// ── Effective ─────────────────────────────────────────────────────────────
|
||||||
|
* effective[x] 1..1 MS
|
||||||
|
* effective[x] only dateTime or Period
|
||||||
|
* effectiveDateTime ^definition = "Date/time the result was obtained"
|
||||||
|
|
||||||
|
// ── Value[x] ──────────────────────────────────────────────────────────────
|
||||||
|
// Required — every leaf result must carry a value.
|
||||||
|
* value[x] 1..1 MS
|
||||||
|
* value[x] only Quantity or CodeableConcept
|
||||||
|
* value[x] ^definition = "The actual result value for this laboratory test"
|
||||||
|
|
||||||
|
// Numeric results (Qn scale) — UCUM units required
|
||||||
|
* valueQuantity MS
|
||||||
|
* valueQuantity.value 1..1
|
||||||
|
* valueQuantity.unit 1..1
|
||||||
|
* valueQuantity.system 1..1
|
||||||
|
* valueQuantity.system = "http://unitsofmeasure.org"
|
||||||
|
* valueQuantity.code 1..1
|
||||||
|
* valueQuantity ^comment = "Use for quantitative (Qn scale) results. Units must be UCUM."
|
||||||
|
|
||||||
|
// Coded results (Ord/Nom scale) — bound to LOINC Answer Lists
|
||||||
|
* valueCodeableConcept MS
|
||||||
|
* valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/loinc-answer-lists (extensible)
|
||||||
|
* valueCodeableConcept ^comment = "Use for ordinal or nominal (Ord/Nom scale) results."
|
||||||
|
|
||||||
|
// ── hasMember ─────────────────────────────────────────────────────────────
|
||||||
|
// Leaf results cannot group further observations.
|
||||||
|
* hasMember 0..0
|
||||||
|
|
||||||
|
// ── derivedFrom ───────────────────────────────────────────────────────────
|
||||||
|
// References the parent panel Observation.
|
||||||
|
* derivedFrom 0..* MS
|
||||||
|
* derivedFrom only Reference(BDLabPanelObservationProfile)
|
||||||
|
* derivedFrom ^definition = "Reference to the parent panel Observation this result belongs to"
|
||||||
|
|
||||||
|
// ── Interpretation ────────────────────────────────────────────────────────
|
||||||
|
// Strongly recommended for lab results — High, Low, Normal, etc.
|
||||||
|
* interpretation 0..* MS
|
||||||
|
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (extensible)
|
||||||
|
* interpretation ^definition = "Clinical interpretation of the result value"
|
||||||
|
* interpretation ^comment = "E.g. H (High), L (Low), N (Normal), A (Abnormal)"
|
||||||
|
|
||||||
|
// ── Reference Range ───────────────────────────────────────────────────────
|
||||||
|
* referenceRange 0..* MS
|
||||||
|
* referenceRange ^definition = "Normal reference range for this result"
|
||||||
|
* referenceRange ^comment = "Should be present when reference ranges are known"
|
||||||
|
|
||||||
|
// ── Specimen ──────────────────────────────────────────────────────────────
|
||||||
|
// May reference the same specimen as the parent panel.
|
||||||
|
* specimen 0..1 MS
|
||||||
|
* specimen ^definition = "Specimen used for this result observation"
|
||||||
|
* specimen ^comment = "Should be consistent with the parent panel specimen"
|
||||||
|
|
||||||
|
// ── Note ──────────────────────────────────────────────────────────────────
|
||||||
|
* note 0..* MS
|
||||||
|
* note ^definition = "Comments about this individual result"
|
||||||
8
input/fsh/profile/BDLocation.fsh
Normal file
8
input/fsh/profile/BDLocation.fsh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Profile: BDLocation
|
||||||
|
Id: bd-location
|
||||||
|
Parent: Location
|
||||||
|
Title: "Location of Immunization for Bangladesh"
|
||||||
|
Description: "Address for Bangladesh Standard"
|
||||||
|
|
||||||
|
* address 1..1
|
||||||
|
* address only BDAddress
|
||||||
76
input/fsh/profile/BDMedication.fsh
Normal file
76
input/fsh/profile/BDMedication.fsh
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
Profile: BDMedication
|
||||||
|
Id: bd-medication
|
||||||
|
Parent: Medication
|
||||||
|
Title: "Medication Profile for Bangladesh"
|
||||||
|
Description: """
|
||||||
|
Profile of the Medication resource for the Bangladesh National Health Information
|
||||||
|
Exchange (HIE). Drug products are coded using the DGDA Drug Registry maintained
|
||||||
|
by the Drug Registration Authority of Bangladesh and served via the national OCL
|
||||||
|
terminology server at https://tr.ocl.dghs.gov.bd.
|
||||||
|
|
||||||
|
Ingredient coding uses ICD-11 MMS substance codes (XM-prefix) to support
|
||||||
|
International Patient Summary (IPS) generation and cross-border data exchange.
|
||||||
|
Ingredient data is system-populated from OCL Has-active-ingredient mappings and
|
||||||
|
is not required to be entered manually by clinicians.
|
||||||
|
|
||||||
|
Combination drugs are supported via the repeating ingredient element.
|
||||||
|
Unmatched ingredients (not yet mapped to ICD-11 substances) may be represented
|
||||||
|
using ingredient.itemCodeableConcept.text without a coded value.
|
||||||
|
|
||||||
|
Dose form is optional and should be coded using EDQM Standard Terms when
|
||||||
|
populated. Dose form is derivable from the DGDA drug concept via OCL lookup.
|
||||||
|
A DGDA plain text dose form to EDQM code mapping is planned for a future
|
||||||
|
IG version.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* code 1..1 MS
|
||||||
|
* code from BDDGDADrugsVS (required)
|
||||||
|
* code ^short = "DGDA registered drug product code"
|
||||||
|
* code ^definition = """
|
||||||
|
The DGDA drug registry code identifying the finished pharmaceutical product.
|
||||||
|
Concept ID format: {DAR-number}--{trade-name-slug}
|
||||||
|
Example: 353-0026-039--marvelous-fe
|
||||||
|
"""
|
||||||
|
* code.text 1..1 MS
|
||||||
|
* code.text ^short = "Trade name of the drug product"
|
||||||
|
* code.text ^definition = """
|
||||||
|
The trade name of the drug product as registered with DGDA. Mandatory for
|
||||||
|
human readability in IPS documents and cross-border data exchange scenarios.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* form 0..1 MS
|
||||||
|
* form from BDMedicationDoseFormVS (preferred)
|
||||||
|
* form ^short = "Pharmaceutical dose form — EDQM Standard Terms (optional)"
|
||||||
|
* form ^definition = """
|
||||||
|
The pharmaceutical dose form of the drug product. Optional in this profile
|
||||||
|
as dose form is carried as plain text in the DGDA drug concept and is
|
||||||
|
derivable via OCL lookup. When populated, EDQM Standard Terms codes served
|
||||||
|
from the national OCL terminology server should be used.
|
||||||
|
A DGDA dose form to EDQM mapping is planned for a future IG version.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ingredient MS
|
||||||
|
* ingredient ^short = "Active ingredient(s) of the drug product"
|
||||||
|
* ingredient ^definition = """
|
||||||
|
Active pharmaceutical ingredients of the drug product, coded using ICD-11 MMS
|
||||||
|
substance codes (XM-prefix). Populated automatically by clinical systems via
|
||||||
|
OCL Has-active-ingredient mappings. Combination drugs will carry multiple
|
||||||
|
ingredient entries. Unmatched ingredients may use text only without a coded value.
|
||||||
|
"""
|
||||||
|
* ingredient.item[x] only CodeableConcept
|
||||||
|
* ingredient.itemCodeableConcept 1..1 MS
|
||||||
|
* ingredient.itemCodeableConcept from BDICD11SubstancesVS (extensible)
|
||||||
|
* ingredient.itemCodeableConcept ^short = "ICD-11 substance code for the ingredient"
|
||||||
|
* ingredient.itemCodeableConcept ^definition = """
|
||||||
|
ICD-11 MMS substance code (XM-prefix) identifying the active ingredient.
|
||||||
|
Source value set: https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset
|
||||||
|
served from the national OCL terminology server.
|
||||||
|
For ingredients not yet mapped to ICD-11 substances, use text only.
|
||||||
|
"""
|
||||||
|
* ingredient.strength 0..1
|
||||||
|
* ingredient.strength ^short = "Strength of the ingredient (optional)"
|
||||||
|
* ingredient.strength ^definition = """
|
||||||
|
Strength of the active ingredient. Optional in this profile as strength data
|
||||||
|
is maintained in the DGDA registry and accessible via OCL. May be populated
|
||||||
|
by dispensing systems for precision medication management.
|
||||||
|
"""
|
||||||
66
input/fsh/profile/BDMedicationRequest.fsh
Normal file
66
input/fsh/profile/BDMedicationRequest.fsh
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Profile: BDMedicationRequest
|
||||||
|
Id: bd-medication-request
|
||||||
|
Parent: MedicationRequest
|
||||||
|
Title: "Medication Request Profile for Bangladesh"
|
||||||
|
Description: """
|
||||||
|
Profile of the MedicationRequest resource for the Bangladesh National Health
|
||||||
|
Information Exchange (HIE). Prescriptions must reference a BDMedication
|
||||||
|
resource coded against the DGDA Drug Registry, ensuring all prescribed
|
||||||
|
medications are traceable to DGDA-registered drug products.
|
||||||
|
|
||||||
|
This profile constrains medication references to BDMedication only.
|
||||||
|
Inline medicationCodeableConcept is not permitted — all medication data
|
||||||
|
must be carried in a referenced BDMedication resource to support ingredient
|
||||||
|
coding for IPS and cross-border data exchange.
|
||||||
|
|
||||||
|
Route of administration is coded using HL7 v3 RouteOfAdministration served
|
||||||
|
via the national OCL terminology server.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* identifier 1..* MS
|
||||||
|
* identifier ^short = "Prescription identifier"
|
||||||
|
* identifier ^definition = """
|
||||||
|
Business identifier for this prescription. At least one identifier is required
|
||||||
|
to support prescription tracking within the Bangladesh HIE.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* medication[x] 1..1 MS
|
||||||
|
* medication[x] only Reference(BDMedication)
|
||||||
|
* medication[x] ^short = "Reference to DGDA-registered medication"
|
||||||
|
* medication[x] ^definition = """
|
||||||
|
Reference to a BDMedication resource identifying the prescribed drug product.
|
||||||
|
The referenced BDMedication must carry a valid DGDA drug registry code.
|
||||||
|
Inline CodeableConcept is not permitted in this profile.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* subject 1..1 MS
|
||||||
|
* subject only Reference(BDPatient)
|
||||||
|
* subject ^short = "Patient for whom the medication is prescribed"
|
||||||
|
|
||||||
|
* encounter 0..1 MS
|
||||||
|
* encounter only Reference(BDEncounter)
|
||||||
|
* encounter ^short = "Encounter during which this prescription was created"
|
||||||
|
* encounter ^definition = """
|
||||||
|
The encounter during which this prescription was created. Should be populated
|
||||||
|
for inpatient and outpatient prescriptions where an encounter record exists.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* authoredOn 1..1 MS
|
||||||
|
* authoredOn ^short = "Date and time the prescription was authored"
|
||||||
|
|
||||||
|
* requester 1..1 MS
|
||||||
|
* requester only Reference(BDPractitioner or BDOrganization)
|
||||||
|
* requester ^short = "Practitioner or organisation that authored the prescription"
|
||||||
|
|
||||||
|
* reportedReference only Reference(BDPractitioner or BDOrganization or BDPatient)
|
||||||
|
|
||||||
|
* priorPrescription only Reference(BDMedicationRequest)
|
||||||
|
* priorPrescription ^short = "Reference to a prior prescription this replaces"
|
||||||
|
|
||||||
|
* basedOn only Reference(BDMedicationRequest or ServiceRequest or CarePlan or ImmunizationRecommendation)
|
||||||
|
* basedOn ^short = "Plan or request this prescription is based on"
|
||||||
|
|
||||||
|
* dosageInstruction 0..* MS
|
||||||
|
* dosageInstruction.route MS
|
||||||
|
* dosageInstruction.route from BDRouteOfAdministrationVS (required)
|
||||||
|
* dosageInstruction.route ^short = "Route of administration coded using HL7 v3 RouteOfAdministration"
|
||||||
133
input/fsh/profile/BDObservation.fsh
Normal file
133
input/fsh/profile/BDObservation.fsh
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
Profile: BDObservationProfile
|
||||||
|
Id: bd-observation
|
||||||
|
Parent: Observation
|
||||||
|
Title: "Bangladesh Observation Profile"
|
||||||
|
Description: """
|
||||||
|
Base observation profile for Bangladesh. This is an abstract-style base profile
|
||||||
|
from which all BD-Core observation profiles are derived. It is not intended to
|
||||||
|
be used directly in clinical resources — use a derived profile instead.
|
||||||
|
|
||||||
|
Derived profiles (v0.4.0):
|
||||||
|
- bd-lab-panel-observation : Laboratory panel/order (hasMember pattern)
|
||||||
|
- bd-lab-result-observation : Laboratory leaf result (child of hasMember)
|
||||||
|
|
||||||
|
Planned derived profiles (v0.5.0+):
|
||||||
|
- bd-vital-signs-observation
|
||||||
|
- bd-exam-observation
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"
|
||||||
|
* ^version = "2.0.0"
|
||||||
|
* ^status = #draft
|
||||||
|
|
||||||
|
// ── Identifier ────────────────────────────────────────────────────────────
|
||||||
|
// 0..* at base — not all observation types carry identifiers.
|
||||||
|
// Child profiles (e.g. lab results) constrain to 1..*.
|
||||||
|
* identifier 0..* MS
|
||||||
|
* identifier.value 1..1
|
||||||
|
|
||||||
|
// ── Status ────────────────────────────────────────────────────────────────
|
||||||
|
* status 1..1
|
||||||
|
|
||||||
|
// ── Category ──────────────────────────────────────────────────────────────
|
||||||
|
// Preferred binding at base — child profiles fix to specific category codes
|
||||||
|
// (e.g. laboratory, vital-signs). Required binding here would block child
|
||||||
|
// profiles from narrowing to a fixed category slice.
|
||||||
|
* category 1..* MS
|
||||||
|
* category from http://hl7.org/fhir/ValueSet/observation-category (preferred)
|
||||||
|
* category ^definition = "Type of observation category"
|
||||||
|
* category ^comment = "E.g. laboratory, vital-signs, exam. Child profiles fix this to a specific value."
|
||||||
|
|
||||||
|
// ── Code ──────────────────────────────────────────────────────────────────
|
||||||
|
// Extensible binding at base — child profiles bind to narrower ValueSets
|
||||||
|
// (e.g. BD LOINC lab panels, BD LOINC lab results). Required binding here
|
||||||
|
// would prevent child profiles from using a subset binding.
|
||||||
|
* code 1..1 MS
|
||||||
|
* code from http://hl7.org/fhir/ValueSet/observation-codes (extensible)
|
||||||
|
* code ^definition = "Type of observation / test / measurement"
|
||||||
|
* code ^comment = "E.g. Hb, RBS, CBC. Child profiles bind to specific ValueSets."
|
||||||
|
|
||||||
|
// ── Subject ───────────────────────────────────────────────────────────────
|
||||||
|
* subject 1..1 MS
|
||||||
|
* subject only Reference(Patient)
|
||||||
|
* subject.reference 1..1 MS
|
||||||
|
* subject.display 1..1 MS
|
||||||
|
* subject.identifier 0..1
|
||||||
|
* subject ^definition = "Reference to the Patient this observation is about"
|
||||||
|
* subject ^comment = "EX: http://mci.mcishr.dghs.gov.bd/api/v1/patients/98002412586"
|
||||||
|
|
||||||
|
// ── Encounter ─────────────────────────────────────────────────────────────
|
||||||
|
* encounter 1..1 MS
|
||||||
|
* encounter.reference 1..1 MS
|
||||||
|
* encounter ^definition = "Reference to the Encounter during which this observation was made"
|
||||||
|
* encounter ^comment = "EX: uuid:34c38499-58ab-41e0-8e94-c3931491ad0e"
|
||||||
|
|
||||||
|
// ── Performer ─────────────────────────────────────────────────────────────
|
||||||
|
* performer 1..*
|
||||||
|
* performer.reference 1..1
|
||||||
|
|
||||||
|
// ── Part Of ───────────────────────────────────────────────────────────────
|
||||||
|
* partOf 0..*
|
||||||
|
|
||||||
|
// ── Value[x] ──────────────────────────────────────────────────────────────
|
||||||
|
// 0..1 at base — child profiles constrain presence and type.
|
||||||
|
// Panel observations set value[x] to 0..0.
|
||||||
|
// Result observations set value[x] to 1..1.
|
||||||
|
* value[x] 0..1
|
||||||
|
* value[x] ^definition = "Result value (Quantity, string, code, boolean, etc.)"
|
||||||
|
* valueQuantity 0..1
|
||||||
|
* valueQuantity ^comment = "If numeric, must include UCUM unit"
|
||||||
|
* valueQuantity.system 0..1
|
||||||
|
* valueQuantity.system = "http://unitsofmeasure.org"
|
||||||
|
* valueQuantity.code 0..1
|
||||||
|
* valueString 0..1
|
||||||
|
* valueCodeableConcept 0..1
|
||||||
|
* valueBoolean 0..1
|
||||||
|
* valueInteger 0..1
|
||||||
|
* valueRange 0..1
|
||||||
|
* valueRatio 0..1
|
||||||
|
* valueSampledData 0..1
|
||||||
|
* valueTime 0..1
|
||||||
|
* valueDateTime 0..1
|
||||||
|
* valuePeriod 0..1
|
||||||
|
|
||||||
|
// ── Interpretation ────────────────────────────────────────────────────────
|
||||||
|
// Extensible at base — required was too strict for general observation use.
|
||||||
|
* interpretation 0..*
|
||||||
|
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (extensible)
|
||||||
|
* interpretation ^definition = "Assessment of the observation result"
|
||||||
|
* interpretation ^comment = "E.g. High, Low, Normal"
|
||||||
|
|
||||||
|
// ── Method ────────────────────────────────────────────────────────────────
|
||||||
|
// Extensible at base — required was too strict for general observation use.
|
||||||
|
* method 0..1
|
||||||
|
* method from http://hl7.org/fhir/ValueSet/observation-methods (extensible)
|
||||||
|
* method ^definition = "Type of observation method"
|
||||||
|
* method ^comment = "E.g. Technique, Total measurement"
|
||||||
|
|
||||||
|
// ── Issued ────────────────────────────────────────────────────────────────
|
||||||
|
* issued 0..1
|
||||||
|
* issued ^definition = "Date/time the result was issued"
|
||||||
|
|
||||||
|
// ── Reference Range ───────────────────────────────────────────────────────
|
||||||
|
* referenceRange 0..*
|
||||||
|
* referenceRange ^definition = "Normal reference range for the observation"
|
||||||
|
|
||||||
|
// ── Specimen ──────────────────────────────────────────────────────────────
|
||||||
|
// MustSupport at base — relevant for lab, pathology, and future imaging.
|
||||||
|
* specimen 0..1 MS
|
||||||
|
* specimen ^definition = "Specimen used for this observation"
|
||||||
|
|
||||||
|
// ── hasMember ─────────────────────────────────────────────────────────────
|
||||||
|
// Defined at base to support the panel/component pattern.
|
||||||
|
// bd-lab-panel-observation constrains this to 1..* typed references.
|
||||||
|
// bd-lab-result-observation constrains this to 0..0.
|
||||||
|
* hasMember 0..* MS
|
||||||
|
* hasMember ^definition = "References to component result Observations that belong to this panel"
|
||||||
|
* hasMember ^comment = "Used in panel-type Observations. Leaf result Observations must not use hasMember."
|
||||||
|
|
||||||
|
// ── derivedFrom ───────────────────────────────────────────────────────────
|
||||||
|
// Defined at base to support child results referencing their parent panel.
|
||||||
|
* derivedFrom 0..* MS
|
||||||
|
* derivedFrom ^definition = "References to the panel Observation from which this result is derived"
|
||||||
|
* derivedFrom ^comment = "Used in leaf result Observations to reference their parent panel."
|
||||||
10
input/fsh/profile/BDOrganization.fsh
Normal file
10
input/fsh/profile/BDOrganization.fsh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
// @Name: Profile
|
||||||
|
// @Description: Example of a profile of the Practitioner resource for Bangladesh.
|
||||||
|
|
||||||
|
Profile: BDOrganization
|
||||||
|
Id: bd-organization
|
||||||
|
Parent: Organization
|
||||||
|
Title: "Organization for Bangladesh"
|
||||||
|
Description: "Organization for Bangladesh Standard"
|
||||||
|
|
||||||
|
* identifier 1..* MS
|
||||||
@@ -1,42 +1,39 @@
|
|||||||
|
Alias: $translation = http://hl7.org/fhir/StructureDefinition/translation
|
||||||
// @Name: Profile
|
// @Name: Profile
|
||||||
// @Description: Example of a profile of the Patient resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
|
// @Description: Example of a profile of the Patient resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
|
||||||
|
Profile: BDPatient
|
||||||
Profile: BDPatientProfile
|
|
||||||
Id: bd-patient
|
Id: bd-patient
|
||||||
Parent: Patient
|
Parent: Patient
|
||||||
Title: "Patient Profile for Bangladesh"
|
Title: "Patient Profile for Bangladesh"
|
||||||
Description: "Profile of Patient Bangladesh Standard"
|
Description: """
|
||||||
|
Patient profile for Bangladesh.
|
||||||
|
- Identifiers: NID, BRN, UHID
|
||||||
|
- Name must be provided in both Bangla and English.
|
||||||
|
- SHALL have at least one RelatedPerson with relationship = father or mother, and that RelatedPerson SHALL include both a name and an identifier.
|
||||||
|
"""
|
||||||
|
|
||||||
// ----- Begin rules:
|
// ----- Begin rules:
|
||||||
|
* name 1..1 MS
|
||||||
|
* name.use 1..1
|
||||||
|
* name.use = #official (exactly)
|
||||||
|
|
||||||
// Require at least one value inside the name element
|
* name.text 1..1 MS
|
||||||
* name 2..*
|
|
||||||
// === 1. Declare slicing on name by 'use' ===
|
|
||||||
* name ^slicing.discriminator.type = #value
|
|
||||||
* name ^slicing.discriminator.path = "system"
|
|
||||||
* name ^slicing.rules = #open
|
|
||||||
* name ^slicing.description = "Slice name by use (official for English, usual for Bangla)"
|
|
||||||
|
|
||||||
// === 2. Define slices ===
|
// Slice translation extensions by pattern on the lang sub-extension
|
||||||
* name contains
|
* name.text.extension ^slicing.discriminator.type = #pattern
|
||||||
nameEnglish 1..1 MS and // slice alias for English name
|
* name.text.extension ^slicing.discriminator.path = "extension('lang').value"
|
||||||
nameBangla 1..1 MS // slice alias for Bangla name
|
* name.text.extension ^slicing.rules = #open
|
||||||
|
* name.text.extension ^slicing.ordered = false
|
||||||
|
* name.text.extension 2..* MS
|
||||||
|
* name.text.extension contains
|
||||||
|
$translation named nameEn 1..1 MS and
|
||||||
|
$translation named nameBn 1..1 MS
|
||||||
|
|
||||||
// === 3. Constrain English (official) name ===
|
* name.text.extension[nameEn].extension[lang].valueCode = #en (exactly)
|
||||||
* name[nameEnglish].use = #en (exactly)
|
* name.text.extension[nameEn].extension[content] 1..1 MS
|
||||||
* name[nameEnglish].given 0..*
|
|
||||||
* name[nameEnglish].family 0..1
|
|
||||||
* name[nameEnglish] ^short = "Legal name (English/Romanized)"
|
|
||||||
* name[nameEnglish] ^definition = "Official name as registered in government documents."
|
|
||||||
|
|
||||||
|
|
||||||
// === 4. Constrain Bangla name ===
|
|
||||||
* name[nameBangla].use = #bn (exactly)
|
|
||||||
* name[nameBangla].given 0..*
|
|
||||||
* name[nameBangla].family 0..1
|
|
||||||
* name[nameBangla] ^short = "নাম (বাংলা)"
|
|
||||||
* name[nameBangla] ^definition = "Patient's name written in Bengali script."
|
|
||||||
|
|
||||||
|
* name.text.extension[nameBn].extension[lang].valueCode = #bn (exactly)
|
||||||
|
* name.text.extension[nameBn].extension[content] 1..1 MS
|
||||||
|
|
||||||
//////////////////////
|
//////////////////////
|
||||||
|
|
||||||
@@ -49,32 +46,32 @@ Description: "Profile of Patient Bangladesh Standard"
|
|||||||
* identifier contains
|
* identifier contains
|
||||||
NID 0..1 and
|
NID 0..1 and
|
||||||
BRN 0..1 and
|
BRN 0..1 and
|
||||||
UID 0..1
|
UHID 0..1
|
||||||
|
|
||||||
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
|
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
|
||||||
* identifier[NID].type.coding.code = #NID
|
* identifier[NID].type.coding.code = #NID
|
||||||
* identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
// * identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
||||||
|
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[NID].type.text = "Organization identifier"
|
* identifier[NID].type.text = "Organization identifier"
|
||||||
* identifier[NID].value = "Personal identifier National ID"
|
// * identifier[NID].value = "Personal identifier National ID"
|
||||||
|
|
||||||
// Then in your profile:
|
// Then in your profile:
|
||||||
// * identifier.type from BangladeshIdentifierTypeVS (extensible)
|
// * identifier.type from BangladeshIdentifierTypeVS (extensible)
|
||||||
|
|
||||||
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
|
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
|
||||||
* identifier[BRN].type.coding.code = #BRN
|
* identifier[BRN].type.coding.code = #BRN
|
||||||
* identifier[BRN].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
* identifier[BRN].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[BRN].type.text = "Organization identifier"
|
* identifier[BRN].type.text = "Organization identifier"
|
||||||
* identifier[BRN].value = "Personal identifier Birth Registration"
|
// * identifier[BRN].value = "Personal identifier Birth Registration"
|
||||||
|
|
||||||
|
|
||||||
* identifier[UID].system = "http://dghs.gov.bd/identifier/uid"
|
* identifier[UHID].system = "http://dghs.gov.bd/identifier/uhid"
|
||||||
* identifier[UID].type.coding.code = #UID
|
* identifier[UHID].type.coding.code = #UHID
|
||||||
* identifier[UID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
* identifier[UHID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
* identifier[UID].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[UHID].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[UID].type.text = "Organization identifier"
|
* identifier[UHID].type.text = "Organization identifier"
|
||||||
* identifier[UID].value = "Personal identifier"
|
|
||||||
|
|
||||||
|
|
||||||
// Mark elements as MustSupport
|
// Mark elements as MustSupport
|
||||||
@@ -99,9 +96,7 @@ Description: "Profile of Patient Bangladesh Standard"
|
|||||||
|
|
||||||
// Religion using standard HL7 extension
|
// Religion using standard HL7 extension
|
||||||
* extension contains http://hl7.org/fhir/StructureDefinition/patient-religion named religion 0..1
|
* extension contains http://hl7.org/fhir/StructureDefinition/patient-religion named religion 0..1
|
||||||
* extension[religion].valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-religions
|
* extension[religion].valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-religions-valueset
|
||||||
|
|
||||||
* address 1..* MS
|
* address 1..* MS
|
||||||
* address only BDAddress
|
* address only BDAddress
|
||||||
|
|
||||||
* extension contains occupation named occupation 0..1
|
|
||||||
10
input/fsh/profile/BDPractitioner.fsh
Normal file
10
input/fsh/profile/BDPractitioner.fsh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
// @Name: Profile
|
||||||
|
// @Description: Example of a profile of the Practitioner resource for Bangladesh.
|
||||||
|
|
||||||
|
Profile: BDPractitioner
|
||||||
|
Id: bd-practitioner
|
||||||
|
Parent: Practitioner
|
||||||
|
Title: "Practitioner for Bangladesh"
|
||||||
|
Description: "Practitioner for Bangladesh Standard"
|
||||||
|
|
||||||
|
* identifier 1..* MS
|
||||||
@@ -10,8 +10,10 @@ Description: "Address for Bangladesh Standard"
|
|||||||
|
|
||||||
* country 1..1 MS
|
* country 1..1 MS
|
||||||
* extension contains Division named division 1..1 MS
|
* extension contains Division named division 1..1 MS
|
||||||
|
* extension[division] ^short = "Division code"
|
||||||
|
|
||||||
* district 1..1 MS
|
* district 1..1 MS
|
||||||
* district from BDDistrictsVS
|
* district from BDDistrictsVS
|
||||||
|
|
||||||
* extension contains Upazillas named upazilla 1..1 MS
|
* extension contains Upazillas named upazilla 1..1 MS
|
||||||
|
* extension[upazilla] ^short = "Upazilla code"
|
||||||
62
input/fsh/valueSets/BDConditionICD11DiagnosisVS.fsh
Normal file
62
input/fsh/valueSets/BDConditionICD11DiagnosisVS.fsh
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
// ============================================================
|
||||||
|
// BDConditionICD11DiagnosisVS.fsh
|
||||||
|
// ICD-11 MMS ValueSet restricted to Diagnosis and Finding classes
|
||||||
|
// Binding target for Condition.code in BDConditionProfile
|
||||||
|
// Empty stub — runtime enforcement via OCL $validate-code
|
||||||
|
// $expand not available — suppressed in sushi-config.yaml
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
ValueSet: BDConditionICD11DiagnosisVS
|
||||||
|
Id: bd-condition-icd11-diagnosis-valueset
|
||||||
|
Title: "Bangladesh ICD-11 MMS Condition ValueSet (Diagnosis and Finding)"
|
||||||
|
Description: """
|
||||||
|
ICD-11 MMS concepts restricted to the Diagnosis (14,071) and Finding (5,590)
|
||||||
|
concept classes, totalling 19,661 concepts as of version 2025-01.
|
||||||
|
|
||||||
|
This ValueSet is the binding target for Condition.code in the BD-Core
|
||||||
|
Condition profile. Substance, Organism, Device, Anatomy, and Misc class
|
||||||
|
concepts are excluded and SHALL NOT appear as standalone stem codes in
|
||||||
|
Condition.code. This restriction applies to stem codes only — satellite
|
||||||
|
codes carried in the icd11-cluster-expression extension are exempt.
|
||||||
|
|
||||||
|
This ValueSet is an empty stub. No compose block is declared because
|
||||||
|
$expand is not supported by the national OCL terminology server and
|
||||||
|
no machine-executable filter for concept_class is available at the
|
||||||
|
IG layer. The compose would be nominal only and is omitted to avoid
|
||||||
|
misrepresenting machine-executable semantics.
|
||||||
|
|
||||||
|
The ValueSet is hosted in OCL as a collection with 19,661 explicit
|
||||||
|
concept references (Diagnosis and Finding classes only). Runtime
|
||||||
|
enforcement is via OCL ValueSet $validate-code:
|
||||||
|
|
||||||
|
GET https://tr.ocl.dghs.gov.bd/api/fhir/ValueSet/$validate-code
|
||||||
|
?url=https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-diagnosis-valueset
|
||||||
|
&system=http://id.who.int/icd/release/11/mms
|
||||||
|
&code={code}
|
||||||
|
|
||||||
|
Confirmed behaviour:
|
||||||
|
- Diagnosis class (e.g. 1A00): accepted
|
||||||
|
- Finding class: accepted
|
||||||
|
- Device class (e.g. XD7EB1): rejected
|
||||||
|
- Substance class (e.g. XM6RB2): rejected
|
||||||
|
|
||||||
|
At the HAPI FHIR layer, enforcement is via RemoteTerminologyServiceValidationSupport
|
||||||
|
configured to call OCL. HAPI FHIR deployment is a known gap to be closed
|
||||||
|
before vendor onboarding.
|
||||||
|
|
||||||
|
VERSION UPGRADES:
|
||||||
|
Upgrading to a new ICD-11 MMS release requires re-running
|
||||||
|
populate_condition_valueset.py. Automated via version_upgrade.py.
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-diagnosis-valueset"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^version = "2025-01"
|
||||||
|
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^copyright = "ICD-11 is copyright © World Health Organization. Used under licence."
|
||||||
|
* ^immutable = false
|
||||||
34
input/fsh/valueSets/BDDGDADrugsVS.fsh
Normal file
34
input/fsh/valueSets/BDDGDADrugsVS.fsh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
ValueSet: BDDGDADrugsVS
|
||||||
|
Id: dgda-registered-drugs
|
||||||
|
Title: "DGDA Registered Drugs Value Set"
|
||||||
|
Description: """
|
||||||
|
Value set containing all registered drug products from the Drug Registration
|
||||||
|
Authority (DGDA) of Bangladesh. This value set includes 39,196 finished
|
||||||
|
pharmaceutical drug product concepts maintained in the national OCL terminology
|
||||||
|
server at https://tr.ocl.dghs.gov.bd.
|
||||||
|
|
||||||
|
This value set is the normative binding for BDMedication.code and represents
|
||||||
|
the only permitted drug coding vocabulary for medication resources in the
|
||||||
|
Bangladesh national health information exchange.
|
||||||
|
|
||||||
|
Validation is performed via $validate-code and $lookup against the national
|
||||||
|
OCL terminology server. $expand is not supported for this value set due to its
|
||||||
|
size.
|
||||||
|
|
||||||
|
Source collection: dgda-registered-drugs-valueset (MoHFW organisation, OCL)
|
||||||
|
OCL collection canonical: https://dgda.gov.bd/fhir/ValueSet/registered-drugs
|
||||||
|
OCL FHIR endpoint: https://tr.ocl.dghs.gov.bd/orgs/MoHFW/collections/dgda-registered-drugs-valueset/
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://dgda.gov.bd/fhir/ValueSet/registered-drugs"
|
||||||
|
* ^version = "v1.0.0"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "Directorate General of Drug Administration (DGDA), Government of Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system https://dgda.gov.bd/drug-registry
|
||||||
13
input/fsh/valueSets/BDEncounterClassSubsetVS.fsh
Normal file
13
input/fsh/valueSets/BDEncounterClassSubsetVS.fsh
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
// ---------- ValueSet ----------
|
||||||
|
ValueSet: BDEncounterClassSubsetVS
|
||||||
|
Id: bd-encounter-class-subset
|
||||||
|
Title: "BD Encounter Class Subset"
|
||||||
|
Description: "Subset of EncounterClass limited to inpatient, ambulatory, and emergency."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-class-subset"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
|
// Explicitly include the three concepts from the core EncounterClass system
|
||||||
|
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#IMP "Inpatient"
|
||||||
|
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#AMB "Ambulatory"
|
||||||
|
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#EMER "Emergency"
|
||||||
15
input/fsh/valueSets/BDEncounterStatusSubsetVS.fsh
Normal file
15
input/fsh/valueSets/BDEncounterStatusSubsetVS.fsh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
// ---------- ValueSet ----------
|
||||||
|
ValueSet: BDEncounterStatusSubsetVS
|
||||||
|
Id: bd-encounter-status-subset
|
||||||
|
Title: "BD Encounter Status Subset"
|
||||||
|
Description: "Subset of EncounterStatus limited to planned, in-progress, finished, and cancelled."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-status-subset"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
|
// Explicitly include the four concepts from the core code system
|
||||||
|
* include http://hl7.org/fhir/encounter-status#planned "Planned"
|
||||||
|
* include http://hl7.org/fhir/encounter-status#in-progress "In Progress"
|
||||||
|
* include http://hl7.org/fhir/encounter-status#finished "Finished"
|
||||||
|
* include http://hl7.org/fhir/encounter-status#cancelled "Cancelled"
|
||||||
|
|
||||||
32
input/fsh/valueSets/BDICD11SubstancesVS.fsh
Normal file
32
input/fsh/valueSets/BDICD11SubstancesVS.fsh
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
ValueSet: BDICD11SubstancesVS
|
||||||
|
Id: icd11-substances-valueset
|
||||||
|
Title: "ICD-11 Substances Value Set"
|
||||||
|
Description: """
|
||||||
|
Value set containing all ICD-11 MMS substance and medicament concepts
|
||||||
|
(XM-prefix concept class: Substance) maintained in the national OCL
|
||||||
|
terminology server at https://tr.ocl.dghs.gov.bd.
|
||||||
|
|
||||||
|
This value set contains 7,776 substance concepts and is used for coding
|
||||||
|
active pharmaceutical ingredients in the BDMedication.ingredient element
|
||||||
|
to support IPS generation and cross-border data exchange.
|
||||||
|
|
||||||
|
This value set is defined and maintained in OCL. It is declared here as a
|
||||||
|
minimal stub to allow IG publisher binding resolution only.
|
||||||
|
|
||||||
|
**OCL collection canonical:** https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset
|
||||||
|
**OCL FHIR endpoint:** https://tr.ocl.dghs.gov.bd/orgs/MoHFW/collections/icd11-substances-valueset/
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset"
|
||||||
|
* ^version = "2025-01"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "World Health Organization (WHO) — served via DGHS National OCL"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system http://id.who.int/icd/release/11/mms
|
||||||
|
where concept-class = "Substance"
|
||||||
7
input/fsh/valueSets/BDImmunizationReactionVS.fsh
Normal file
7
input/fsh/valueSets/BDImmunizationReactionVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
ValueSet: BDImmunizationReactionValueSet
|
||||||
|
Id: bd-immunization-reaction-valueset
|
||||||
|
Title: "Bangladesh Immunization Reaction Value Set"
|
||||||
|
Description: "Allowed vaccine reactions for immunization in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-reaction-valueset"
|
||||||
|
* ^status = #active
|
||||||
|
* include codes from system BDImmunizationReactionCS
|
||||||
7
input/fsh/valueSets/BDImmunizationRouteVS.fsh
Normal file
7
input/fsh/valueSets/BDImmunizationRouteVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
ValueSet: BDImmunizationRouteVS
|
||||||
|
Id: bd-immunization-route-valueset
|
||||||
|
Title: "Bangladesh Immunization Route Value Set"
|
||||||
|
Description: "Allowed administration routes for vaccines in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-route-valueset"
|
||||||
|
* ^status = #active
|
||||||
|
* include codes from system BDImmunizationRouteCS
|
||||||
8
input/fsh/valueSets/BDImmunizationSiteVs.fsh
Normal file
8
input/fsh/valueSets/BDImmunizationSiteVs.fsh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
ValueSet: BDImmunizationSiteVS
|
||||||
|
Id: bd-immunization-site-valueset
|
||||||
|
Title: "Bangladesh Immunization Site Value Set"
|
||||||
|
Description: "Allowed administration sites for vaccines in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-site-valueset"
|
||||||
|
* ^status = #active
|
||||||
|
* include codes from system BDImmunizationSiteCS
|
||||||
|
|
||||||
8
input/fsh/valueSets/BDLanguage.fsh
Normal file
8
input/fsh/valueSets/BDLanguage.fsh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
ValueSet: BDLanguageVS
|
||||||
|
Id: bd-language-valueset
|
||||||
|
Title: "Allowed Languages"
|
||||||
|
Description: "Only English and Bengali are allowed"
|
||||||
|
* urn:ietf:bcp:47#en "English"
|
||||||
|
* urn:ietf:bcp:47#bn "Bengali"
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-language-valueset"
|
||||||
22
input/fsh/valueSets/BDLoincAnswerListsVS.fsh
Normal file
22
input/fsh/valueSets/BDLoincAnswerListsVS.fsh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
ValueSet: BDLoincAnswerListsVS
|
||||||
|
Id: bd-loinc-answer-lists-valueset
|
||||||
|
Title: "Bangladesh LOINC Answer Lists ValueSet"
|
||||||
|
Description: "LOINC answer codes (LA-prefixed) and answer list groupers (LL-prefixed)
|
||||||
|
for Bangladesh laboratory results. Includes all answer codes referenced by in-scope
|
||||||
|
lab result codes from LOINC 2.82. Used as Observation.valueCodeableConcept in
|
||||||
|
bd-lab-result-observation for ordinal and nominal scale results."
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-answer-lists-valueset"
|
||||||
|
* ^status = #draft
|
||||||
|
* ^experimental = true
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Information Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system http://loinc.org
|
||||||
|
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-answer-lists"
|
||||||
21
input/fsh/valueSets/BDLoincLabPanelsVS.fsh
Normal file
21
input/fsh/valueSets/BDLoincLabPanelsVS.fsh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
ValueSet: BDLoincLabPanelsVS
|
||||||
|
Id: bd-loinc-lab-panels-valueset
|
||||||
|
Title: "Bangladesh LOINC Lab Panels ValueSet"
|
||||||
|
Description: "LOINC orderable laboratory panel codes for Bangladesh. Includes universal
|
||||||
|
lab order panel codes from LOINC 2.82 scoped to the Universal Lab Orders ValueSet.
|
||||||
|
Used as Observation.code in bd-lab-panel-observation."
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-lab-panels-valueset"
|
||||||
|
* ^status = #draft
|
||||||
|
* ^experimental = true
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Information Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system http://loinc.org
|
||||||
|
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-panels"
|
||||||
22
input/fsh/valueSets/BDLoincLabResultsVS.fsh
Normal file
22
input/fsh/valueSets/BDLoincLabResultsVS.fsh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
ValueSet: BDLoincLabResultsVS
|
||||||
|
Id: bd-loinc-lab-results-valueset
|
||||||
|
Title: "Bangladesh LOINC Lab Results ValueSet"
|
||||||
|
Description: "LOINC leaf-level laboratory result codes for Bangladesh. Includes
|
||||||
|
individual component/result codes from LOINC 2.82 scoped to the Universal Lab Orders
|
||||||
|
ValueSet. Excludes discouraged and non-laboratory codes. Used as Observation.code
|
||||||
|
in bd-lab-result-observation."
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-lab-results-valueset"
|
||||||
|
* ^status = #draft
|
||||||
|
* ^experimental = true
|
||||||
|
* ^version = "0.1.0"
|
||||||
|
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||||
|
* ^contact.name = "DGHS Health Information Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system http://loinc.org
|
||||||
|
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-results"
|
||||||
36
input/fsh/valueSets/BDMedicationDoseFormVS.fsh
Normal file
36
input/fsh/valueSets/BDMedicationDoseFormVS.fsh
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
ValueSet: BDMedicationDoseFormVS
|
||||||
|
Id: bd-medication-dose-form
|
||||||
|
Title: "Medication Dose Form Value Set"
|
||||||
|
Description: """
|
||||||
|
Value set containing pharmaceutical dose form concepts from the European
|
||||||
|
Directorate for the Quality of Medicines (EDQM) Standard Terms, domain:
|
||||||
|
Pharmaceutical Dose Forms (PDF).
|
||||||
|
|
||||||
|
This value set is used to code the physical form of a medication product
|
||||||
|
in BDMedication.form. EDQM Standard Terms are maintained and versioned
|
||||||
|
by the Council of Europe and are the WHO-recommended international standard
|
||||||
|
for pharmaceutical dose form coding.
|
||||||
|
|
||||||
|
Concepts are loaded into the national OCL terminology server at
|
||||||
|
https://tr.ocl.dghs.gov.bd under the MoHFW organisation as source EDQM-PDF.
|
||||||
|
|
||||||
|
**Binding:** preferred on BDMedication.form — systems should use EDQM
|
||||||
|
codes when populating dose form, but omission is permitted. A mapping from
|
||||||
|
DGDA plain text dose forms to EDQM codes is planned for a future IG version.
|
||||||
|
|
||||||
|
**Code system canonical:** https://standardterms.edqm.eu
|
||||||
|
**OCL source:** https://tr.ocl.dghs.gov.bd/#/orgs/MoHFW/sources/EDQM-PDF/
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/edqm-dose-forms"
|
||||||
|
* ^version = "1.0.0"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system https://standardterms.edqm.eu
|
||||||
31
input/fsh/valueSets/BDRouteOfAdministrationVS.fsh
Normal file
31
input/fsh/valueSets/BDRouteOfAdministrationVS.fsh
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
ValueSet: BDRouteOfAdministrationVS
|
||||||
|
Id: bd-route-of-administration
|
||||||
|
Title: "Route of Administration Value Set"
|
||||||
|
Description: """
|
||||||
|
Value set containing route of administration concepts from the HL7 Version 3
|
||||||
|
RouteOfAdministration code system.
|
||||||
|
|
||||||
|
This value set is used to code the route by which a medication is administered
|
||||||
|
in MedicationRequest.dosageInstruction.route. HL7 v3 RouteOfAdministration
|
||||||
|
is a license-free, internationally recognised vocabulary already embedded in
|
||||||
|
the FHIR ecosystem.
|
||||||
|
|
||||||
|
Concepts are loaded into the national OCL terminology server at
|
||||||
|
https://tr.ocl.dghs.gov.bd under the MoHFW organisation.
|
||||||
|
|
||||||
|
**Code system canonical:** http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration
|
||||||
|
**Binding:** required on BDMedicationRequest.dosageInstruction.route
|
||||||
|
"""
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-route-of-administration"
|
||||||
|
* ^version = "1.0.0"
|
||||||
|
* ^status = #active
|
||||||
|
* ^experimental = false
|
||||||
|
* ^publisher = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.name = "DGHS Health Informatics Unit"
|
||||||
|
* ^contact.telecom.system = #url
|
||||||
|
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||||
|
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||||
|
* ^immutable = false
|
||||||
|
|
||||||
|
* include codes from system http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration
|
||||||
7
input/fsh/valueSets/BDVaccineVS.fsh
Normal file
7
input/fsh/valueSets/BDVaccineVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
ValueSet: BDVaccineVS
|
||||||
|
Id: bd-vaccine-valueset
|
||||||
|
Title: "Bangladesh Vaccine Value Set"
|
||||||
|
Description: "Allowed vaccines for immunization in Bangladesh."
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-vaccine-valueset"
|
||||||
|
* ^status = #active
|
||||||
|
* include codes from system BDVaccineCS
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
ValueSet: LanguageValueSet
|
|
||||||
Id: language-valueset
|
|
||||||
Title: "Allowed Languages"
|
|
||||||
Description: "Only English and Bengali are allowed"
|
|
||||||
* http://hl7.org/fhir/ValueSet/languages#en "English"
|
|
||||||
* http://hl7.org/fhir/ValueSet/languages#bn "Bengali"
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
|
|
||||||
Profile: BDPatientProfile
|
|
||||||
|
|
||||||
Id: bd-patient
|
|
||||||
Parent: Patient
|
|
||||||
Title: "Bangladesh Patient Profile"
|
|
||||||
Description: "All patient information of BD"
|
|
||||||
|
|
||||||
// ^ url = https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
|
||||||
|
|
||||||
* identifier 1..*
|
|
||||||
|
|
||||||
* identifier ^slicing.discriminator.type = #value
|
|
||||||
* identifier ^slicing.discriminator.path = "system"
|
|
||||||
* identifier ^slicing.rules = #open
|
|
||||||
* identifier ^slicing.description = "Identifier"
|
|
||||||
* identifier ^slicing.ordered = false
|
|
||||||
|
|
||||||
// nid, brn, uhid, passport, dl, tin
|
|
||||||
// * identifier contains nid 0..1 and brn 0..1 and uhid 0..1 and passport 0..1 and dl 0..1 and tin 0..1
|
|
||||||
|
|
||||||
// * name 2..2
|
|
||||||
|
|
||||||
// * name ^slicing.discriminator.type = #value
|
|
||||||
// * name ^slicing.discriminator.path = ""
|
|
||||||
// * name ^slicing.rules = #open
|
|
||||||
// * name ^slicing.description = "Patient names (Bangla and English required) "
|
|
||||||
// * name ^slicing.ordered = false
|
|
||||||
|
|
||||||
// * name contains
|
|
||||||
// bangla 1..1 and
|
|
||||||
// english 1..1
|
|
||||||
|
|
||||||
// * name[bangla].text = "Full name in Bangla"
|
|
||||||
// //* name[bangla].language = "BN"
|
|
||||||
|
|
||||||
// * name[english].text 1..1
|
|
||||||
|
|
||||||
* name 1..1
|
|
||||||
* name.text 1..1
|
|
||||||
|
|
||||||
* birthDate 1..1
|
|
||||||
//* birthplace 1..1
|
|
||||||
|
|
||||||
* gender 1..1
|
|
||||||
* gender from http://hl7.org/fhir/ValueSet/administrative-gender
|
|
||||||
|
|
||||||
* telecom 0..* MS
|
|
||||||
* telecom.system 1..1
|
|
||||||
* telecom.system from http://hl7.org/fhir/ValueSet/contact-point-system (required)
|
|
||||||
* telecom.value 1..1
|
|
||||||
* telecom.use 0..1
|
|
||||||
* telecom.use from http://hl7.org/fhir/ValueSet/contact-point-use (required)
|
|
||||||
|
|
||||||
* extension contains http://hl7.org/fhir/StructureDefinition/patient-nationality named PatientNationality 1..1
|
|
||||||
|
|
||||||
|
|
||||||
* link 2..*
|
|
||||||
* link ^slicing.discriminator.type = #value
|
|
||||||
* link ^slicing.discriminator.path = "system"
|
|
||||||
* link ^slicing.rules = #open
|
|
||||||
* link ^slicing.description = ""
|
|
||||||
* link ^slicing.ordered = false
|
|
||||||
|
|
||||||
* link contains
|
|
||||||
father 1..1 and
|
|
||||||
mother 1..1
|
|
||||||
|
|
||||||
// * link[father].other.reference 1..1
|
|
||||||
|
|
||||||
|
|
||||||
// * link[father].other.identifier 0..1
|
|
||||||
// definition of identifier
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
// * link[father].other.identifier from BdIdentifierTypeVS (required)
|
|
||||||
|
|
||||||
// * link[father].other.relationship 1..1
|
|
||||||
// definition of relationship
|
|
||||||
|
|
||||||
// * link[mother].other only Reference(RelatedPerson)
|
|
||||||
// * link[mother].other.reference 1..1
|
|
||||||
|
|
||||||
// * link[mother].other.identifier 0..1
|
|
||||||
// TODO
|
|
||||||
// * link[mother].other.identifier from BdIdentifierTypeVS (required)
|
|
||||||
|
|
||||||
Profile: RelatedPersonMother
|
|
||||||
Id: relatedperson-mother
|
|
||||||
Parent: RelatedPerson
|
|
||||||
Title: "RelatedPerson Mother Profile"
|
|
||||||
Description: "Profile for RelatedPerson representing the mother"
|
|
||||||
* relationship.coding.code = #MTH
|
|
||||||
* identifier 1..1
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
// * identifier includes codes from system BdIdentifierTypeVs# (required)
|
|
||||||
// * identifier from BdIdentifierTypeVs# (required)
|
|
||||||
|
|
||||||
|
|
||||||
Profile: RelatedPersonFather
|
|
||||||
Id: relatedperson-father
|
|
||||||
Parent: RelatedPerson
|
|
||||||
Title: "RelatedPerson Father Profile"
|
|
||||||
Description: "Profile for RelatedPerson representing the father"
|
|
||||||
* relationship.coding.code = #FTH
|
|
||||||
* identifier 1..1
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
// * includes codes from system BdIdentifierTypeVs# (required)
|
|
||||||
|
|
||||||
|
|
||||||
//Address
|
|
||||||
* address 1..* MS
|
|
||||||
* address only BDAddress
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"resourceType" : "Bundle",
|
|
||||||
"id" : "h1",
|
|
||||||
"type" : "collection",
|
|
||||||
"entry" : [
|
|
||||||
{
|
|
||||||
"fullUrl" : "http://somewhere.org/fhir/uv/myig/Provenance/h1-1",
|
|
||||||
"resource" : {
|
|
||||||
"resourceType" : "Provenance",
|
|
||||||
"id" : "h1-1",
|
|
||||||
"target" : [ { "reference" : "StructureDefinition/myObservation" } ],
|
|
||||||
"occurredDateTime" : "2015-11-30",
|
|
||||||
"recorded" : "2020-01-01T00:00:00.000Z",
|
|
||||||
"reason" : [
|
|
||||||
{
|
|
||||||
"text" : "Add \"conductible\" property to ActRelationshipType and ParticipationType codes.for ContextConduction RIM Change. And create Concept domain CodeSystem and ValueSet for ContextConductionStyle"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"activity" : {
|
|
||||||
"coding" : [{
|
|
||||||
"system" : "http://terminology.hl7.org/CodeSystem/v3-DataOperation",
|
|
||||||
"code" : "UPDATE"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"agent" : [
|
|
||||||
{
|
|
||||||
"type" : {
|
|
||||||
"coding" : [{
|
|
||||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
|
||||||
"code" : "author"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"who" : { "display" : "Rob Hausam" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type" : {
|
|
||||||
"coding" : [{
|
|
||||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
|
||||||
"code" : "verifier"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
"who" : { "display" : "Vocab" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB |
BIN
input/images/bd-core-architecture.png
Normal file
BIN
input/images/bd-core-architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 347 KiB |
@@ -1,20 +0,0 @@
|
|||||||
<StructureDefinition xmlns="http://hl7.org/fhir">
|
|
||||||
<id value="bd-patient"/>
|
|
||||||
<url value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient"/>
|
|
||||||
<name value="BDPatient"/>
|
|
||||||
<title value="Bangladesh Patient Profile"/>
|
|
||||||
<status value="draft"/>
|
|
||||||
<fhirVersion value="4.0.1"/>
|
|
||||||
<kind value="resource"/>
|
|
||||||
<abstract value="false"/>
|
|
||||||
<type value="Patient"/>
|
|
||||||
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient"/>
|
|
||||||
<derivation value="constraint"/>
|
|
||||||
<differential>
|
|
||||||
<!-- Example: constrain identifier system -->
|
|
||||||
<element id="Patient.identifier.system">
|
|
||||||
<path value="Patient.identifier.system"/>
|
|
||||||
<fixedUri value="https://fhir.dghs.gov.bd/core/identifier"/>
|
|
||||||
</element>
|
|
||||||
</differential>
|
|
||||||
</StructureDefinition>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user