Faits :
A.
Le 13 mai 2013, le Département des affaires régionales, de l'économie et de la santé du canton de Genève (DAES, devenu par la suite DEAS) a accordé à B._ SA l'autorisation d'exploiter une pharmacie à Onex. Cette autorisation se fonde notamment sur un rapport du Service du Pharmacien cantonal (SPhC) du 3 avril 2013 rendu après une inspection des lieux, et un préavis favorable sous conditions.
L'entreprise concurrente A._ SA a recouru en vain contre l'autorisation d'exploiter. Par arrêt du 8 décembre 2015, la Chambre administrative de la Cour de justice genevoise a déclaré son recours irrecevable. Le Tribunal fédéral a confirmé ce prononcé par arrêt du 2 août 2016 (2C_90/2016).
Dès le mois d'août 2013, A._ SA a tenté d'avoir accès au rapport d'inspection du 3 avril 2013. Le 16 octobre 2013, le Préposé cantonal à la protection des données et à la transparence (PPDT) a recommandé au DEAS d'accorder l'accès au document, après caviardage des données personnelles. Le 30 octobre 2013, le DEAS a refusé l'accès au rapport d'inspection, considérant que la procédure de recours était alors pendante contre l'autorisation d'exploiter, de sorte que la loi genevoise sur l'information du public, l'accès aux documents et la protection des données personnelles (LIPAD, RS/GE A 2 08) n'était pas applicable.
B.
Par arrêt du 21 juin 2016, la Chambre administrative a admis le recours de A._ SA et ordonné au DEAS de donner accès au rapport d'inspection, dûment caviardé de toutes données personnelles. Le droit d'accès garanti par la LIPAD pouvait être exercé indépendamment de la procédure concernant l'autorisation d'exploiter. Le rapport d'inspection était en principe accessible en vertu de l'art. 25 al. 1 et 2 LIPAD. Il ne contenait aucune information couverte par le secret médical ou le secret des affaires ou de fabrication, et ne procurerait aucun avantage indu à la requérante. Les données personnelles pouvaient aisément être caviardées.
C.
Par acte du 26 juillet 2016, le canton de Genève, soit pour lui son Conseil d'Etat représenté par le DEAS, forme un recours en matière de droit public par lequel il demande l'annulation de l'arrêt de la Chambre administrative et la confirmation de la décision du DEAS du 30 octobre 2013. Il requiert l'effet suspensif, qui a été accordé par ordonnance du 31 août 2016.
La cour cantonale a renoncé à présenter des observations. A._ SA (ci-après: l'intimée requérante) conclut à l'irrecevabilité, subsidiairement au rejet du recours. B._ SA s'en rapporte à justice, tout en se prononçant sur certains points.
Dans ses dernières observations, le canton recourant persiste dans ses conclusions, contestant les conclusions d'irrecevabilité prises par A._ SA. Cette dernière conteste les conclusions et observations de B._ SA.

Considérant en droit :
1.
L'arrêt attaqué, relatif à une demande d'accès à un document officiel au sens de la LIPAD, constitue une décision finale rendue dans une cause de droit public (art. 82 let. a LTF). Le recours en matière de droit public est en principe ouvert.
Pour justifier de sa qualité pour recourir, le canton invoque l'art. 89 al. 1 LTF. Il explique qu'en vertu de l'art. 6 al. 1 de la loi genevoise sur la santé (LS), il incombe au DEAS de mettre en oeuvre la politique cantonale et d'exécuter la législation dans ce domaine. L'intimée requérante estime pour sa part qu'il n'y aurait pas d'atteinte aux prérogatives de l'autorité. La question peut néanmoins demeurer indécise car, supposé recevable, le recours devrait de toute façon être rejeté sur le fond.
2.
Le canton recourant estime que l'arrêt attaqué serait arbitraire et insuffisamment motivé. Selon l'art. 39 al. 9 let. b LIPAD, la transmission de données personnelles à un tiers privé n'est possible - en l'absence d'une base légale ou réglementaire - que si un intérêt digne de protection du requérant le justifie, sans qu'un intérêt prépondérant des personnes concernées ne s'y oppose. La Chambre administrative aurait examiné la seconde condition mais pas la première, en omettant de rechercher si l'intimée disposait d'un intérêt digne de protection à accéder au document réclamé. Or, si la pharmacie concurrente n'avait pas d'intérêt digne de protection dans le cadre de la procédure relative à l'autorisation d'exploiter, il devrait en aller de même pour la présente procédure.
2.1. Appelé à revoir l'interprétation d'une norme cantonale sous l'angle restreint de l'arbitraire, le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs et en violation d'un droit certain. En revanche, si l'application de la loi défendue par l'autorité cantonale ne s'avère pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation en cause, cette interprétation sera confirmée, même si une autre solution - éventuellement préférable - paraît possible (<ref-ruling> consid. 4.3.1 p. 177; <ref-ruling> consid. 2.4 p. 5). En outre, il ne suffit pas que les motifs de la décision critiquée soient insoutenables; encore faut-il que cette dernière soit arbitraire dans son résultat (<ref-ruling> consid. 3.4 p. 53 et les arrêts cités).
2.2. L'arrêt attaqué se fonde sur les dispositions générales garantissant le droit d'accès, soit les art. 24 à 26 LIPAD. Considérant que le rapport litigieux constituait un document au sens de l'art. 25 LIPAD (ce que le canton recourant ne conteste pas), la cour cantonale a recherché s'il existait un intérêt opposé à la consultation en vertu de l'art. 26 LIPAD. Après analyse du document, elle a constaté que celui-ci portait sur les locaux et l'équipement et ne contenait aucune information couverte par le secret médical, les secrets d'affaires ou de fabrication. Evoquant l'art. 39 al. 9 LIPAD (qui pose des conditions supplémentaires pour la protection des données personnelles, telle l'exigence d'un intérêt digne de protection du requérant) et 27 al. 1 LIPAD (qui permet de caviarder le document requis), elle a considéré que les données personnelles contenues dans le document se limitaient à l'identité des futurs employés et à la sécurité de la pharmacie, et pouvaient aisément être caviardées sans nécessiter un travail disproportionné, de sorte qu'aucun intérêt prépondérant ne s'opposait à la communication.
Le dispositif de l'arrêt attaqué ordonne ainsi au DEAS de donner accès au rapport d'inspection "dûment caviardé de toutes données personnelles". Compte tenu de ce caviardage obligatoire, dont il n'y a pas lieu de douter qu'il sera réalisé de manière complète par le DEAS lui-même, la cour cantonale pouvait considérer sans arbitraire que la transmission litigieuse ne comportera en définitive aucune donnée personnelle, et que l'art. 39 al. 9 LIPAD n'y faisait donc pas obstacle puisque cette disposition s'applique exclusivement en cas de transmission de données personnelles.
Il n'y a dès lors aucun arbitraire, ni aucune violation de l'obligation de motiver sur ce point.
3.
Sur le vu de ce qui précède, le recours est rejeté, dans la mesure où il est recevable. Conformément à l'art. 66 al. 4 LTF, il n'est pas perçu de frais judiciaires de la part d'une collectivité dont les intérêts patrimoniaux ne sont pas en jeu. Le canton de Genève versera en revanche une indemnité de dépens à l'intimée A._ SA, qui obtient gain de cause avec l'assistance d'un avocat. L'intimée B._ SA a déclaré s'en rapporter à justice et a donc renoncé à procéder. Dès lors, en dépit des observations qu'elle a formulées, il n'y a pas lieu de mettre à sa charge des frais ou des dépens, ni de lui en allouer.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Une indemnité de dépens de 2'000 fr. est allouée à l'intimée A._ SA, à la charge du canton de Genève.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre administrative.
Lausanne, le 16 décembre 2016
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
Le Greffier : Kurz