@geoalgeria/sante 2.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 CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # @geoalgeria/sante
6
6
 
7
- **المؤسسات الصحية العمومية في الجزائر كبيانات قابلة للتثبيت.**
7
+ **المؤسسات الصحية العمومية في الجزائر، كبيانات قابلة للتثبيت.**
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@geoalgeria/sante)](https://www.npmjs.com/package/@geoalgeria/sante)
10
10
  [![npm downloads](https://img.shields.io/npm/dm/@geoalgeria/sante)](https://www.npmjs.com/package/@geoalgeria/sante)
@@ -12,7 +12,7 @@
12
12
 
13
13
  </div>
14
14
 
15
- **695 مؤسسة صحية عمومية** عبر **58 ولاية** لها مديرية للصحة المؤسسات العمومية
15
+ **695 مؤسسة صحية عمومية** عبر **58 ولاية** لها مديرية للصحة المؤسسات العمومية
16
16
  الاستشفائية (EPH)، ومؤسسات الصحة الجوارية (EPSP)، والمؤسسات الاستشفائية المتخصصة
17
17
  (EHS)، والمراكز الاستشفائية الجامعية (CHU) من **وزارة الصحة (MSP)**، ثنائية اللغة
18
18
  عربي/فرنسي، **600 منها بإحداثيات** (124 بنقطة دقيقة من OpenStreetMap/Wikidata،
@@ -20,6 +20,14 @@
20
20
  وGeoJSON وTypeScript. جزء من
21
21
  [GeoAlgeria](https://github.com/yasserstudio/geoalgeria).
22
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
+
23
31
  ```bash
24
32
  npm install @geoalgeria/sante
25
33
  ```
@@ -38,11 +46,11 @@ const mappable = all.filter((e) => e.lat != null);
38
46
 
39
47
  ## ما يمكنك بناؤه
40
48
 
41
- - **أدلّة ومحدّدات مواقع المستشفيات والعيادات** إحداثيات على 600 من أصل 695
49
+ - **أدلّة ومحدّدات مواقع المستشفيات والعيادات** إحداثيات على 600 من أصل 695
42
50
  سجلًّا، جاهزة للخريطة أو للبحث عن الأقرب.
43
- - **أدلّة صحية ثنائية اللغة** أسماء عربية وفرنسية، والنوع الرسمي والولاية لكل
51
+ - **أدلّة صحية ثنائية اللغة** أسماء عربية وفرنسية، والنوع الرسمي والولاية لكل
44
52
  مؤسسة.
45
- - **تحليل التغطية والتخطيط** حساب المؤسسات حسب النوع لكل بلدية/ولاية عبر البلاد.
53
+ - **تحليل التغطية والتخطيط** حساب المؤسسات حسب النوع لكل بلدية/ولاية عبر البلاد.
46
54
 
47
55
  ## المحتوى
48
56
 
@@ -66,7 +74,7 @@ const mappable = all.filter((e) => e.lat != null);
66
74
  | --- | --- | --- |
67
75
  | `exact` | 124 | نقطة دقيقة من مرفق في OSM أو Wikidata ضمن البلدية |
68
76
  | `approximate` | 476 | مركز ثقل بلدية المؤسسة |
69
- | `null` | 95 | لم تُربط البلدية بلا إحداثيات (`lat`/`lng` أيضًا `null`) |
77
+ | `null` | 95 | لم تُربط البلدية بلا إحداثيات (`lat`/`lng` أيضًا `null`) |
70
78
 
71
79
  **حسب طريقة الحصول على الإحداثية** (`geo_method`)
72
80
 
@@ -75,7 +83,7 @@ const mappable = all.filter((e) => e.lat != null);
75
83
  | `osm_point` | 121 | نقطة دقيقة من مرفق في OpenStreetMap ضمن البلدية |
76
84
  | `wikidata_point` | 3 | نقطة دقيقة من مرفق في Wikidata ضمن البلدية |
77
85
  | `commune_centroid` | 476 | مركز ثقل بلدية المؤسسة (تقريبي) |
78
- | `null` | 95 | لا توجد طريقة السجل بلا إحداثيات |
86
+ | `null` | 95 | لا توجد طريقة السجل بلا إحداثيات |
79
87
 
80
88
  > **السجل رسمي؛ أما الإحداثيات فأفضل ما أمكن.** الأسماء والنوع والولاية من وزارة
81
89
  > الصحة. لا تنشر الوزارة إحداثيات، فيستنتجها GeoAlgeria (انظر *المصدر والمنهجية*).
@@ -91,7 +99,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
91
99
  // https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
92
100
  ```
93
101
 
94
- المُحمِّلات وبنية السجلات **مُوثَّقة الأنواع** بالكامل تعريفات TypeScript مرفقة في الحزمة:
102
+ المُحمِّلات وبنية السجلات **مُوثَّقة الأنواع** بالكامل تعريفات TypeScript مرفقة في الحزمة:
95
103
 
96
104
  ```ts
97
105
  import sante, { type HealthEstablishment } from "@geoalgeria/sante";
@@ -138,11 +146,13 @@ data/
138
146
  ```
139
147
 
140
148
  `id` مفتاح ثابت `{wilaya_code}-{type}-{seq}` يولّده GeoAlgeria (لا تنشر الوزارة
141
- رمزًا) قيمة مبهمة، فريدة ضمن `sante.json`. `name` هو الاسم الفرنسي إن وُجد،
149
+ رمزًا) قيمة مبهمة، فريدة ضمن `sante.json`. `name` هو الاسم الفرنسي إن وُجد،
142
150
  وإلا العربي. يُشتقّ `type` من العنوان، و`wilaya_code` من وسم الوزارة. `sector`
143
- يساوي `"public"` لكامل سجل الوزارة (العيادات الخاصة، عند إضافتها، ستحمل
144
- `"private"`). يساوي `source` دائمًا `"msp"` (سجل وزارة الصحة)؛ يحمل `refs`
145
- معرّفات المصادر المساهِمة — دائمًا `msp`، إضافة إلى `osm` أو `wikidata` عند
151
+ يساوي `"public"` لكامل سجل الوزارة، وهو لا يضم أي مؤسسة خاصة؛ أما المرافق
152
+ الخاصة التي يرسمها OpenStreetMap فتوجد في
153
+ [`@geoalgeria/cliniques`](https://www.npmjs.com/package/@geoalgeria/cliniques).
154
+ يساوي `source` دائمًا `"msp"` (سجل وزارة الصحة)؛ يحمل `refs`
155
+ معرّفات المصادر المساهِمة – دائمًا `msp`، إضافة إلى `osm` أو `wikidata` عند
146
156
  رفع الإحداثية إلى نقطة دقيقة. تكون `geo_precision` إما `"exact"` أو
147
157
  `"approximate"` أو `null`؛ ويبيّن `geo_method` كيفية الحصول على الإحداثية
148
158
  (`osm_point`، أو `wikidata_point`، أو `commune_centroid`، أو `null`). تكون
@@ -159,7 +169,7 @@ data/
159
169
  ## تحتاج التقسيمات الإدارية أيضًا؟
160
170
 
161
171
  للولايات والدوائر والبلديات، استخدم الحزمة الرئيسية
162
- **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** بها تحوّل
172
+ **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** بها تحوّل
163
173
  `commune_code` لمؤسسةٍ ما إلى مضلّع أو مركز ثقل. استخدم `@geoalgeria/sante` عندما
164
174
  تحتاج المؤسسات الصحية *فقط*.
165
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 sous forme de données prêtes à installer.**
7
+ **Les établissements de santé publics d'Algérie, sous forme de données prêtes à installer.**
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@geoalgeria/sante)](https://www.npmjs.com/package/@geoalgeria/sante)
10
10
  [![npm downloads](https://img.shields.io/npm/dm/@geoalgeria/sante)](https://www.npmjs.com/package/@geoalgeria/sante)
@@ -13,7 +13,7 @@
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é établissements publics hospitaliers (EPH), de santé de
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
19
  géolocalisés** (124 sur un point précis OpenStreetMap/Wikidata, 476 sur un
@@ -21,6 +21,16 @@ centroïde de commune) avec rattachement commune/wilaya.
21
21
  Livré en JSON, CSV, GeoJSON et TypeScript. Fait partie de
22
22
  [GeoAlgeria](https://github.com/yasserstudio/geoalgeria).
23
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
+
24
34
  ```bash
25
35
  npm install @geoalgeria/sante
26
36
  ```
@@ -39,11 +49,11 @@ const mappable = all.filter((e) => e.lat != null);
39
49
 
40
50
  ## Ce que vous pouvez construire
41
51
 
42
- - **Localisateurs d'hôpitaux et de cliniques** des coordonnées sur 600 des 695
52
+ - **Localisateurs d'hôpitaux et de cliniques** des coordonnées sur 600 des 695
43
53
  enregistrements, prêtes pour une carte ou une recherche de proximité.
44
- - **Annuaires de santé bilingues** noms français et arabe, type officiel et
54
+ - **Annuaires de santé bilingues** noms français et arabe, type officiel et
45
55
  wilaya pour chaque établissement.
46
- - **Analyse de couverture & planification** compter les établissements par type
56
+ - **Analyse de couverture & planification** compter les établissements par type
47
57
  par commune/wilaya sur tout le pays.
48
58
 
49
59
  ## Contenu
@@ -68,7 +78,7 @@ const mappable = all.filter((e) => e.lat != null);
68
78
  | --- | --- | --- |
69
79
  | `exact` | 124 | point précis d'un établissement OSM ou Wikidata dans la commune |
70
80
  | `approximate` | 476 | centroïde de la commune de l'établissement |
71
- | `null` | 95 | localité non rattachée à une commune pas de coordonnées (`lat`/`lng` aussi `null`) |
81
+ | `null` | 95 | localité non rattachée à une commune pas de coordonnées (`lat`/`lng` aussi `null`) |
72
82
 
73
83
  **Par méthode d'obtention** (`geo_method`)
74
84
 
@@ -77,7 +87,7 @@ const mappable = all.filter((e) => e.lat != null);
77
87
  | `osm_point` | 121 | point précis d'un établissement OpenStreetMap dans la commune |
78
88
  | `wikidata_point` | 3 | point précis d'un établissement Wikidata dans la commune |
79
89
  | `commune_centroid` | 476 | centroïde de la commune de l'établissement (approximatif) |
80
- | `null` | 95 | aucune méthode l'enregistrement n'a pas de coordonnées |
90
+ | `null` | 95 | aucune méthode l'enregistrement n'a pas de coordonnées |
81
91
 
82
92
  > **Le registre est officiel ; les coordonnées sont au mieux.** Les noms, le type
83
93
  > et la wilaya proviennent du Ministère de la Santé. Le MSP ne publie pas de
@@ -94,7 +104,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
94
104
  // https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
95
105
  ```
96
106
 
97
- Les chargeurs et les enregistrements sont entièrement **typés** les définitions TypeScript sont incluses :
107
+ Les chargeurs et les enregistrements sont entièrement **typés** les définitions TypeScript sont incluses :
98
108
 
99
109
  ```ts
100
110
  import sante, { type HealthEstablishment } from "@geoalgeria/sante";
@@ -141,12 +151,14 @@ data/
141
151
  ```
142
152
 
143
153
  `id` est une clé stable `{wilaya_code}-{type}-{seq}` synthétisée par GeoAlgeria
144
- (le MSP ne publie pas de code) opaque, unique au sein de `sante.json`.
154
+ (le MSP ne publie pas de code) opaque, unique au sein de `sante.json`.
145
155
  `name` est le nom français s'il existe, sinon l'arabe. `type` est déduit du
146
156
  titre ; `wilaya_code` de l'étiquette du MSP. `sector` vaut `"public"` pour tout
147
- le registre MSP (les cliniques privées, une fois ajoutées, porteront
148
- `"private"`). `source` vaut toujours `"msp"` (le registre du Ministère de la
149
- Santé) ; `refs` porte les identifiants de provenance ayant contribué —
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é –
150
162
  toujours `msp`, plus `osm` ou `wikidata` quand la coordonnée a été remplacée
151
163
  par un point précis. `geo_precision` vaut `"exact"`, `"approximate"` ou
152
164
  `null` ; `geo_method` indique comment la coordonnée a été obtenue (`osm_point`,
@@ -166,7 +178,7 @@ localité n'a pu être rattachée à une commune.
166
178
  ## Besoin des divisions administratives ?
167
179
 
168
180
  Pour les wilayas, dairas et communes, utilisez le paquet principal
169
- **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** c'est ce qui
181
+ **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** c'est ce qui
170
182
  transforme le `commune_code` d'un établissement en polygone ou centroïde.
171
183
  Utilisez `@geoalgeria/sante` quand vous n'avez besoin *que* des établissements de
172
184
  santé.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # @geoalgeria/sante
6
6
 
7
- **Algeria's public health establishments as data you can install.**
7
+ **Algeria's public health establishments, as data you can install.**
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@geoalgeria/sante)](https://www.npmjs.com/package/@geoalgeria/sante)
10
10
  [![npm downloads](https://img.shields.io/npm/dm/@geoalgeria/sante)](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 public hospitals (EPH), proximity-health establishments (EPSP),
16
+ directorates, public hospitals (EPH), proximity-health establishments (EPSP),
17
17
  specialized hospitals (EHS) and university hospitals (CHU) from the **Ministry of Health (MoH)**, bilingual French/Arabic, **600 geocoded** (124 to a precise
18
18
  OpenStreetMap/Wikidata point, 476 to a commune centroid) with commune/wilaya
19
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** coordinates on 600 of 695 records, ready for a
49
+ - **Hospital & clinic locators** coordinates on 600 of 695 records, ready for a
41
50
  map or nearest-facility search.
42
- - **Bilingual health directories** French and Arabic names, official type and
51
+ - **Bilingual health directories** French and Arabic names, official type and
43
52
  wilaya for every establishment.
44
- - **Coverage & planning analysis** count establishments by type per
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,10 +63,10 @@ const mappable = all.filter((e) => e.lat != null);
54
63
 
55
64
  | Type | Count | Meaning |
56
65
  | --- | --- | --- |
57
- | `eph` | 270 | Établissement Public Hospitalier public hospital |
58
- | `epsp` | 292 | Établissement Public de Santé de Proximité proximity health |
59
- | `ehs` | 108 | Établissement Hospitalier Spécialisé specialized hospital |
60
- | `chu` | 20 | Centre Hospitalo-Universitaire university hospital |
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`)
@@ -66,7 +75,7 @@ const mappable = all.filter((e) => e.lat != null);
66
75
  | --- | --- | --- |
67
76
  | `exact` | 124 | precise point from an OSM or Wikidata facility in the commune |
68
77
  | `approximate` | 476 | the establishment's commune centroid |
69
- | `null` | 95 | locality not resolved to a commune no coordinates (`lat`/`lng` also `null`) |
78
+ | `null` | 95 | locality not resolved to a commune no coordinates (`lat`/`lng` also `null`) |
70
79
 
71
80
  **By coordinate method** (`geo_method`)
72
81
 
@@ -75,11 +84,11 @@ const mappable = all.filter((e) => e.lat != null);
75
84
  | `osm_point` | 121 | precise point from an OpenStreetMap facility in the commune |
76
85
  | `wikidata_point` | 3 | precise point from a Wikidata facility in the commune |
77
86
  | `commune_centroid` | 476 | the establishment's commune centroid (approximate) |
78
- | `null` | 95 | no method record has no coordinate |
87
+ | `null` | 95 | no method record has no coordinate |
79
88
 
80
89
  > **The registry is official; the coordinates are best-effort.** Names, type and
81
90
  > wilaya come from the Ministry of Health. The MoH publishes no coordinates,
82
- > so GeoAlgeria derives them see *Source & method* below. Counts move as the
91
+ > so GeoAlgeria derives them, see *Source & method* below. Counts move as the
83
92
  > MoH, OpenStreetMap and Wikidata are edited; each rebuild reflects their current
84
93
  > state.
85
94
 
@@ -93,7 +102,7 @@ import sante from "@geoalgeria/sante/data/sante.json" with { type: "json" };
93
102
  // https://cdn.jsdelivr.net/npm/@geoalgeria/sante/data/sante.json
94
103
  ```
95
104
 
96
- The loaders and record shapes are fully **typed** TypeScript definitions ship in the package:
105
+ The loaders and record shapes are fully **typed**, TypeScript definitions ship in the package:
97
106
 
98
107
  ```ts
99
108
  import sante, { type HealthEstablishment } from "@geoalgeria/sante";
@@ -140,12 +149,14 @@ data/
140
149
  ```
141
150
 
142
151
  `id` is a stable `{wilaya_code}-{type}-{seq}` key synthesized by GeoAlgeria (the
143
- MoH publishes no establishment code) opaque, unique within `sante.json`.
152
+ MoH publishes no establishment code), opaque, unique within `sante.json`.
144
153
  `name` is the French name where available, else Arabic. `type` is derived from
145
154
  the establishment's title; `wilaya_code` from the MoH's wilaya tag. `sector` is
146
- `"public"` for the whole MoH registry (private clinics, when added, will carry
147
- `"private"`). `source` is always `"msp"` (the Ministry of Health registry);
148
- `refs` carries the per-provenance ids that contributed the record — `msp`
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`
149
160
  always, plus `osm` or `wikidata` when the coordinate was upgraded to a precise
150
161
  point. `geo_precision` is `"exact"`, `"approximate"`, or `null`; `geo_method`
151
162
  names how the coordinate was obtained (`osm_point`, `wikidata_point`,
@@ -164,7 +175,7 @@ commune.
164
175
  ## Need the administrative divisions too?
165
176
 
166
177
  For wilayas, dairas, and communes, use the main
167
- **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** package it's how
178
+ **[`geoalgeria`](https://www.npmjs.com/package/geoalgeria)** package, it's how
168
179
  you turn an establishment's `commune_code` into a polygon or centroid. Use
169
180
  `@geoalgeria/sante` when you *only* need the health establishments.
170
181