@geoalgeria/sante 1.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +53 -29
- package/README.fr.md +57 -31
- package/README.md +69 -44
- package/data/csv/sante.csv +696 -696
- package/data/geojson/sante.geojson +8532 -7807
- package/data/metadata.json +58 -19
- package/data/sante.json +9308 -9878
- package/dataset-metadata.json +52 -0
- package/package.json +3 -2
- package/types/index.d.ts +83 -55
package/README.ar.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# @geoalgeria/sante
|
|
6
6
|
|
|
7
|
-
**المؤسسات الصحية العمومية في
|
|
7
|
+
**المؤسسات الصحية العمومية في الجزائر، كبيانات قابلة للتثبيت.**
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
10
10
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
@@ -12,13 +12,22 @@
|
|
|
12
12
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
-
**695 مؤسسة صحية عمومية** عبر **58 ولاية** لها مديرية للصحة
|
|
15
|
+
**695 مؤسسة صحية عمومية** عبر **58 ولاية** لها مديرية للصحة – المؤسسات العمومية
|
|
16
16
|
الاستشفائية (EPH)، ومؤسسات الصحة الجوارية (EPSP)، والمؤسسات الاستشفائية المتخصصة
|
|
17
17
|
(EHS)، والمراكز الاستشفائية الجامعية (CHU) من **وزارة الصحة (MSP)**، ثنائية اللغة
|
|
18
|
-
عربي/فرنسي، **600 منها بإحداثيات**
|
|
19
|
-
بالبلدية والولاية. متوفر بصيغ JSON وCSV
|
|
18
|
+
عربي/فرنسي، **600 منها بإحداثيات** (124 بنقطة دقيقة من OpenStreetMap/Wikidata،
|
|
19
|
+
و476 بمركز ثقل البلدية) مع ربطٍ بالبلدية والولاية. متوفر بصيغ JSON وCSV
|
|
20
|
+
وGeoJSON وTypeScript. جزء من
|
|
20
21
|
[GeoAlgeria](https://github.com/yasserstudio/geoalgeria).
|
|
21
22
|
|
|
23
|
+
> **الطبقة المجتمعية موجودة في [`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques)، ولا يجوز جمع الاثنين أبدًا.**
|
|
24
|
+
> هذه الحزمة هي طبقة *السجل*: المؤسسات العمومية التي تسيّرها وزارة الصحة، سجل
|
|
25
|
+
> رسمي ومغلق. أما `cliniques` فهي الطبقة *المجتمعية*: 1,894 عيادة متعددة
|
|
26
|
+
> الخدمات وقاعة علاج ومركز صحي ومصحة توليد وعيادة، رسمها متطوعو OpenStreetMap،
|
|
27
|
+
> وهي جزئية بطبيعتها. كل عنصر OSM يشير إليه سجل من هنا مستبعَد هناك بحكم
|
|
28
|
+
> البناء، فلا يُنشر أي مكان مرتين تحت العنصر نفسه، لكن الاثنتين تصفان طبقتين
|
|
29
|
+
> مختلفتين من منظومة الصحة، وجمع 695 مع 1,894 لا يعدّ شيئًا حقيقيًا.
|
|
30
|
+
|
|
22
31
|
```bash
|
|
23
32
|
npm install @geoalgeria/sante
|
|
24
33
|
```
|
|
@@ -37,11 +46,11 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
37
46
|
|
|
38
47
|
## ما يمكنك بناؤه
|
|
39
48
|
|
|
40
|
-
- **أدلّة ومحدّدات مواقع المستشفيات والعيادات**
|
|
49
|
+
- **أدلّة ومحدّدات مواقع المستشفيات والعيادات** – إحداثيات على 600 من أصل 695
|
|
41
50
|
سجلًّا، جاهزة للخريطة أو للبحث عن الأقرب.
|
|
42
|
-
- **أدلّة صحية ثنائية اللغة**
|
|
51
|
+
- **أدلّة صحية ثنائية اللغة** – أسماء عربية وفرنسية، والنوع الرسمي والولاية لكل
|
|
43
52
|
مؤسسة.
|
|
44
|
-
- **تحليل التغطية والتخطيط**
|
|
53
|
+
- **تحليل التغطية والتخطيط** – حساب المؤسسات حسب النوع لكل بلدية/ولاية عبر البلاد.
|
|
45
54
|
|
|
46
55
|
## المحتوى
|
|
47
56
|
|
|
@@ -61,12 +70,20 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
61
70
|
|
|
62
71
|
**حسب دقّة الإحداثيات** (`geo_precision`)
|
|
63
72
|
|
|
73
|
+
| القيمة | العدد | المعنى |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| `exact` | 124 | نقطة دقيقة من مرفق في OSM أو Wikidata ضمن البلدية |
|
|
76
|
+
| `approximate` | 476 | مركز ثقل بلدية المؤسسة |
|
|
77
|
+
| `null` | 95 | لم تُربط البلدية – بلا إحداثيات (`lat`/`lng` أيضًا `null`) |
|
|
78
|
+
|
|
79
|
+
**حسب طريقة الحصول على الإحداثية** (`geo_method`)
|
|
80
|
+
|
|
64
81
|
| القيمة | العدد | المعنى |
|
|
65
82
|
| --- | --- | --- |
|
|
66
83
|
| `osm_point` | 121 | نقطة دقيقة من مرفق في OpenStreetMap ضمن البلدية |
|
|
67
84
|
| `wikidata_point` | 3 | نقطة دقيقة من مرفق في Wikidata ضمن البلدية |
|
|
68
85
|
| `commune_centroid` | 476 | مركز ثقل بلدية المؤسسة (تقريبي) |
|
|
69
|
-
| `
|
|
86
|
+
| `null` | 95 | لا توجد طريقة – السجل بلا إحداثيات |
|
|
70
87
|
|
|
71
88
|
> **السجل رسمي؛ أما الإحداثيات فأفضل ما أمكن.** الأسماء والنوع والولاية من وزارة
|
|
72
89
|
> الصحة. لا تنشر الوزارة إحداثيات، فيستنتجها GeoAlgeria (انظر *المصدر والمنهجية*).
|
|
@@ -82,7 +99,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
|
|
|
82
99
|
// https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
|
|
83
100
|
```
|
|
84
101
|
|
|
85
|
-
المُحمِّلات وبنية السجلات **مُوثَّقة الأنواع** بالكامل
|
|
102
|
+
المُحمِّلات وبنية السجلات **مُوثَّقة الأنواع** بالكامل – تعريفات TypeScript مرفقة في الحزمة:
|
|
86
103
|
|
|
87
104
|
```ts
|
|
88
105
|
import sante, { type HealthEstablishment } from "@geoalgeria/sante";
|
|
@@ -95,7 +112,7 @@ const all: HealthEstablishment[] = sante.sante();
|
|
|
95
112
|
```
|
|
96
113
|
data/
|
|
97
114
|
sante.json # 695 مؤسسة (مصفوفة)
|
|
98
|
-
metadata.json # المصادر، الأعداد، التغطية،
|
|
115
|
+
metadata.json # المصادر، الأعداد، التغطية، updated
|
|
99
116
|
csv/sante.csv # المستودع + الإصدار (ليس في حزمة npm)
|
|
100
117
|
geojson/sante.geojson # معالم نقطية (السجلات ذات الإحداثيات)
|
|
101
118
|
```
|
|
@@ -106,33 +123,40 @@ data/
|
|
|
106
123
|
{
|
|
107
124
|
"id": "01-ehs-02",
|
|
108
125
|
"name": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
109
|
-
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
110
126
|
"name_fr": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
127
|
+
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
128
|
+
"wilaya_code": "01",
|
|
129
|
+
"commune_code": "0101",
|
|
130
|
+
"commune": "Adrar",
|
|
131
|
+
"lat": 27.875834,
|
|
132
|
+
"lng": -0.307533,
|
|
133
|
+
"geo_precision": "exact",
|
|
134
|
+
"geo_method": "osm_point",
|
|
135
|
+
"source": "msp",
|
|
136
|
+
"refs": {
|
|
137
|
+
"osm": "way/432370657",
|
|
138
|
+
"msp": "3588"
|
|
139
|
+
},
|
|
111
140
|
"type": "ehs",
|
|
112
141
|
"type_label_fr": "Établissement Hospitalier Spécialisé",
|
|
113
142
|
"type_label_ar": "المؤسسة الاستشفائية المتخصصة",
|
|
114
143
|
"sector": "public",
|
|
115
|
-
"
|
|
116
|
-
"wilaya_ar": "أدرار",
|
|
117
|
-
"wilaya_code": "01",
|
|
118
|
-
"commune": "Adrar",
|
|
119
|
-
"commune_code": 101,
|
|
120
|
-
"source": "msp+osm",
|
|
121
|
-
"geo_precision": "osm_point",
|
|
122
|
-
"wikidata": null,
|
|
123
|
-
"osm_id": "way/432370657",
|
|
124
|
-
"msp_id": 3588,
|
|
125
|
-
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar",
|
|
126
|
-
"lat": 27.875834,
|
|
127
|
-
"lng": -0.307533
|
|
144
|
+
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar"
|
|
128
145
|
}
|
|
129
146
|
```
|
|
130
147
|
|
|
131
148
|
`id` مفتاح ثابت `{wilaya_code}-{type}-{seq}` يولّده GeoAlgeria (لا تنشر الوزارة
|
|
132
|
-
رمزًا). `name` هو الاسم الفرنسي إن وُجد،
|
|
133
|
-
و`
|
|
134
|
-
|
|
135
|
-
|
|
149
|
+
رمزًا) – قيمة مبهمة، فريدة ضمن `sante.json`. `name` هو الاسم الفرنسي إن وُجد،
|
|
150
|
+
وإلا العربي. يُشتقّ `type` من العنوان، و`wilaya_code` من وسم الوزارة. `sector`
|
|
151
|
+
يساوي `"public"` لكامل سجل الوزارة، وهو لا يضم أي مؤسسة خاصة؛ أما المرافق
|
|
152
|
+
الخاصة التي يرسمها OpenStreetMap فتوجد في
|
|
153
|
+
[`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques).
|
|
154
|
+
يساوي `source` دائمًا `"msp"` (سجل وزارة الصحة)؛ يحمل `refs`
|
|
155
|
+
معرّفات المصادر المساهِمة – دائمًا `msp`، إضافة إلى `osm` أو `wikidata` عند
|
|
156
|
+
رفع الإحداثية إلى نقطة دقيقة. تكون `geo_precision` إما `"exact"` أو
|
|
157
|
+
`"approximate"` أو `null`؛ ويبيّن `geo_method` كيفية الحصول على الإحداثية
|
|
158
|
+
(`osm_point`، أو `wikidata_point`، أو `commune_centroid`، أو `null`). تكون
|
|
159
|
+
`lat`/`lng`/`geo_precision`/`geo_method` كلّها `null` معًا للسجلات الـ95 التي
|
|
136
160
|
تعذّر ربط بلديتها.
|
|
137
161
|
|
|
138
162
|
> **الإحداثيات والبلدية مُستنتَجة وليست من الوزارة.** تَسرد وزارة الصحة الأسماء
|
|
@@ -145,7 +169,7 @@ data/
|
|
|
145
169
|
## تحتاج التقسيمات الإدارية أيضًا؟
|
|
146
170
|
|
|
147
171
|
للولايات والدوائر والبلديات، استخدم الحزمة الرئيسية
|
|
148
|
-
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)**
|
|
172
|
+
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** – بها تحوّل
|
|
149
173
|
`commune_code` لمؤسسةٍ ما إلى مضلّع أو مركز ثقل. استخدم `@geoalgeria/sante` عندما
|
|
150
174
|
تحتاج المؤسسات الصحية *فقط*.
|
|
151
175
|
|
package/README.fr.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# @geoalgeria/sante
|
|
6
6
|
|
|
7
|
-
**Les établissements de santé publics d'Algérie
|
|
7
|
+
**Les établissements de santé publics d'Algérie, sous forme de données prêtes à installer.**
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
10
10
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
@@ -13,13 +13,24 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
**695 établissements de santé publics** dans les **58 wilayas** dotées d'une
|
|
16
|
-
direction de la santé
|
|
16
|
+
direction de la santé – établissements publics hospitaliers (EPH), de santé de
|
|
17
17
|
proximité (EPSP), hospitaliers spécialisés (EHS) et centres hospitalo-universitaires
|
|
18
18
|
(CHU) du **Ministère de la Santé (MSP)**, bilingues français/arabe, **600
|
|
19
|
-
géolocalisés**
|
|
19
|
+
géolocalisés** (124 sur un point précis OpenStreetMap/Wikidata, 476 sur un
|
|
20
|
+
centroïde de commune) avec rattachement commune/wilaya.
|
|
20
21
|
Livré en JSON, CSV, GeoJSON et TypeScript. Fait partie de
|
|
21
22
|
[GeoAlgeria](https://github.com/yasserstudio/geoalgeria).
|
|
22
23
|
|
|
24
|
+
> **Le volet communautaire vit dans [`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques), et les deux ne doivent jamais être additionnés.**
|
|
25
|
+
> Ce paquet est le volet *registre* : les établissements publics que gère le
|
|
26
|
+
> ministère de la Santé, officiel et clos. `cliniques` est le volet
|
|
27
|
+
> *communautaire* : 1 894 polycliniques, salles de soins, centres de santé,
|
|
28
|
+
> maternités et cliniques cartographiés par les contributeurs OpenStreetMap,
|
|
29
|
+
> partiel par nature. Tout élément OSM référencé par un enregistrement d'ici en
|
|
30
|
+
> est exclu par construction, donc aucun lieu n'est publié deux fois sous le
|
|
31
|
+
> même élément, mais les deux décrivent des volets différents d'un système de
|
|
32
|
+
> santé : additionner 695 et 1 894 ne compte rien de réel.
|
|
33
|
+
|
|
23
34
|
```bash
|
|
24
35
|
npm install @geoalgeria/sante
|
|
25
36
|
```
|
|
@@ -38,11 +49,11 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
38
49
|
|
|
39
50
|
## Ce que vous pouvez construire
|
|
40
51
|
|
|
41
|
-
- **Localisateurs d'hôpitaux et de cliniques**
|
|
52
|
+
- **Localisateurs d'hôpitaux et de cliniques** – des coordonnées sur 600 des 695
|
|
42
53
|
enregistrements, prêtes pour une carte ou une recherche de proximité.
|
|
43
|
-
- **Annuaires de santé bilingues**
|
|
54
|
+
- **Annuaires de santé bilingues** – noms français et arabe, type officiel et
|
|
44
55
|
wilaya pour chaque établissement.
|
|
45
|
-
- **Analyse de couverture & planification**
|
|
56
|
+
- **Analyse de couverture & planification** – compter les établissements par type
|
|
46
57
|
par commune/wilaya sur tout le pays.
|
|
47
58
|
|
|
48
59
|
## Contenu
|
|
@@ -63,12 +74,20 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
63
74
|
|
|
64
75
|
**Par précision des coordonnées** (`geo_precision`)
|
|
65
76
|
|
|
77
|
+
| Valeur | Nombre | Signification |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| `exact` | 124 | point précis d'un établissement OSM ou Wikidata dans la commune |
|
|
80
|
+
| `approximate` | 476 | centroïde de la commune de l'établissement |
|
|
81
|
+
| `null` | 95 | localité non rattachée à une commune – pas de coordonnées (`lat`/`lng` aussi `null`) |
|
|
82
|
+
|
|
83
|
+
**Par méthode d'obtention** (`geo_method`)
|
|
84
|
+
|
|
66
85
|
| Valeur | Nombre | Signification |
|
|
67
86
|
| --- | --- | --- |
|
|
68
87
|
| `osm_point` | 121 | point précis d'un établissement OpenStreetMap dans la commune |
|
|
69
88
|
| `wikidata_point` | 3 | point précis d'un établissement Wikidata dans la commune |
|
|
70
89
|
| `commune_centroid` | 476 | centroïde de la commune de l'établissement (approximatif) |
|
|
71
|
-
| `
|
|
90
|
+
| `null` | 95 | aucune méthode – l'enregistrement n'a pas de coordonnées |
|
|
72
91
|
|
|
73
92
|
> **Le registre est officiel ; les coordonnées sont au mieux.** Les noms, le type
|
|
74
93
|
> et la wilaya proviennent du Ministère de la Santé. Le MSP ne publie pas de
|
|
@@ -85,7 +104,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
|
|
|
85
104
|
// https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
|
|
86
105
|
```
|
|
87
106
|
|
|
88
|
-
Les chargeurs et les enregistrements sont entièrement **typés**
|
|
107
|
+
Les chargeurs et les enregistrements sont entièrement **typés** – les définitions TypeScript sont incluses :
|
|
89
108
|
|
|
90
109
|
```ts
|
|
91
110
|
import sante, { type HealthEstablishment } from "@geoalgeria/sante";
|
|
@@ -98,7 +117,7 @@ chaque [GitHub Release](https://github.com/yasserstudio/geoalgeria/releases) :
|
|
|
98
117
|
```
|
|
99
118
|
data/
|
|
100
119
|
sante.json # 695 établissements (tableau)
|
|
101
|
-
metadata.json # sources, totaux, couverture,
|
|
120
|
+
metadata.json # sources, totaux, couverture, updated
|
|
102
121
|
csv/sante.csv # dépôt + Release (pas dans le tarball npm)
|
|
103
122
|
geojson/sante.geojson # entités Point (enregistrements géolocalisés)
|
|
104
123
|
```
|
|
@@ -109,36 +128,43 @@ data/
|
|
|
109
128
|
{
|
|
110
129
|
"id": "01-ehs-02",
|
|
111
130
|
"name": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
112
|
-
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
113
131
|
"name_fr": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
132
|
+
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
133
|
+
"wilaya_code": "01",
|
|
134
|
+
"commune_code": "0101",
|
|
135
|
+
"commune": "Adrar",
|
|
136
|
+
"lat": 27.875834,
|
|
137
|
+
"lng": -0.307533,
|
|
138
|
+
"geo_precision": "exact",
|
|
139
|
+
"geo_method": "osm_point",
|
|
140
|
+
"source": "msp",
|
|
141
|
+
"refs": {
|
|
142
|
+
"osm": "way/432370657",
|
|
143
|
+
"msp": "3588"
|
|
144
|
+
},
|
|
114
145
|
"type": "ehs",
|
|
115
146
|
"type_label_fr": "Établissement Hospitalier Spécialisé",
|
|
116
147
|
"type_label_ar": "المؤسسة الاستشفائية المتخصصة",
|
|
117
148
|
"sector": "public",
|
|
118
|
-
"
|
|
119
|
-
"wilaya_ar": "أدرار",
|
|
120
|
-
"wilaya_code": "01",
|
|
121
|
-
"commune": "Adrar",
|
|
122
|
-
"commune_code": 101,
|
|
123
|
-
"source": "msp+osm",
|
|
124
|
-
"geo_precision": "osm_point",
|
|
125
|
-
"wikidata": null,
|
|
126
|
-
"osm_id": "way/432370657",
|
|
127
|
-
"msp_id": 3588,
|
|
128
|
-
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar",
|
|
129
|
-
"lat": 27.875834,
|
|
130
|
-
"lng": -0.307533
|
|
149
|
+
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar"
|
|
131
150
|
}
|
|
132
151
|
```
|
|
133
152
|
|
|
134
153
|
`id` est une clé stable `{wilaya_code}-{type}-{seq}` synthétisée par GeoAlgeria
|
|
135
|
-
(le MSP ne publie pas de code)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
`
|
|
141
|
-
|
|
154
|
+
(le MSP ne publie pas de code) – opaque, unique au sein de `sante.json`.
|
|
155
|
+
`name` est le nom français s'il existe, sinon l'arabe. `type` est déduit du
|
|
156
|
+
titre ; `wilaya_code` de l'étiquette du MSP. `sector` vaut `"public"` pour tout
|
|
157
|
+
le registre MSP, qui ne liste aucun établissement privé ; les structures privées
|
|
158
|
+
que cartographie OpenStreetMap vivent dans
|
|
159
|
+
[`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques).
|
|
160
|
+
`source` vaut toujours `"msp"` (le registre du Ministère de la
|
|
161
|
+
Santé) ; `refs` porte les identifiants de provenance ayant contribué –
|
|
162
|
+
toujours `msp`, plus `osm` ou `wikidata` quand la coordonnée a été remplacée
|
|
163
|
+
par un point précis. `geo_precision` vaut `"exact"`, `"approximate"` ou
|
|
164
|
+
`null` ; `geo_method` indique comment la coordonnée a été obtenue (`osm_point`,
|
|
165
|
+
`wikidata_point`, `commune_centroid`, ou `null`). `lat`/`lng`/`geo_precision`/
|
|
166
|
+
`geo_method` valent tous `null` ensemble pour les 95 enregistrements dont la
|
|
167
|
+
localité n'a pu être rattachée à une commune.
|
|
142
168
|
|
|
143
169
|
> **Les coordonnées et la commune sont dérivées, pas issues du MSP.** Le
|
|
144
170
|
> Ministère de la Santé ne liste que noms, type et wilaya. GeoAlgeria rattache la
|
|
@@ -152,7 +178,7 @@ commune.
|
|
|
152
178
|
## Besoin des divisions administratives ?
|
|
153
179
|
|
|
154
180
|
Pour les wilayas, dairas et communes, utilisez le paquet principal
|
|
155
|
-
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)**
|
|
181
|
+
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** – c'est ce qui
|
|
156
182
|
transforme le `commune_code` d'un établissement en polygone ou centroïde.
|
|
157
183
|
Utilisez `@geoalgeria/sante` quand vous n'avez besoin *que* des établissements de
|
|
158
184
|
santé.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# @geoalgeria/sante
|
|
6
6
|
|
|
7
|
-
**Algeria's public health establishments
|
|
7
|
+
**Algeria's public health establishments, as data you can install.**
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
10
10
|
[](https://www.npmjs.com/package/@geoalgeria/sante)
|
|
@@ -13,12 +13,21 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
**695 public health establishments** across all **58 wilayas** with health
|
|
16
|
-
directorates
|
|
17
|
-
specialized hospitals (EHS) and university hospitals (CHU) from the **
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
directorates, public hospitals (EPH), proximity-health establishments (EPSP),
|
|
17
|
+
specialized hospitals (EHS) and university hospitals (CHU) from the **Ministry of Health (MoH)**, bilingual French/Arabic, **600 geocoded** (124 to a precise
|
|
18
|
+
OpenStreetMap/Wikidata point, 476 to a commune centroid) with commune/wilaya
|
|
19
|
+
linkage. Shipped as JSON, CSV, GeoJSON, and
|
|
20
20
|
TypeScript. Part of [GeoAlgeria](https://github.com/yasserstudio/geoalgeria).
|
|
21
21
|
|
|
22
|
+
> **The community tier lives in [`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques), and the two must not be summed.**
|
|
23
|
+
> This package is the *registry* tier: the public establishments the Ministry of
|
|
24
|
+
> Health runs, official and closed. `cliniques` is the *community* tier: 1,894
|
|
25
|
+
> polycliniques, salles de soins, centres de santé, maternités and clinics
|
|
26
|
+
> mapped by OpenStreetMap volunteers, partial by nature. Every OSM element a
|
|
27
|
+
> record here references is excluded there by construction, so no place is
|
|
28
|
+
> published twice under the same element, but the two describe different tiers
|
|
29
|
+
> of a health system and adding 695 to 1,894 counts nothing real.
|
|
30
|
+
|
|
22
31
|
```bash
|
|
23
32
|
npm install @geoalgeria/sante
|
|
24
33
|
```
|
|
@@ -37,11 +46,11 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
37
46
|
|
|
38
47
|
## What you can build
|
|
39
48
|
|
|
40
|
-
- **Hospital & clinic locators**
|
|
49
|
+
- **Hospital & clinic locators** – coordinates on 600 of 695 records, ready for a
|
|
41
50
|
map or nearest-facility search.
|
|
42
|
-
- **Bilingual health directories**
|
|
51
|
+
- **Bilingual health directories** – French and Arabic names, official type and
|
|
43
52
|
wilaya for every establishment.
|
|
44
|
-
- **Coverage & planning analysis**
|
|
53
|
+
- **Coverage & planning analysis** – count establishments by type per
|
|
45
54
|
commune/wilaya across the whole country.
|
|
46
55
|
|
|
47
56
|
## What's inside
|
|
@@ -54,25 +63,33 @@ const mappable = all.filter((e) => e.lat != null);
|
|
|
54
63
|
|
|
55
64
|
| Type | Count | Meaning |
|
|
56
65
|
| --- | --- | --- |
|
|
57
|
-
| `eph` | 270 | Établissement Public Hospitalier
|
|
58
|
-
| `epsp` | 292 | Établissement Public de Santé de Proximité
|
|
59
|
-
| `ehs` | 108 | Établissement Hospitalier Spécialisé
|
|
60
|
-
| `chu` | 20 | Centre Hospitalo-Universitaire
|
|
66
|
+
| `eph` | 270 | Établissement Public Hospitalier – public hospital |
|
|
67
|
+
| `epsp` | 292 | Établissement Public de Santé de Proximité – proximity health |
|
|
68
|
+
| `ehs` | 108 | Établissement Hospitalier Spécialisé – specialized hospital |
|
|
69
|
+
| `chu` | 20 | Centre Hospitalo-Universitaire – university hospital |
|
|
61
70
|
| `hopital` | 5 | other public hospital |
|
|
62
71
|
|
|
63
72
|
**By coordinate precision** (`geo_precision`)
|
|
64
73
|
|
|
74
|
+
| Value | Count | Meaning |
|
|
75
|
+
| --- | --- | --- |
|
|
76
|
+
| `exact` | 124 | precise point from an OSM or Wikidata facility in the commune |
|
|
77
|
+
| `approximate` | 476 | the establishment's commune centroid |
|
|
78
|
+
| `null` | 95 | locality not resolved to a commune – no coordinates (`lat`/`lng` also `null`) |
|
|
79
|
+
|
|
80
|
+
**By coordinate method** (`geo_method`)
|
|
81
|
+
|
|
65
82
|
| Value | Count | Meaning |
|
|
66
83
|
| --- | --- | --- |
|
|
67
84
|
| `osm_point` | 121 | precise point from an OpenStreetMap facility in the commune |
|
|
68
85
|
| `wikidata_point` | 3 | precise point from a Wikidata facility in the commune |
|
|
69
86
|
| `commune_centroid` | 476 | the establishment's commune centroid (approximate) |
|
|
70
|
-
| `
|
|
87
|
+
| `null` | 95 | no method – record has no coordinate |
|
|
71
88
|
|
|
72
89
|
> **The registry is official; the coordinates are best-effort.** Names, type and
|
|
73
|
-
> wilaya come from the
|
|
74
|
-
> so GeoAlgeria derives them
|
|
75
|
-
>
|
|
90
|
+
> wilaya come from the Ministry of Health. The MoH publishes no coordinates,
|
|
91
|
+
> so GeoAlgeria derives them, see *Source & method* below. Counts move as the
|
|
92
|
+
> MoH, OpenStreetMap and Wikidata are edited; each rebuild reflects their current
|
|
76
93
|
> state.
|
|
77
94
|
|
|
78
95
|
## Formats
|
|
@@ -85,7 +102,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
|
|
|
85
102
|
// https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
|
|
86
103
|
```
|
|
87
104
|
|
|
88
|
-
The loaders and record shapes are fully **typed
|
|
105
|
+
The loaders and record shapes are fully **typed**, TypeScript definitions ship in the package:
|
|
89
106
|
|
|
90
107
|
```ts
|
|
91
108
|
import sante, { type HealthEstablishment } from "@geoalgeria/sante";
|
|
@@ -98,7 +115,7 @@ const all: HealthEstablishment[] = sante.sante();
|
|
|
98
115
|
```
|
|
99
116
|
data/
|
|
100
117
|
sante.json # 695 establishments (array)
|
|
101
|
-
metadata.json # sources, counts, coverage,
|
|
118
|
+
metadata.json # sources, counts, coverage, updated
|
|
102
119
|
csv/sante.csv # repo + Release bundle (not in npm tarball)
|
|
103
120
|
geojson/sante.geojson # Point features (geocoded records only)
|
|
104
121
|
```
|
|
@@ -109,38 +126,46 @@ data/
|
|
|
109
126
|
{
|
|
110
127
|
"id": "01-ehs-02",
|
|
111
128
|
"name": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
112
|
-
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
113
129
|
"name_fr": "Etablissement Hospitalier Spécialisé Psychiatrie Adrar",
|
|
130
|
+
"name_ar": "المؤسسة الاستشفائية المتخصصة في الأمراض العقلية أدرار",
|
|
131
|
+
"wilaya_code": "01",
|
|
132
|
+
"commune_code": "0101",
|
|
133
|
+
"commune": "Adrar",
|
|
134
|
+
"lat": 27.875834,
|
|
135
|
+
"lng": -0.307533,
|
|
136
|
+
"geo_precision": "exact",
|
|
137
|
+
"geo_method": "osm_point",
|
|
138
|
+
"source": "msp",
|
|
139
|
+
"refs": {
|
|
140
|
+
"osm": "way/432370657",
|
|
141
|
+
"msp": "3588"
|
|
142
|
+
},
|
|
114
143
|
"type": "ehs",
|
|
115
144
|
"type_label_fr": "Établissement Hospitalier Spécialisé",
|
|
116
145
|
"type_label_ar": "المؤسسة الاستشفائية المتخصصة",
|
|
117
146
|
"sector": "public",
|
|
118
|
-
"
|
|
119
|
-
"wilaya_ar": "أدرار",
|
|
120
|
-
"wilaya_code": "01",
|
|
121
|
-
"commune": "Adrar",
|
|
122
|
-
"commune_code": 101,
|
|
123
|
-
"source": "msp+osm",
|
|
124
|
-
"geo_precision": "osm_point",
|
|
125
|
-
"wikidata": null,
|
|
126
|
-
"osm_id": "way/432370657",
|
|
127
|
-
"msp_id": 3588,
|
|
128
|
-
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar",
|
|
129
|
-
"lat": 27.875834,
|
|
130
|
-
"lng": -0.307533
|
|
147
|
+
"slug": "etablissement-hospitalier-specialise-psychiatrie-adrar"
|
|
131
148
|
}
|
|
132
149
|
```
|
|
133
150
|
|
|
134
151
|
`id` is a stable `{wilaya_code}-{type}-{seq}` key synthesized by GeoAlgeria (the
|
|
135
|
-
|
|
136
|
-
else Arabic. `type` is derived from
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
152
|
+
MoH publishes no establishment code), opaque, unique within `sante.json`.
|
|
153
|
+
`name` is the French name where available, else Arabic. `type` is derived from
|
|
154
|
+
the establishment's title; `wilaya_code` from the MoH's wilaya tag. `sector` is
|
|
155
|
+
`"public"` for the whole MoH registry, which lists no private establishment at
|
|
156
|
+
all; the private facilities OpenStreetMap records live in
|
|
157
|
+
[`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques).
|
|
158
|
+
`source` is always `"msp"` (the Ministry of Health registry);
|
|
159
|
+
`refs` carries the per-provenance ids that contributed the record, `msp`
|
|
160
|
+
always, plus `osm` or `wikidata` when the coordinate was upgraded to a precise
|
|
161
|
+
point. `geo_precision` is `"exact"`, `"approximate"`, or `null`; `geo_method`
|
|
162
|
+
names how the coordinate was obtained (`osm_point`, `wikidata_point`,
|
|
163
|
+
`commune_centroid`, or `null`). `lat`/`lng`/`geo_precision`/`geo_method` are all
|
|
164
|
+
`null` together for the 95 records whose locality could not be matched to a
|
|
165
|
+
commune.
|
|
166
|
+
|
|
167
|
+
> **Coordinates and commune are derived, not from the MoH.** The Ministry of
|
|
168
|
+
> Health lists names, type and wilaya only. GeoAlgeria matches each
|
|
144
169
|
> establishment's locality to the [`geoalgeria`](https://www.npmjs.com/package/geoalgeria)
|
|
145
170
|
> commune set within its wilaya (giving `commune`, `commune_code` and a centroid
|
|
146
171
|
> coordinate), then upgrades the coordinate to a precise point where a hospital
|
|
@@ -150,7 +175,7 @@ are `null` for the 95 records whose locality could not be matched to a commune.
|
|
|
150
175
|
## Need the administrative divisions too?
|
|
151
176
|
|
|
152
177
|
For wilayas, dairas, and communes, use the main
|
|
153
|
-
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** package
|
|
178
|
+
**[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** package, it's how
|
|
154
179
|
you turn an establishment's `commune_code` into a polygon or centroid. Use
|
|
155
180
|
`@geoalgeria/sante` when you *only* need the health establishments.
|
|
156
181
|
|
|
@@ -158,7 +183,7 @@ you turn an establishment's `commune_code` into a polygon or centroid. Use
|
|
|
158
183
|
|
|
159
184
|
Run `npm run fetch` to regenerate every output. It:
|
|
160
185
|
|
|
161
|
-
1. pulls the **
|
|
186
|
+
1. pulls the **Ministry of Health** establishment registry from the
|
|
162
187
|
`sante.gov.dz` WordPress REST API (`healthinstitution`), in French and Arabic,
|
|
163
188
|
each tagged with its wilaya;
|
|
164
189
|
2. derives the **type** from each title and **pairs** the French and Arabic posts
|
|
@@ -176,7 +201,7 @@ Raw source pulls are cached under
|
|
|
176
201
|
|
|
177
202
|
Package **code** is [MIT](LICENSE). The **data** is a composite:
|
|
178
203
|
|
|
179
|
-
- The **
|
|
204
|
+
- The **Ministry of Health** registry (names, type, wilaya) is a factual
|
|
180
205
|
public-sector listing.
|
|
181
206
|
- **Coordinates** are derived from **Wikidata** (**CC0**, public domain) and
|
|
182
207
|
**OpenStreetMap** (**© OpenStreetMap contributors**, licensed under the
|